Repository navigation
FAQ
A governance layer for Claude Code that installs slash commands, hooks, guardrails, and a persistent memory system. It enforces a spec-first workflow and cuts token usage.
No. It only creates/manages files inside .claude/ and optionally .conductor/ (gitignored). Your source code is untouched.
Any stack. /cc-stack auto-detects from package.json, go.mod, Cargo.toml, pom.xml, build.gradle, pyproject.toml, Gemfile, and others.
No. The guards are process guardrails for cooperative agents, not a security boundary. They assume agent_type is reported honestly and do not cover every write path (e.g., Bash can still write files). See the Known Limits section in the README.
Install @latest (minimum 1.34.4). Older versions could strip or damage existing CLAUDE.md files.
Yes. Silent exit 0 is by design and is asserted by a test.
npx @yeison.restrepo.r/code-conductor@latest --projectThe installer is idempotent: it merges settings, preserves your content, and only updates managed sections.
Three options, in order of preference:
- Use the targeted alternative shown in the denial message (grep, glob, bounded read)
-
Add an allowlist entry in
.claude/memory/bash-scan-allowlist.txtwith a comment explaining why -
Set
CC_GUARD3_WARN=1for triage (ask instead of deny) — this is a triage aid, not a permanent setting
CC_HOOK_DEBUG=1 # shows diagnostic lines the hook normally swallows
CC_HOOK_ALLOW=1 # overrides an unparseable-input denial onlyDon't. If a specific guard is wrong, report it as an issue. The guards are the value proposition — disabling them returns you to unguarded Claude Code.
/cc-implement is manual: you drive each phase yourself. /cc-orchestrate is automated: it dispatches role agents through Define → Build → Verify with validation at every boundary.
# End the current run
node .claude/scripts/orchestrate.mjs end
# Start fresh
node .claude/scripts/orchestrate.mjs startYes. --auto skips pauses between role dispatches, but spec and plan approvals always require your explicit approval.
.claude/memory/project.md — committed to git, shared with your team.
~/.claude/memory/personal.md — local, never committed.
Before /compact, after completing a feature, and after key architectural decisions. The more you checkpoint, the less you re-explain.
Depends on your usage pattern. The biggest savings come from:
- Guard 1 blocking unbounded file reads
- Guard 3 blocking mass content dumps (47 denials measured in one real session)
- Memory-first lookup chain avoiding file reads entirely
- SNAP handoffs being 15%+ smaller than markdown
- Verbosity MIN producing one-sentence responses
The hooks are lightweight (pre-tool-use.mjs is pure Node, no model calls). Commands like /cc-spec and /cc-plan do consume tokens for their model work, but they prevent the much larger waste of building the wrong thing.
Getting Started
Core Concepts
Usage
Community