coding** — for features larger than a single function, outline phases and dependencies first.
3. **Test-driven** — write the test before the implementation; target 80%+ coverage.
4. **Review before committing** — check
proposed APIs for chat, language models, and editing
- **ESBuild**: Bundling and compilation
- **Vitest**: Unit testing framework
- **Python**: For notebooks integration and ML evaluation scripts
## Validating changes
Choose validation based
organized into key architectural layers:
### Root Folders
- `src/`: Main TypeScript source code with unit tests in `src/vs/*/test/` folders
- `build/`: Build scripts and CI/CD tools
- `extensions/`: Built-in extensions that
inherit from base classes in the root `/src/transformers` directory.
- `/tests`: This contains the core test classes for the library. These are usually inherited rather than directly run.
- `/models`: Tests
thing that fails if the logic breaks (an assert-based demo/self-check or one small test file; no frameworks, no fixtures). Trivial one-liners need no test
pipelines.
Most compiler development takes place in `tsc/internal`, and most behaviors can be tested via compiler tests.
Most development on the codebase is in Go.
Standard Go commands and practices
every PR
- **Typos or spelling** — Automated typo detection runs on every PR
- **Missing tests for trivial changes** — Handled by topic-specific test instructions
- **Import ordering or grouping** — Handled by linter
make install
```
### B. Backend CI-equivalent validation
Run from `backend/`:
```bash
make lint
make test
```
Validated results:
- `make lint`: pass (`ruff check .`)
- `make test`: pass (`277 passed, 15 warnings
Behavior Proof" with environment, exact commands or steps, observed result, and what was not tested.
3. Be strict about contributor verification: missing tests, missing runtime evidence, or placeholder PR text
were asked to reproduce a bug, brief a pull request, write or fix a test, re-sync a translation, find stale documentation, or make any change to the code (this
OmniRoute PR and Coverage Instructions
- Treat `npm run test:coverage` as a required gate for PR work.
- The repository minimum is `60%` for statements, lines, functions, and branches
gRPC-like protocol over VS Code message passing. Schemas in `proto/`.
- **MCP**: `src/services/mcp/McpHub.ts`.
## Build & Test (Critical — non-obvious commands)
- **Build**: `bun run compile` — NOT `bun run build`.
- **Watch
specific additions. See AGENTS.md for the shared cross-tool governance layer.
# Copilot-specific guidance
## Test generation
- Prefer unittest.TestCase for generated tests to match the existing test suite.
- Mock external calls
only. No Redux/MobX/Recoil.
- Use `shallow` comparison in `useStore` when selecting objects/arrays. Flag missing `shallow`.
## Tests
Rules: `.github/instructions/frontend-tests.instructions.md`. How to write one:
`frontend/src/test/README.md`. Reject any spec that would still pass against
style, package organization, error handling, and idiomatic patterns
- **[golang_tests.instructions.md](instructions/generic/golang_tests.instructions.md)**: Best practices for writing tests in Go, including table-driven tests, test structure, and integration testing
### Ember.js UI Development
- **[ember_general.instructions.md
Linux-side WSL components
- `src/shared/` — Shared code between Windows and Linux
- `test/windows/` — Windows-based tests (TAEF framework)
- `test/linux/unit_tests/` — Linux unit test suite
- `doc/` — Documentation source (MkDocs)
- `tools/` — Build and deployment