Get Started Contributing
Set up your local environment to contribute to ciderpress.
Prerequisites
- Node.js >= 24.0.0
- pnpm 10.x (any recent pnpm will do — the
packageManagerfield pins the exact version and pnpm switches to it automatically) - Git
- Claude Code CLI (optional but recommended)
Steps
1. Fork and clone
2. Install dependencies
3. Verify the build
Run a full build and check suite to confirm everything works:
Build must run first so that workspace packages have compiled output for cross-package type checking.
4. Run the dev server
Start the ciderpress documentation site locally using the project-blessed script (package.json:22):
For non-TTY shells (tmux panes without a real PTY, background agent tasks, CI logs), use the headless variant — it skips the Ink TUI and emits plain log output:
Both run a sync + Rspress dev server on http://localhost:6174 with file watching.
5. Understand the project
Read the project docs in this order:
CLAUDE.md(repo root) -- tech stack, project structure, available commandscontributing/concepts/architecture.md-- packages, sync engine, and data flowcontributing/concepts/engine/overview.md-- sync engine, build vs dev, key concepts- Relevant standards in the Contributing overview as needed
6. Set up Claude Code (optional)
The repo includes built-in configuration for Claude Code:
Verification
Confirm all checks pass:
Build must run first so that workspace packages have compiled output for cross-package type checking.
Troubleshooting
pnpm not found
Issue: Running pnpm returns "command not found."
Fix:
Once pnpm is on your PATH it reads the packageManager field in the root
package.json and switches itself to the pinned version, so the globally
installed one only needs to be recent enough to bootstrap.
Lockfile mismatch after switching branches
Issue: Build or install fails after checking out a different branch.
Fix: