dotclaude
A lean .claude/ setup for daily development. Seven specialist agents, twelve workflow skills, six modular rules, and eight safety/productivity hooks. No bloat, no model assignments, no opinions you can't override.
Get started
Two paths to the same place: a customized .claude/ in your project. Most people should pick the marketplace path. It's faster, there's nothing to clean up afterward, and you don't have to think about where files go.
Option 1 (recommended): install via the marketplace
Add the marketplace once on your machine, then install the all-in-one setup plugin:
/plugin marketplace add poshan0126/dotclaude
/plugin install setupdotclaude@dotclaude
Open your project in Claude Code and run:
/setupdotclaude
That's the whole flow. The setupdotclaude plugin carries the complete dotclaude kit (settings, rules, hooks, all agents and skills, the CLAUDE.md template) — but it doesn't dump it all into your project. When you run the slash command it deep-scans your codebase (manifests, real source and test files, directory layout, git workflow, existing AI configs), interviews you about scope and preferences, then proposes an install plan where every component is justified by evidence from the scan. Only the approved plan gets copied in, customized to your stack. Every change is confirmed before it's applied.
After it finishes, restart Claude Code so the new agents, skills, rules, and hooks load.
If you only want one or two pieces instead of the full kit, install them individually:
/plugin install code-reviewer@dotclaude
/plugin install safety-hooks@dotclaude
/plugin install ship@dotclaude
Full plugin list: code-reviewer, silent-failure-hunter, pr-test-analyzer, security-reviewer, performance-reviewer, doc-reviewer, frontend-designer, safety-hooks, setupdotclaude, catchup, claude-md, fix-issue, debug-fix, ship, pr-review, tdd, explain, refactor, test-writer, context-budget.
The safety-hooks plugin packages the four PreToolUse guards (dangerous commands, secret scanning, protected files, build artifacts) so you get deterministic guardrails without copying any files.
Plugins are semver-versioned (see each plugins/<name>/.claude-plugin/plugin.json); /plugin update picks up new releases.
Option 2: clone the repo
Pick this if you'd rather own the files in your dotfiles repo or skip the plugin layer entirely.
git clone https://github.com/poshan0126/dotclaude.git /tmp/dotclaude
cd your-project
mkdir -p .claude
cp /tmp/dotclaude/settings.json .claude/
cp -r /tmp/dotclaude/{rules,skills,agents,hooks} .claude/
cp /tmp/dotclaude/CLAUDE.template.md ./CLAUDE.md
cp /tmp/dotclaude/CLAUDE.local.md.example ./
chmod +x .claude/hooks/*.sh
rm -rf /tmp/dotclaude
echo "CLAUDE.local.md" >> .gitignore
Reload Claude Code, then run /setupdotclaude. It's the same skill as Option 1, just operating in reverse: since you copied the whole kit, it scans your project, builds the same evidence-based plan, and proposes removing the pieces your project doesn't need (plus repo artifacts like folder READMEs, .claude-plugin/, and hooks/tests/ if you did a bulk cp -r), then customizes what stays.
Troubleshooting
| Problem | Fix |
|---|
| Skills or agents not showing up | Restart Claude Code. Everything loads at session start. |
| Hooks not running | Run chmod +x .claude/hooks/*.sh and verify jq is installed. |
| "jq not found" blocking everything | Install jq: brew install jq (macOS) or apt install jq (Linux). |
| format-on-save not formatting | Make sure the formatter binary is installed and its config file exists in the project root. |
| Permission denied on allowed commands | Check the glob in settings.json. Bash(npm run test *) matches arguments after test. |
/setupdotclaude asks to confirm settings.json edits | Expected. protect-files.sh prompts when editing settings.json. Hook scripts stay hard-blocked. |
Make it yours
/setupdotclaude gets you most of the way. To take it the rest of the way:
rules/code-quality.md. Naming conventions to match your team's style. Comment guidelines, code marker format, import order.
rules/frontend.md. Pick your design principle. Highlight the component framework your project actually uses.
rules/security.md. Add paths specific to your project's sensitive areas, beyond the defaults.
CLAUDE.md. Architectural decisions, domain knowledge, workflow quirks unique to your project.
CLAUDE.local.md. Personal preferences (gitignored). Rename the .example file to start.
hooks/format-on-save.sh. Auto-detects Biome, Prettier, Ruff, Black, rustfmt, and gofmt. If your formatter isn't covered, add a detection block to the script.
The defaults are foundations. Your edits on top are what make Claude effective for your project.
Keep it tuned