VS Code extension that generates structured, semantic commit messages using GitHub Copilot's language models.
- Language: TypeScript
- Platform: VS Code Extension API
- Build: tsc (TypeScript compiler)
- Test: Mocha
- Lint: ESLint + Prettier
- Package: @vscode/vsce
| Path |
Purpose |
src/ |
Extension source code |
src/services/ |
Core services (git, copilot, model manager, logger) |
src/templates/ |
Commit message style templates & prompts |
src/test/ |
Mocha test files |
scripts/ |
Build/setup scripts |
media/ |
Icons and assets |
out/ |
Compiled output (gitignored) |
| Action |
Command |
| Compile |
npm run compile |
| Watch |
npm run watch |
| Test |
npm run test |
| Lint |
npm run lint |
| Format |
npm run format |
| Package |
npm run package |
- extension.ts — Entry point, registers commands and initializes services
- gitService.ts — Interfaces with VS Code's Git extension API
- copilotService.ts — Sends prompts to Copilot LLM, cleans responses
- modelManager.ts — Manages model selection and status bar
- styles.ts — Defines 8 built-in commit message style prompts
- Use imperative mood in commit messages
- Follow Conventional Commits format
- Extension activates on
workspaceContains:.git
- All user-facing strings go through VS Code API (
vscode.window)