Set up your local environment to contribute to kidd.
- Node.js >= 22.0.0
- pnpm 10.x (
corepack enableto activate) - Git
- Claude Code CLI (optional but recommended)
gh repo fork joggrdocs/kidd --clone
cd kiddpnpm installRun the full CI check suite to confirm everything works:
pnpm lint && pnpm format && pnpm typecheckpnpm testRead the project docs in this order:
CLAUDE.md-- tech stack, project structure, available commandscontributing/concepts/architecture.md-- system layers, packages, and data flowcontributing/concepts/cli.md-- commands, context, middleware, and error flow- Relevant standards in
contributing/standards/as needed
The repo includes built-in configuration for Claude Code:
| File | Purpose |
|---|---|
CLAUDE.md |
Persona, project structure, tech stack, and commands |
.claude/settings.json |
PostToolUse hooks that auto-format and lint TypeScript files on save |
.claude/rules/typescript.md |
Functional programming rules Claude follows for all packages/**/*.ts files |
Confirm all checks pass:
pnpm lint && pnpm format && pnpm typecheck
pnpm testIssue: Running pnpm returns "command not found."
Fix:
corepack enableIssue: Build or install fails after checking out a different branch.
Fix:
pnpm installIssue: Git hooks block your commit or push with lint/format/typecheck errors.
Fix: Fix the reported issues and re-commit. The hooks run automatically via Lefthook -- see lefthook.yml for the full hook configuration.