Contributing
Contributions should improve correctness, operator experience, and user-facing clarity.
Repository: github.com/frankievalentine/deku
Use the GitHub repository for issues, pull requests, and release history.
Before You Start
Section titled “Before You Start”- Read the Architecture page if your change touches the CLI, daemon, dashboard, or deploy pipeline.
- Check the current worktree before editing and avoid reverting unrelated changes.
- Keep changes in the smallest coherent slice you can review and verify.
- Prefer updating tests and docs in the same change when behavior changes.
Repository Areas
Section titled “Repository Areas”crates/deku: CLI commands and client behaviorcrates/dekud: Daemon, HTTP API, deploy pipeline, routing, and host integrationcrates/deku-core: Shared types and auth utilitiesdashboard/: Astro + React dashboarddocs/: Starlight documentation siteplugins/: First-party plugin cratesscripts/: Installer, release packaging, smoke tests, and local CI helpers
Recommended Workflow
Section titled “Recommended Workflow”- Start from an up-to-date local branch.
- Understand the affected area before editing.
- Make the smallest change that fully addresses the problem.
- Run targeted checks for the area you touched.
- Run broader checks before opening or updating a pull request when the change is cross-cutting.
- Update docs and operator guidance when command surfaces or workflows change.
Verification Expectations
Section titled “Verification Expectations”Rust changes:
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-features -- -D warningscargo test --allDashboard changes:
cd dashboardbun install --frozen-lockfilebun run lintbun run checkbun run buildDocs changes:
cd docsbun install --frozen-lockfilebun run checkbun run buildInstaller and packaging changes:
./scripts/test-install-smoke.shFull local CI pass:
./scripts/ci-local.sh./scripts/ci-local.sh matches the main CI expectations in .github/workflows/ci.yml: Rust formatting, clippy, tests, installer smoke coverage, dashboard checks, and docs checks.
Pull Request Recommendations
Section titled “Pull Request Recommendations”- Explain the user-facing problem and the behavioral change.
- Mention important tradeoffs, assumptions, and follow-up work.
- Call out any changes to command output, API shapes, install behavior, or deploy behavior.
- Include the exact verification you ran.
- Keep unrelated refactors out of the same PR unless they are required for correctness.
Documentation Expectations
Section titled “Documentation Expectations”If behavior changes, update the relevant documentation in the same change. Common files to keep aligned:
README.mddocs/AGENTS.mdwhen coding-agent workflow guidance changesCONTRIBUTING.mdwhen contributor workflow guidance changes.codex/deku-ops.mdwhen local run or test instructions change
Practical Recommendations
Section titled “Practical Recommendations”- Keep CLI and daemon behavior aligned. If a CLI command depends on a daemon response shape, update both sides together.
- Treat installation and deploy changes as high-risk. Run the installer smoke test when touching packaging, release artifacts, or setup flow.
- Preserve established dashboard and docs patterns unless the change is intentionally redesigning them.
- Prefer deterministic, non-interactive commands in scripts and docs.
- Do not silently change operator-facing workflows without updating the related docs.