Bootstrap projects with a production-ready Claude Code workflow in one command. Templates for .NET, Java, Python, Rust+Tauri, MAUI, or any language.
Claude Code Toolkit
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **Bootstrap a project with a production-ready Claude Code workflow in one command.** The cct plugin brings an opinionated agent team, skills and workflow-enforcement hooks to every session; six template variants drop the project side (instructions, workflow, MCP permissions, the plugin-off guard) into your repo — so /cct:commit, /cct:sprint, and the cct-gate build/test gate work the moment you're done.
✅ **For:** Claude Code users on Windows / macOS / Linux working in .NET, Java, Python, Rust+Tauri, .NET MAUI — or any other language (general).
---
Install
The toolkit's user level is the Claude Code plugin cct@dagonet (this repo is the marketplace dagonet). Install it once per machine, then restart the session:
- **Linux host:** bash scripts/install-user-level-linux.sh from a checkout installs the plugin (pinned to this checkout's release tag), writes ~/.claude/CLAUDE.md and merges settings.json, and moves any v4.x user-level leftovers aside. bash scripts/verify-user-level-drift.sh then reports 0 drift.
- **Windows PC moving from v4.x:** follow docs/plugin-migration-windows.md.
- **Cloud environments** (claude.ai/code, routines): a cloud session loads neither a repo's enabledPlugins nor your local plugins, so add this to the environment's setup script:
A synced project refuses every tool call while the plugin is not active in the session (BLOCKED: the cct plugin is not active in this session. ...); /plugin slash commands still work there. Every toolkit release then needs the plugin moved to the new tag and a session restart before the next /cct:sync-template. A #tag-pinned marketplace never advances on claude plugin update or claude plugin marketplace update; run claude plugin marketplace remove dagonet && claude plugin marketplace add dagonet/claude-code-toolkit# && claude plugin install cct@dagonet. The unpinned form above (/plugin marketplace add dagonet/claude-code-toolkit) tracks the default branch, and claude plugin update cct@dagonet advances it; only the pinned form needs the remove/add/install recipe.
What you get
- **6 template variants** (general, dotnet, dotnet-maui, rust-tauri, java, python) with language-specific build hooks, format gates, and conventions baked in.
- **10 agents from the plugin** (cct: ) — Explore, architect, code-reviewer, coder, ops, tester, plus the language coders dotnet-coder / rust-coder / java-coder / python-coder; each variant's CLAUDE.md names the one to spawn. Each one declares its own model: and effort:, so exploration runs on haiku and review on opus without the caller thinking about it.
- **9 plugin skills**, no slash-command directory: /cct:challenge, /cct:commit, /cct:sprint, /cct:sync-template, /cct:contribute-upstream, /cct:retro-review, /cct:jev, plus mcp-usage and karpathy-guidelines which auto-trigger. Anthropic merged custom commands into skills, so the toolkit ships one artifact type; the Gate: mechanism (cct-gate) replaced the old /build and /test commands, and the official skill-creator plugin replaced /skill-eval + /skill-improve.
- **Pre-wired MCP permissions** for git, github, dotnet, rust, ollama, sqlite, windows-mcp, searxng, open-brain, and more — registered once per scope, not per project.
- **File ownership you can point at** (v3.1): every template file carries a class — template (the toolkit's, overwritten on sync), once (seeded, then yours forever), and project-by-absence (a file the table does not name is yours). setup-project records it per file in a manifest with a sha256: hash, so /cct:sync-template stops guessing which of your edits it is allowed to discard. Your own instructions live in .claude/project-instructions.md (a once file that CLAUDE.md's last line imports; since v4.1.0 CLAUDE.md itself is template-owned and carries no PROJECT-CUSTOM region).
- **Workflow enforcement hooks**: the git/gh CLI is allowed and *gated* — the hooks parse the command and stop a red-gate commit, a push to main, and an ungated merge; plus delegation enforcement (the orchestrator never edits code or runs builds), a Read size gate, an agent tool-call budget, and a retro ledger that records subagent failures and replays them at the next session start.
Model & effort policy
Every agent file declares its own model: and effort:, so cost follows the job instead of the session. The **session** effort level ships unset — Opus 5 / Fable 5 pick their own default per step; raise it per role with the agent's effort:, or /effort for one session. The orchestrator model is a /model choice at session start: fable for T3/T4 (multi-file or architectural) work, opus for T1/T2.