Skip to content

chirag127/TabGroupSaver-Session-Manager-VSCode-Extension

Repository files navigation

TabGroupSaver Session Manager VSCode Extension

Build Status Code Coverage Tech Stack Lint License Stars


🎯 Quick Value Proposition (BLUF)

Save, restore, and organize groups of VS Code tabs as named sessions—boosting focus and workflow continuity. Auto‑save, default groups, and scoped storage make session management effortless for developers of any size.


📂 Repository Architecture

text TabGroupSaver-Session-Manager-VSCode-Extension/ ├─ .github/ │ └─ workflows/ci.yml ├─ src/ │ ├─ commands/ # VS Code command implementations │ ├─ services/ # Session persistence & auto‑save logic │ └─ utils/ # Helper utilities ├─ tests/ │ └─ *.test.ts # Vitest unit & integration tests ├─ scripts/ │ └─ build.ts # Build automation ├─ package.json ├─ biome.json ├─ tsconfig.json └─ README.md

Feature‑Sliced Design (FSD) applied at the src/ level for clear separation of concerns.


📑 Table of Contents


🚀 Installation

bash

Clone the repository

git clone https://github.com/chirag127/TabGroupSaver-Session-Manager-VSCode-Extension.git cd TabGroupSaver-Session-Manager-VSCode-Extension

Install dependencies (uses npm; compatible with pnpm/yarn)

npm ci

🛠️ Usage

  1. Open VS Code and press Ctrl+Shift+P.
  2. Run "TabGroupSaver: Save Current Session" to capture the active tab set.
  3. Retrieve saved sessions via "TabGroupSaver: Restore Session".
  4. Configure default groups and storage scopes in the extension settings (File → Preferences → Settings → TabGroupSaver).

📦 Development Standards

Scripts

Script Description
npm run lint Run Biome linter (auto‑fix enabled).
npm run test Execute Vitest suite with coverage.
npm run build Compile the extension (vsce package).
npm run watch Watch source files and rebuild on change.

Principles

  • SOLID: Each service adheres to single responsibility and dependency inversion.
  • DRY: Shared utilities live under src/utils/.
  • YAGNI: Features are added only when a concrete need is identified.

Verification Commands

bash npm run lint # Lint & format npm run test # Unit & integration tests npm run build # Build VSIX package

All CI checks mirror these commands to guarantee consistency.


🤖 AI Agent Directives

Expand to view agent directives

Core Identity & Prime Directive

  • Role: Apex Technical Authority – deliver zero‑defect, high‑velocity VS Code extension.
  • Mission: Enable developers to persist and restore workspace states instantly.

Tech Stack

  • Language: TypeScript (strict mode).
  • Package Manager: npm (compatible with pnpm/yarn).
  • Linter/Formatter: Biome.
  • Testing: Vitest (unit & integration), with coverage reported to Codecov.
  • Build: VS Code Extension (vsce).

Architectural Patterns

  • Feature‑Sliced Design (FSD) – logical grouping of commands, services, and utilities.
  • Hexagonal/Ports‑&‑Adaptersservices/ act as core domain, extension/ as adapters.
  • SOLID, DRY, YAGNI enforced throughout.

Verification / CI Commands

bash

Lint & auto‑fix

npm run lint

Test with coverage

npm run test

Build VSIX package

npm run build

The CI workflow (.github/workflows/ci.yml) runs the above in sequence on every push and pull request.

Continuous Improvement Loop

  1. Monitor: Badge status & coverage metrics.
  2. Analyze: On failure, auto‑trigger a re‑run with increased concurrency (max 5 workers).
  3. Heal: Agents may suggest patches; PRs must pass all checks before merge.

🤝 Contributing

Please read the CONTRIBUTING.md for guidelines on how to propose enhancements, report bugs, and submit pull requests.


📄 License

This project is licensed under the Creative Commons Attribution‑NonCommercial 4.0 International (CC BY‑NC 4.0). See the LICENSE file for details.

About

A VS Code extension that lets you save, restore, and organize groups of open tabs as named sessions, featuring auto‑save, default groups, and multiple storage scopes.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors