Continuous Context Development
CCD is the host-neutral continuity and governance kernel for AI coding.
It keeps the parts that should survive host churn, model churn, and session resets:
- project truth in the repo
- operator policy and durable memory in
~/.ccd - clone-local handoff and session state in workspace-local runtime state
Core Separation
repo/
project truth
AGENTS.md, README.md, specs, tests, source
~/.ccd/
operator state
policy, durable memory, project-local overlays
workspace-local state
clone-local handoff and active session state
That separation is the product. CCD is not trying to be the best agent host, the best IDE, or the best memory database.
- Project overlay: project-specific policy and durable memory under
~/.ccd/profiles/{profile}/repos/{project_id}/... - Workspace state: clone-local handoff and active session state for the current checkout
If a workspace loses its binding, use ccd repo relink to reconnect it to the right project overlay instead of rebuilding state from scratch.
Supported Install Paths
CCD supports two installation paths today:
| Path | Use it when | Maintenance posture |
|---|---|---|
cargo install ccd-cli |
First session, demos, routine adoption | Preferred and documented day-1 path |
git clone https://github.com/dusk-network/ccd.git /tmp/ccd && cargo install --path /tmp/ccd |
Contributing or testing unreleased changes | Supported contributor path; you own staying in sync with current source |
If you need backlog commands in the installed binary, add --features extension-backlog to either install command.
Homebrew, curl installers, and OS packages are not supported distribution channels yet.
Try It In 5 Minutes
Install the published CLI:
If you want the shipped skills:
Bootstrap one workspace:
ccd start --activate is the supported one-command raw CLI fast path. This is narrower than the old #386 coalescing idea: startup can collapse into one call, but close-out still stays explicit.
In JSON output, extension_dispatch is extension-owned context. Treat it as an opaque extension payload rather than a kernel-owned backlog or assignment contract.
Work normally. Use the two checkpoint surfaces intentionally:
ccd checkpoint is a distinct lightweight command that skips the expensive evaluation, candidate, and approval phases while still computing session boundary, context health, and surface digests. ccd radar-state remains the full evaluation path for wrap-up.
The --since-session flag compares surface digests against the session-start baseline and collapses unchanged surfaces to {"status": "unchanged"}, reducing token cost for mid-session checks. JSON output also reports session_delta.skip_stats, projection_telemetry.delta, estimated token counts by surface and projection format, and narrative/symbolic/bundle cache cadence so hosts can see what was actually refreshed.
If you want repo-local host integration assets, scaffold them explicitly:
Host posture is now tiered deliberately:
- Codex: human-driven
/ccd-startorccd start --activateremains the supported baseline; the launcher wrapper is optional convenience/eval harness only - Claude Code: native project hooks are the preferred path; manual
/ccd-startorccd start --activateis fallback only when those hooks are not installed - OpenClaw and Hermes: use explicit reference-adapter configs that call
ccd host-hookat lifecycle boundaries
Use --diagnostics or ccd telemetry report --output json --path . only when
you need payload analysis, projection-cache cadence, provider-cache correlation,
or prompt-cost diagnostics.
If you prefer the shipped skills, the core loop is:
/ccd-attach
/ccd-start
/ccd-checkpoint
/ccd-radar
What CCD Owns
- Continuity across sessions through clone-local handoff and session state
- Governance through layered policy, fail-closed writes, and explicit mutation boundaries
- Durable operator memory with promotion and compaction rules
- Host-neutral skill and CLI surfaces that survive IDE/runtime churn
What CCD Does Not Own
- Agent orchestration UX: your host or IDE owns that
- Semantic recall quality: providers like Mem0/OpenMemory and Graphiti own that
- Shared project facts: the repo remains the source of truth
CCD integrates with those systems through its read-only recall provider seam. External providers can use the optional command-session transport to amortize cold-start cost across sequential recall operations within a single command. See the Recall Provider Setup Guide for configuration.
Command Tiers
Implementation note: src/main.rs remains the canonical top-level CLI schema and command table, while domain-specific routing now lives in focused modules under src/commands/dispatch/. That keeps the public surface stable without leaving unrelated command wiring in one file.
Core
ccd attachccd initccd startccd statusccd checkpointccd radar-stateccd doctorccd sync
Advanced
ccd describeccd scaffoldccd checkccd consistencyccd hooks *ccd host installccd handoff *ccd memory *ccd rememberccd repo *ccd session openccd skills installccd telemetry report
Git-backed ccd session open belongs to /ccd-git-workflow when you need worktree or branch isolation. It is intentionally outside the default day-1 kernel loop.
Platform
ccd backlog *(requires a build with--features extension-backlog)ccd codemap *ccd context-checkccd escalation-state *ccd pod *ccd policy-checkccd runtime-state *ccd session-state gates *
Read Next
- Why CCD
- Quickstart
- Cheatsheet
- Host Startup Wrappers
- Session Liveness Contract
- Memory Architecture
- Memory Recall Providers
- Recall Provider Setup Guide
- Skills
- Kernel Contracts
- Implementation Matrix
- Runtime Builders
Safety
CCD's shipped skills and host integrations follow one contract:
- inspect read-only state first
- obey preview/apply or confirm-write metadata instead of guessing
- keep machine-readable stdout clean
- treat external queue snapshots as external context, not project truth
- keep Git workflow follow-through separate from startup and continuity loading
See docs/reference/agent-safety-contract.md for the full contract.