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