src/contains the core TypeScript codebase; Orbit-specific features live undersrc/vs/workbench/contrib/orbit/.extensions/holds built-in extensions (one folder per extension).build/andscripts/contain build tooling and helper scripts.resources/stores static assets used by the app.out/and.build/are generated build outputs.test/contains test runners and suites (unit,integration,smoke).
npm install: installs dependencies and runs repo/extension postinstall steps.npm run compile-client: compiles the main client TypeScript bundle.npm run compile: full compile for core + extensions.npm run buildreact: builds the React UI insrc/vs/workbench/contrib/orbit/browser/react/.npm run watch: continuous compilation for local development.- Developer Mode:
./scripts/code.bat(Windows) or./scripts/code.sh(macOS/Linux).
- Indentation: tabs by default; spaces for
package.json,*.yml, and*.yaml(see.editorconfig). - Keep names and module layout consistent with existing
src/vs/...patterns. - Linting tools:
npm run eslintfor JS/TS andnpm run stylelintfor styles.
- Test suites live in
test/(seetest/README.mdand subfolder READMEs). - Key runners:
npm run test-node(Mocha),npm run test-browser(Playwright),npm run test-extension(vscode-test). - Match existing test naming and structure in the target suite.
- No strict commit format observed; keep messages short and imperative (e.g.,
fix build on windows). - Open a PR for changes; issues are optional unless proposing a larger feature.
- Include a clear description, test results, and screenshots for UI changes.
- Do not use AI to write PR descriptions (per project guidance).
- Node version is pinned in
.nvmrc(20.18.2); usenvm useif available. - Windows builds require VS 2022 build tools (see
HOW_TO_CONTRIBUTE.md).