This file helps AI coding agents work effectively in the Lichtblick monorepo.
- Use Node.js 20+.
- Enable Corepack and install dependencies with Yarn 3.6.3:
corepack enable
yarn install- Use Yarn commands only (not npm or pnpm).
- Lint and auto-fix:
yarn lint - CI lint mode:
yarn lint:ci - Unit tests:
yarn test - Coverage:
yarn test:coverage - Type check (from contributing guide):
yarn run tsc --noEmit - Build internal packages:
yarn build:packages
Desktop app development (run in separate terminals):
yarn desktop:serve
yarn desktop:startWeb app development:
yarn web:serveE2E tests:
- Desktop:
yarn test:e2e:desktop - Web:
yarn test:e2e:web
desktop/: Electron app entry points (main/,preload/,renderer/,quicklook/)web/: Web app bundling and entry pointpackages/suite-base/: Shared core UI and logicpackages/suite-desktop/: Desktop-specific internal packagepackages/suite-web/: Web-specific internal packagepackages/suite/: Extension API typese2e/: Playwright end-to-end testsci/: CI and repository maintenance scriptspatches/: Yarn patch protocol patches for third-party dependencies
- Follow TypeScript strict patterns; avoid
anyunless necessary. - Prefer
undefinedovernull(except where React APIs require otherwise). - Use
tss-react/muipatterns for styling instead of ad-hoc styling approaches. - Keep component structure consistent with the contributing guide (
index.tsx, component file,types.ts,constants.ts,*.style.ts, tests). - New source files should include the MPL-2.0 license header used in this repo.
- If changing UI behavior, validate in both desktop and web modes when relevant.
- Add or update tests with code changes.
- Prefer targeted test runs while iterating; run broader suites before finishing.
- Unit tests use Jest and are typically colocated with source files (
*.test.ts/*.test.tsx). - E2E tests use Playwright and follow
{feature-name}.{platform}.spec.ts.
- Do not edit generated outputs unless the task explicitly requires it:
coverage/storybook-static/dist/.webpack/test-results/e2e/reports/e2e/tests/reports/desktop/e2e/tests/reports/web/e2e/tmp/
- Keep dependency patch changes isolated to
patches/and related dependency metadata.
- Main project guide: README.md
- Contributing and coding standards: CONTRIBUTING.md
- E2E testing details: e2e/README.md
- Package scripts and workspace configuration: package.json
- Package-specific notes: