Contributing to Copilot Orchestrator
March 2, 2026 · View on GitHub
Thank you for your interest in contributing! This document gets you started quickly. For the full contributor guide with architecture details, DI conventions, and PR requirements, see docs/CONTRIBUTING.md.
Quick Start
git clone https://github.com/JeromySt/vscode-copilot-orchestrator.git
cd vscode-copilot-orchestrator
npm install
npm run compile
npm run test:unit
code . # Then press F5 to launch Extension Dev Host
Build Commands
| Command | Description |
|---|---|
npm run compile | Type-check + esbuild bundle |
npm run test:unit | Run all unit tests (headless) |
npm run test:coverage | Tests + 95% line coverage enforcement |
npm run watch | Compile in watch mode |
npm run lint | ESLint |
npm run local-install | Package VSIX + install locally |
Key Rules
- Never
new ConcreteClass()outsidesrc/composition.ts— use dependency injection - Never
import * as vscodein business logic — only allowed insrc/vscode/,src/extension.ts,src/composition.ts,src/ui/ - Use Mocha TDD style —
suite()/test(), neverdescribe()/it() - 95% line coverage — enforced via c8
- Branch workflow — always create a feature branch, never commit to
maindirectly
Making a PR
git checkout -b feat/my-feature(from main)- Make changes + write tests
npm run compile && npm run test:unitgit push -u origin feat/my-feature- Create PR via
gh pr create --base main
Documentation
| Guide | Focus |
|---|---|
| Architecture | System design, class diagrams, sequence diagrams |
| Contributing (full) | Workflow, common tasks, PR checklist |
| DI Guide | Adding services, tokens, mocking |
| Testing | Test framework, patterns, coverage |
| Copilot Integration | MCP tools and agent delegation |
| Worktrees & Merging | Git isolation strategies |
| Groups | Visual hierarchy and namespacing |
License
By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.