Thanks for your interest in improving PHARN. The full contributor guide lives in docs/contributing.md — start there.
- How to contribute →
docs/contributing.md(setup, quality gates, branch naming, commit style, test map, doc maintenance) - Where your change goes →
CLAUDE.mdarchitecture section and the test map - The rules of the repo →
CLAUDE.md(source of truth — read it before adding, editing, or removing anything) - User-facing docs →
docs/ - Community standards →
CODE_OF_CONDUCT.md
- Open an issue first for any non-trivial change. PHARN is small-surface on purpose.
- Install:
cd pharn-cli && npm install(dev-only tooling; onlydist/ships to npm). - Run the gates before pushing — all four must pass (this is exactly what CI runs):
npm run format:check·npm run lint·npm run typecheck·npm test - Branch:
feat/…,fix/…, ordocs/…. - Commit in Conventional Commits style, one logical change per commit.
- Tests first — when changing wizard behavior, update the matching
tests/*.test.tsbefore touching code. The suite mirrorssteps/andlib/one-to-one. - Security-sensitive files (
lib/validate.ts,lib/manifest.ts,lib/install-modules.ts) — preserve the validation invariants (regex allowlists,safeJoinpath guard,redirect: 'error', timeout/size caps,schemaVersion === 1) called out inCLAUDE.md. - Keep docs in sync — see the Documentation maintenance table.
This project follows our Code of Conduct. By participating, you are expected to uphold it.
By contributing, you agree your contributions are licensed under the repository's Apache 2.0 license.