@claude-setup-skill/install
v0.1.0
Published
One-shot installer for the /claude-setup Claude Code skill — scaffolds context-aware .claude/ directories that earn their keep.
Downloads
156
Maintainers
Readme
Demo
A real /claude-setup run on the acme-saas Node monorepo (pnpm + turbo + Next.js + Hono + Drizzle). The skill detects the stack from lockfiles and package.json workspaces, scrapes hard rules from the README, and writes a path-scoped .claude/ tree:
Each rules/*.md is path-scoped (frontmatter paths:) so it only enters context when you open a file under that subtree. skills/release/ and skills/preview-deploy/ are wired to commands that actually exist in this repo (changeset + Vercel) — no TODO bodies, no docs-example boilerplate.
See examples/acme-saas.md for the full file-by-file breakdown including which README phrase encoded as which rule.
Install
Quickest — zero install, runs once:
npx -y @claude-setup-skill/installGlobal — keeps a claude-setup-install command around to rerun anytime:
npm i -g @claude-setup-skill/install && claude-setup-installFrom source — for contributing or live-editing the skill:
git clone https://github.com/sir-ad/claude-setup-skill ~/claude-setup-skill
cd ~/claude-setup-skill && ./install.shAll three populate ~/.claude/skills/claude-setup/. The npm methods copy files; from-source symlinks them so edits in your clone are immediately live.
Use
In any project:
cd ~/some-new-project
claude
> /claude-setupOptional flags:
| Flag | Effect |
|---|---|
| --minimal | only CLAUDE.md + .claude/settings.json |
| --skip-skills | skip skill generation |
| --dry-run | print the plan, write nothing |
The skill walks five phases:
- Detect — reads README, lockfiles, manifests, existing
.claude/. - Match template — picks one of
templates/<stack>.mdas the reference. - Plan — prints what it'll write; asks before clobbering.
- Generate — writes files with project-specific substitutions.
- Verify — prints final tree, line counts, and one verification step.
What it generates (when applicable)
| File | When |
|---|---|
| CLAUDE.md | always |
| .worktreeinclude | always |
| .claude/settings.json | always |
| .claude/rules/<n>.md | per significant subdir with distinct conventions |
| .claude/agents/<lang>-reviewer.md | always (read-only review subagent) |
| .claude/skills/release/ | if version file + CHANGELOG.md exist |
| .claude/skills/<other>/ | per detected workflow (db-migrate, preview-deploy, etc.) |
What it never generates:
.claude/output-styles/— no use-case-off-the-shelf.claude/commands/— Anthropic docs recommend skills for new workflows.claude/agent-memory/— auto-populated when subagents withmemory:frontmatter run- Empty folders
- Skills with TODO bodies
- Hard rules invented from thin air (only pulled from README / RFCs / ADRs)
Stacks supported
| Stack | Template |
|---|---|
| Rust workspace | templates/rust-workspace.md |
| Rust single crate | templates/rust-single.md |
| Node monorepo (npm / pnpm / yarn workspaces, turbo, nx, lerna) | templates/node-monorepo.md |
| Node single (Next.js, Vite, Astro, Express, ...) | templates/node-single.md |
| Python (Poetry, uv, pip, hatch, rye) | templates/python.md |
| Go | templates/go.md |
| Anything else | templates/generic.md |
To add a stack: drop a new templates/<name>.md, then add a detection branch in SKILL.md Phase 2.
Updating
Pull this repo, that's it — the symlink keeps the skill live:
cd ~/claude-setup-skill
git pullUninstalling
./install.sh --uninstallRemoves the symlink. Doesn't touch this repo or any project's .claude/ directories you've generated.
Why a skill, not a CLI
A skill is one markdown file Claude reads at runtime. The "context detection" is just Claude reading your project, which is already what Claude does best. A standalone CLI would either need a fixed templating engine (less context-aware) or shell out to the Claude API (more setup). Skill = zero install, maximum context-awareness, one file to maintain.
License
MIT. See LICENSE.
