Detect your project’s stack, configure the workflow, bootstrap documentation, and run a health check — all in one adaptive, interactive conversation that scales to your project’s maturity.
This is the entry point. Nothing else works well without it. /csetup creates the configuration, documentation, and project context that every other skill reads. After setup completes, the next step is /cspec to start your first feature.
Setup is adaptive — it classifies your project as greenfield (< 10 source files, < 10 commits), early-stage (10-100 source files), or mature (100+ source files, existing CI/tests/docs) and adjusts the flow accordingly.
/cspecIf setup is interrupted (context compaction, user stops), re-running /csetup detects the checkpoint and offers to resume from the last completed step instead of starting over. The checkpoint includes the current branch — if you’ve switched branches, it starts fresh.
Greenfield project:
User: /csetup
Agent: [creates task list: 7 items]
I see a new TypeScript project with 4 files. What are you building?
User: A REST API for a recipe sharing app.
Agent: Got it — REST API project.
Language: TypeScript, Package manager: pnpm. Looks right?
User: Yes.
Agent: [runs setup, bootstraps minimal docs, quick security check]
No secrets found, .gitignore looks good. You're set up.
Start your first feature: git checkout -b feature/my-feature
then run /cspec.
Mature project:
User: /csetup
Agent: [creates task list: 9 items]
I see a mature TypeScript project with 247 files, vitest, and GitHub Actions CI.
I'll learn your existing patterns — this takes a minute.
[scans codebase, discovers architecture, mines conventions]
Here's what I detected:
- Language: TypeScript, Test runner: vitest, Linter: eslint, Build: pnpm build
Does this look right?
User: Yes.
Agent: Conventions I found:
- 18/20 files use camelCase. 2 deviate — cleanup candidates?
- Two different error response formats in API routes. Want to pick one?
[drafts AGENT_CONTEXT.md from scan results]
Here's the AGENT_CONTEXT.md I'd write. Look good?
User: Yes.
Agent: Security checks: all clear. Want to see the full health card?
User: Yes.
Agent: Project Health Check — recipe-api (TypeScript/Express)
Score: 11/15 checks passing (4 items N/A for this stack)
[full health card with fixes offered]
| Reads | Writes |
|---|---|
| Project manifest files (package.json, go.mod, etc.) | .correctless/config/workflow-config.json |
| Existing ARCHITECTURE.md, AGENT_CONTEXT.md | ARCHITECTURE.md (populated or minimal stub) |
.correctless/config/workflow-config.json (architecture_state, agent_context_state) |
AGENT_CONTEXT.md (populated or minimal stub) |
| Source files (convention mining) | CLAUDE.md (conventions appended) |
| .env, .gitignore, CI configs | .correctless/artifacts/checkpoint-csetup.json |
| Git history (commit conventions) | .pre-commit-config.yaml (if accepted) |
.github/workflows/ci.yml (if accepted) |
|
.github/dependabot.yml (if accepted) |
|
.env.example (if accepted) |
|
.gitignore (additions, if accepted) |
|
| Linter/formatter config (if accepted) | |
| PR template (if accepted) | |
.claude/settings.json (Claude Code hook registration) |
The adaptive flow and health check run at all intensity levels. At high+ intensity, the setup additionally surfaces the workflow intensity setting (standard/high/critical) during config confirmation. Intensity configures STRIDE analysis, formal modeling, and stricter QA rounds.
.claude/settings.json, not git hooks. They coexist with Husky without conflict. The setup agent will acknowledge existing hook systems.jq required: The setup script uses jq for JSON manipulation. If jq is not installed, some config detection steps will fall back to manual detection. Install jq before running setup for the smoothest experience./csetup. It will offer to resume from where it left off (checkpoint valid for 24 hours, branch-scoped).workflow-config.json test pattern, it will offer to update the pattern. Fixing this during setup prevents frustration during the first /ctdd run.