Thanks for your interest in contributing! This document covers how to set up the project, run the checks, and submit changes.
This project uses pnpm as its package manager:
pnpm install --frozen-lockfileTests are written with Vitest:
pnpm vitest runBefore opening a pull request, make sure the following pass:
# Run the test suite
pnpm vitest run
# Validate architecture rules (import boundaries, layering)
node scripts/validate-architecture.mjs
# Validate release readiness (package exports, build artifacts)
node scripts/validate-release.mjsFor a logic change, run a small relevant workload against the before and after versions using the same runtime, inputs, and repetitions. Check correctness separately and record the timings and any observed noise in the change notes. Keep the check temporary and scoped to the changed logic, not a benchmark framework.
The skills/ directory contains agent skill files. Pull requests that touch skills/ are checked by the Validate Skills GitHub Actions workflow (.github/workflows/validate-skills.yml), which verifies frontmatter, that skill names match their paths, and that files stay under the 500-line limit.
Before making changes, read the guides in docs/ — they cover stores, selectors, reducers, sagas, and the public import boundaries that validate-architecture.mjs enforces.
- Fork the repository and create a branch for your change.
- Keep changes focused; follow the existing code style and patterns documented in
docs/. - Add or update tests for any behavior change.
- Run the required checks listed above.
- Open a pull request with a clear description of the change.
By contributing, you agree that your contributions will be licensed under the MIT License.