| Document | Purpose | Location |
|---|---|---|
| Copilot Instructions | Detailed architecture and codebase conventions for agent work | .github/copilot-instructions.md |
src/: TypeScript source. Core entrysrc/index.ts. Feature areas insrc/converters/,src/features/,src/utils/,src/config/.tests/: Jest specs, naming*.spec.ts(example:tests/trafficlights.spec.ts).assets/: Static assets referenced by the extension.example-data/: Sample OSI/MCAP inputs for local testing.dist/: Build output generated byyarn run buildoryarn run package.docs/: Project documentation and plans.
yarn install: Install dependencies.yarn build: Build the extension intodist/.yarn local-install: Build and install into local Lichtblick for manual testing.yarn package: Create a.foxebundle.yarn test: Run Jest test suite.yarn lint: Run ESLint with auto-fix;yarn lint:cifor CI-style linting.
- Language: TypeScript (React where applicable); keep files in
*.tsor*.tsx. - Formatting: Prettier with 2-space indent, 100-char line width, semicolons, LF line endings.
- Linting: ESLint with
@lichtblickconfigs; follow lint fixes before committing. - Imports: Prefer path aliases from
tsconfig.json(@/,@utils/,@features/,@converters,@assets).
- Framework: Jest + ts-jest,
jsdomenvironment. - Test location/pattern:
tests/**/*.spec.ts. - Expectation: Add or update tests alongside changes to converters, metadata handling, or feature behavior.
- Commits follow Conventional Commits:
<type>(<scope>): <description>with 72-char max header. - Common types in history:
feat,fix,docs,style,refactor,test,chore,ci. - Always sign commits: use
git commit -s -S(DCO sign-off + GPG signature) for every commit. - Never mention "Copilot" in commit messages, PR descriptions, code comments, or any other repository content. Do not add
Co-authored-by: Copilottrailers. - PRs should include a short summary, testing notes (e.g.,
yarn test,yarn lint), and link related issues. CODEOWNERS are listed inCODEOWNERS; follow the repo’s required review rules.
- When running
yarn lint(autofix), only stage files that belong to your current change. Never commit autofixes to unrelated files. - Prettier changes are formatting-only and safe. ESLint autofixes (e.g.,
prefer-optional-chain) can alter logic — review every diff line before committing.