claude-setups
v0.9.0
Published
Publish, discover, and mirror Claude Code setups — safely, via GitHub
Maintainers
Readme
People are sharing Claude Code setups everywhere — Reddit posts, GitHub repos, blog articles — but there's no single place to browse, compare, and install them. claude-setups is that place: a community registry where you publish your hooks, CLAUDE.md, skills, commands, and agents, and anyone can mirror your entire setup with one command.
Quick Start
npx -y claude-setups publish # share your setup
npx -y claude-setups mirror alice/setup # clone someone else's
npx -y claude-setups browse # explore the galleryWhat Gets Shared
| Shared (you review each file) | Never shared (no code path exists) |
|---|---|
| Plugin & marketplace identifiers | settings.json |
| MCP server names + commands | ~/.claude.json (OAuth tokens) |
| Hook scripts (hooks/*.sh) | MCP env sections (API keys) |
| CLAUDE.md and root *.md | Absolute filesystem paths |
| Skills, commands, agents | |
Features
Publish
npx -y claude-setups publishThat's it. The CLI uses claude -p to analyze your setup and suggest title, description, tags, and specialties automatically. You review the suggestions, confirm or edit, and publish. No flags needed.
By default, publish includes your hooks, CLAUDE.md, skills, commands, and agents as a bundle — showing each file for interactive include/exclude with gitleaks regex scanning. Nothing uploads until you type publish. Use --no-bundle to publish only plugin/MCP identifiers.
Flags (--author, --slug, --title, etc.) are still supported for scripting and CI.
Mirror
Replicate someone else's setup on your machine. One command installs plugins, marketplaces, MCP servers, and extracts bundle files — all idempotently.
npx -y claude-setups mirror alice/demo-setup- Installs plugins at the exact version the publisher exported
- Extracts hooks, skills, commands into
~/.claude/ - Backs up existing files as
.bakon conflict - Skips anything already installed (safe to re-run)
- Sets
chmod +xon hook scripts automatically
Browse
Explore published setups in the community gallery:
npx -y claude-setups browseOr visit the gallery directly.
Revoke
Remove a previously published setup from the registry:
npx -y claude-setups revoke --author yourname --slug my-setupHow It Works
┌──────────────┐ publish ┌──────────────────┐ GitHub Action ┌─────────────┐
│ your │ ──────────────► │ GitHub Issue │ ─────────────────► │ Registry │
│ ~/.claude/ │ descriptor + │ (setup:submission│ validate + move │ (gallery + │
│ │ bundle.tar.gz │ label) │ │ JSON API) │
└──────────────┘ └──────────────────┘ └──────┬───────┘
│
┌──────────────┐ mirror ┌──────────────────┐ │
│ their │ ◄────────────── │ Descriptor JSON │ ◄─────────────────────────┘
│ ~/.claude/ │ fetch + extract│ + bundle.tar.gz │
└──────────────┘ └──────────────────┘The registry is a static GitHub Pages site — no server, no database, no accounts beyond GitHub. Publishing creates a GitHub Issue; a GitHub Action validates and ingests it. Mirroring fetches static JSON + tarball.
Relation to claude-snapshot
| | claude-snapshot | claude-setups |
|---|---|---|
| Purpose | Backup & sync across your own machines | Share with the community |
| Audience | Private (your machines only) | Public (community gallery) |
| Reads settings.json | Yes | No |
| Use case | Multi-machine sync, disaster recovery | Discovery, showcase, one-command clone |
Both tools coexist. Use claude-snapshot for private backup; use claude-setups to share publicly.
Security
Sensitive files (settings.json, ~/.claude.json, MCP env sections) are excluded by design — no code path exists to read them. Content files go through interactive preview with gitleaks regex scanning before publish. Full details in docs/SECURITY_PREMISE.md.
Contributing
PRs welcome! See the registry repo for gallery/validation contributions.
