Contribute to Parcela
Parcela's Rust CLI supervises local development processes. Caddy handles HTTPS and routing. Read Architecture before changing lifecycle, routing, state, or process ownership.
Build and check code
Use Rust and Cargo. Live suites also need Caddy on PATH.
cargo build --locked
scripts/checkscripts/check runs formatting checks, Clippy with warnings denied, Rust tests, and Python tests. Use jj for version control in this repository and preserve unrelated working changes.
Verify live behavior
Use the isolated harness instead of starting this repository's environment for a test.
scripts/check-live
scripts/check-live docs-example
scripts/check-live recovery --case owner_crashEach fixture uses a disposable directory, isolated state, an untrusted test CA, and explicit ports from 30000 through 32767. The runner builds once and writes a JSON report per suite. --output DIR retains reports at a chosen path. --caddy PATH selects Caddy.
Do not change system trust or take over occupied listeners. Tests with a terminal must set PARCELA_NO_TRUST=1. Live sharing tests need disposable environments and must verify that shutdown removes mDNS names and Tailscale serve entries. Follow AGENTS.md for the full project constraints.
Write documentation
The documentation index is the user entry point. Keep each page focused on one reader need, following Diátaxis:
- Tutorials produce a working result with expected observations.
- How-to guides solve a named task.
- Reference pages describe commands, fields, defaults, and limits.
- Explanations describe concepts and design choices.
Use direct instructions and the names in the CLI and configuration. Put a fact in one canonical page and link to it elsewhere. Retain historical release notes rather than rewriting them as current instructions.
To add or move a page, update docs/website/content.mjs. Keep existing public routes when possible. Relative Markdown links must work in the repository and the built site. The site guide covers the build and checks.
Verify documentation changes
npm ci --prefix docs/website
npm run check --prefix docs/websiteIf you change runnable examples, also run their live suite. scripts/check-live docs-example verifies examples/docs-demo. The Claude Code installation block is checked by tests/test_skill_install.py through scripts/check.
Describe what you ran and any behavior you could not verify. A documentation build does not prove the app works. Do not publish, deploy, or change system configuration as part of verification.