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.
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.
bash
git clone https://github.com/chirag127/TabGroupSaver-Session-Manager-VSCode-Extension.git cd TabGroupSaver-Session-Manager-VSCode-Extension
npm ci
- Open VS Code and press Ctrl+Shift+P.
- Run "TabGroupSaver: Save Current Session" to capture the active tab set.
- Retrieve saved sessions via "TabGroupSaver: Restore Session".
- Configure default groups and storage scopes in the extension settings (
File → Preferences → Settings → TabGroupSaver).
| 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. |
- 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.
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.
Expand to view agent directives
- Role: Apex Technical Authority – deliver zero‑defect, high‑velocity VS Code extension.
- Mission: Enable developers to persist and restore workspace states instantly.
- 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).
- Feature‑Sliced Design (FSD) – logical grouping of commands, services, and utilities.
- Hexagonal/Ports‑&‑Adapters –
services/act as core domain,extension/as adapters. - SOLID, DRY, YAGNI enforced throughout.
bash
npm run lint
npm run test
npm run build
The CI workflow (.github/workflows/ci.yml) runs the above in sequence on every push and pull request.
- Monitor: Badge status & coverage metrics.
- Analyze: On failure, auto‑trigger a re‑run with increased concurrency (max 5 workers).
- Heal: Agents may suggest patches; PRs must pass all checks before merge.
Please read the CONTRIBUTING.md for guidelines on how to propose enhancements, report bugs, and submit pull requests.
This project is licensed under the Creative Commons Attribution‑NonCommercial 4.0 International (CC BY‑NC 4.0). See the LICENSE file for details.