{"id":46649700,"url":"https://github.com/pjs7678/claude-dotfiles","last_synced_at":"2026-03-08T06:02:26.590Z","repository":{"id":340366192,"uuid":"1165720317","full_name":"pjs7678/claude-dotfiles","owner":"pjs7678","description":"Share, discover, and install Claude Code configurations","archived":false,"fork":false,"pushed_at":"2026-02-24T13:38:04.000Z","size":1149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-24T18:35:41.774Z","etag":null,"topics":["claude-code","claude-dotfiles","cli","dotfiles"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pjs7678.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-24T13:25:04.000Z","updated_at":"2026-02-24T13:38:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pjs7678/claude-dotfiles","commit_stats":null,"previous_names":["pjs7678/claude-dotfiles"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/pjs7678/claude-dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjs7678%2Fclaude-dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjs7678%2Fclaude-dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjs7678%2Fclaude-dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjs7678%2Fclaude-dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pjs7678","download_url":"https://codeload.github.com/pjs7678/claude-dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pjs7678%2Fclaude-dotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30246873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T05:41:50.788Z","status":"ssl_error","status_checked_at":"2026-03-08T05:41:39.075Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","claude-dotfiles","cli","dotfiles"],"created_at":"2026-03-08T06:02:25.831Z","updated_at":"2026-03-08T06:02:26.578Z","avatar_url":"https://github.com/pjs7678.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# claude-dotfiles\n\n**Share, discover, and install Claude Code configurations.**\n\nEvery Claude Code user's setup is different — plugins, skills, permissions, CLAUDE.md instructions, and settings all shape a unique workflow. `claude-dotfiles` makes it easy to share yours and learn from others.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"demo/demo.gif\" alt=\"claude-dotfiles demo\" width=\"720\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.ko.md\"\u003e한국어\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Why?\n\nYou spend hours configuring Claude Code — installing plugins like `superpowers`, `claude-hud`, and `context7`, writing custom skills, tuning permissions. But nobody else can see your setup. And when you see someone doing something amazing with Claude Code, you can't easily replicate their workflow.\n\n**claude-dotfiles fixes this.** It's like [dotfiles](https://dotfiles.github.io/) for Claude Code:\n\n- **Export** your `~/.claude/` config into a clean, shareable format\n- **Discover** how others use Claude Code by searching GitHub\n- **Install** someone else's setup with one command (merge, never overwrite)\n- **Rollback** if you don't like the changes\n\n## Install\n\n```bash\n# With bun (recommended)\nbun install -g claude-dotfiles\n\n# With npm\nnpm install -g claude-dotfiles\n```\n\nOr clone and link:\n\n```bash\ngit clone https://github.com/pjs7678/claude-dotfiles.git\ncd claude-dotfiles\nbun install \u0026\u0026 bun link\n```\n\n## Quick Start\n\n### 1. Export your setup\n\n```bash\nclaude-dotfiles init\n```\n\nThis scans your `~/.claude/` directory and generates a publishable package:\n\n- **Plugins** — which plugins you use and their versions\n- **Settings** — your `settings.json` (sensitive data auto-stripped)\n- **Permissions** — your permission rules from `settings.local.json`\n- **Skills** — custom skills from `~/.claude/skills/`\n- **CLAUDE.md** — your instruction files\n\nYou can also run it non-interactively:\n\n```bash\nclaude-dotfiles init \\\n  -o ./my-setup \\\n  -n \"my claude setup\" \\\n  -d \"Full-stack TypeScript with superpowers\" \\\n  -a \"your-github-username\" \\\n  -t \"typescript,react,superpowers\"\n```\n\n### 2. Publish to GitHub\n\n```bash\nclaude-dotfiles publish\n```\n\nCreates a GitHub repo with the `claude-dotfiles` topic so others can discover it.\n\n### 3. Discover setups\n\n```bash\nclaude-dotfiles search\nclaude-dotfiles search \"kubernetes\"\n```\n\nSearches GitHub for repos tagged with `claude-dotfiles`.\n\n### 4. Preview a setup\n\n```bash\nclaude-dotfiles show pjs7678/my-claude-dotfiles\n```\n\nShows what plugins, skills, settings, and permissions are in a setup — and compares against your current config.\n\n### 5. Install a setup\n\n```bash\nclaude-dotfiles install pjs7678/my-claude-dotfiles\n```\n\nInteractively pick which components to install. Everything is **merged, never overwritten**:\n\n| Component | Strategy |\n|-----------|----------|\n| Settings | Deep merge — your existing keys preserved, new keys added |\n| Permissions | Union — new rules appended, nothing removed |\n| Plugins | Additive — installs missing plugins only |\n| Skills | Copy — prompts on name collision |\n| CLAUDE.md | Append — never overwrites existing files |\n\nA backup is created automatically before any changes.\n\n### 6. Rollback\n\n```bash\nclaude-dotfiles rollback\n```\n\nRestore your config from a timestamped backup.\n\n## What Gets Shared\n\nWhen you run `init`, your config is **sanitized before export**:\n\n- Fields containing `key`, `token`, `secret`, `password` are stripped\n- Home directory paths (`/Users/you/`) are replaced with `~`\n- You see a full preview before anything is written\n\n**Example exported structure:**\n\n```\nmy-claude-dotfiles/\n├── claude-dotfiles.json    # manifest (name, description, components, tags)\n├── plugins.json            # plugin list with versions\n├── settings.json           # settings (sanitized)\n├── permissions.json        # permission rules\n├── skills/                 # custom skills\n│   └── my-skill/SKILL.md\n└── README.md               # auto-generated\n```\n\n## When to Use This\n\n| Situation | What to do |\n|-----------|------------|\n| \"I want to share my Claude Code workflow\" | `claude-dotfiles init \u0026\u0026 claude-dotfiles publish` |\n| \"I saw someone's cool Claude setup on Twitter\" | `claude-dotfiles show user/repo` then `install` |\n| \"I'm setting up Claude Code on a new machine\" | `claude-dotfiles install your-username/your-dotfiles` |\n| \"I want to see how others configure Claude\" | `claude-dotfiles search` |\n| \"I installed something and want to undo it\" | `claude-dotfiles rollback` |\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `claude-dotfiles init` | Export your current Claude Code setup |\n| `claude-dotfiles publish` | Push your setup to GitHub |\n| `claude-dotfiles search [query]` | Search for setups on GitHub |\n| `claude-dotfiles show \u003cuser/repo\u003e` | Preview a setup + diff against yours |\n| `claude-dotfiles install \u003cuser/repo\u003e` | Install a setup with selective merge |\n| `claude-dotfiles rollback` | Restore from backup |\n\n## Motivation\n\nClaude Code is transforming how developers work. But every user's experience is shaped by their configuration — and right now, there's no way to share that. You can't browse someone else's plugin stack, see their custom skills, or try their permission setup.\n\nThe [dotfiles](https://dotfiles.github.io/) tradition in Unix showed that sharing configs creates a virtuous cycle: people discover tools they didn't know existed, learn patterns from experienced users, and the whole community levels up.\n\n`claude-dotfiles` brings that same culture to Claude Code. When you can see that someone uses `superpowers` + `claude-hud` + `context7` together, or that they've written a custom skill for code review — you learn what's possible and get inspired to improve your own workflow.\n\nThe best way to get someone excited about Claude Code is to show them a great setup in action.\n\n## Contributing\n\nContributions welcome! This project is built with TypeScript + Bun.\n\n```bash\ngit clone https://github.com/pjs7678/claude-dotfiles.git\ncd claude-dotfiles\nbun install\nbun test        # 28 tests\nbun run dev     # run CLI locally\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjs7678%2Fclaude-dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpjs7678%2Fclaude-dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjs7678%2Fclaude-dotfiles/lists"}