Contributing
Contribute focused changes with tests, clear documentation, stable events, and clean package responsibilities.
Development workflow
Use the Node version in .nvmrc, install repository dependencies, add tests for exported behavior, and run the full repository check before requesting review.
corepack enable
pnpm install --frozen-lockfile
pnpm check
pnpm test:browser:install
pnpm test:browserWalkthrough
Enable the package manager
Corepack selects the pnpm version declared by the repository.
Install dependencies
pnpm restores the exact workspace dependency graph from the lockfile.
Run repository checks
pnpm check covers formatting, lint, types, package builds, unit behavior, and rendered documentation.
Install browser engines
Playwright uses pinned Chromium, Firefox, and WebKit binaries for repeatable fixtures.
Run browser checks
pnpm test:browser checks keyboard behavior, focus, structure, and browser updates.
Review expectations
Keep core independent of browsers, DOM independent of React and AI frameworks, and adapters small. Never claim that an automated transcript or page update proves what a screen reader spoke.
- Every exported API requires tests and documentation.
- Every owned timer and subscription must be disposed.
- All queues and tracked identities remain bounded.
- Security reports follow SECURITY.md rather than public issues.