{"id":51090371,"url":"https://github.com/episuarez/initialiser","last_synced_at":"2026-06-24T01:30:29.685Z","repository":{"id":363852318,"uuid":"1265147594","full_name":"episuarez/initialiser","owner":"episuarez","description":"One command to configure Claude Code for any project — auto-detects your stack and installs the right MCP servers, skills, and tools via an interactive TUI.","archived":false,"fork":false,"pushed_at":"2026-06-10T16:20:45.000Z","size":2923,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-10T17:21:01.519Z","etag":null,"topics":["ai-tools","anthropic","claude","claude-code","cli","developer-tools","mcp","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/episuarez.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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-06-10T14:03:15.000Z","updated_at":"2026-06-10T16:24:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/episuarez/initialiser","commit_stats":null,"previous_names":["episuarez/initialiser"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/episuarez/initialiser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/episuarez%2Finitialiser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/episuarez%2Finitialiser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/episuarez%2Finitialiser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/episuarez%2Finitialiser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/episuarez","download_url":"https://codeload.github.com/episuarez/initialiser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/episuarez%2Finitialiser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34713789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai-tools","anthropic","claude","claude-code","cli","developer-tools","mcp","nodejs"],"created_at":"2026-06-24T01:30:26.972Z","updated_at":"2026-06-24T01:30:29.675Z","avatar_url":"https://github.com/episuarez.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# init-claude\n\n\u003cdiv align=\"center\"\u003e\n\n![init-claude wizard](capture.gif)\n\n**One command to set up Claude Code the right way — in any project.**\n\n[![npm](https://img.shields.io/npm/v/@episuarez/init-claude?style=flat-square\u0026logo=npm)](https://www.npmjs.com/package/@episuarez/init-claude)\n[![Version](https://img.shields.io/github/package-json/v/episuarez/initialiser?style=flat-square\u0026label=version)](https://github.com/episuarez/initialiser/releases)\n[![CI](https://img.shields.io/github/actions/workflow/status/episuarez/initialiser/ci.yml?style=flat-square\u0026label=CI)](https://github.com/episuarez/initialiser/actions)\n[![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-orange?style=flat-square)](./LICENSE)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen?style=flat-square\u0026logo=node.js)](https://nodejs.org)\n[![Platform](https://img.shields.io/badge/platform-Windows-0078d4?style=flat-square\u0026logo=windows)]()\n[![Claude Code](https://img.shields.io/badge/Claude%20Code-compatible-blueviolet?style=flat-square)](https://claude.ai/code)\n\n\u003c/div\u003e\n\n---\n\n## Install\n\n\u003e Requires Node.js ≥ 18.\n\n**Option A — npm (recommended)**\n\n```bat\nnpm install -g @episuarez/init-claude\n```\n\n**Option B — git clone (with auto-update)**\n\n```bat\ngit clone https://github.com/episuarez/initialiser %LOCALAPPDATA%\\init-claude\ncd %LOCALAPPDATA%\\init-claude \u0026\u0026 npm install --omit=dev\n```\n\nAdd `%LOCALAPPDATA%\\init-claude` to your PATH.\n`init-claude update` will pull new versions automatically.\n\nThen, from any project:\n\n```bat\ninit-claude\n```\n\n---\n\n## Updating\n\n```bat\ninit-claude update\n```\n\nThis pulls the latest version (`git pull` + `npm install`) and **never breaks again**:\n\n- If your install is a git clone (Option B, or `install.cmd` on a machine with Git), it just updates.\n- If your install is an old copy-based one (xcopy, no `.git`), `update` **auto-converts it to a git repo in place** the first time, then updates — no manual reclone.\n- npm installs (Option A) update with `npm update -g @episuarez/init-claude`.\n\n\u003e If your install predates this auto-migration and `update` still complains it's not a git repo, re-run `install.cmd` (now clones via Git) or switch to npm. After that, `init-claude update` is all you ever need.\n\n---\n\n## What it does\n\nScans your project (languages, frameworks, size, CI, docs, design files), recommends the right Claude Code components and skills, and installs them — MCPs registered, `CLAUDE.md` written, git hooks wired.\n\n| Component | Group | What it does |\n|-----------|-------|-------------|\n| **context-mode** | Core | Session memory + output sandbox. Cuts context waste by ~98%. |\n| **sequential-thinking** | Core | Structured reasoning for architecture and design decisions. |\n| **context7** | Core | Up-to-date library docs (React, Next.js, FastAPI…) fetched at runtime. |\n| **RTK** | Core | Compresses Bash output 60–90% (git, npm, cargo, test runners). |\n| **autoskills** | Skills | Auto-installs curated, SHA-256-verified skills matched to your stack (React, Next, Vue, Zod, Tailwind…) via `npx autoskills`. |\n| **code-review-graph** | Analysis | Codebase dependency graph: impact analysis, multi-file search. |\n| **serena** | Analysis | Semantic LSP: go-to-definition, find-references, precise symbol search. |\n| **playwright** | Web | Browser automation, scraping, E2E testing via MCP. |\n| **claude-flow** | Orchestration | Multi-agent swarm / hive-mind for large parallel tasks. |\n| **SuperClaude** | Orchestration | 30 `/sc:*` workflow slash commands. |\n| **husky + lint-staged** | Git | Pre-commit hooks: lint and tests before every commit. |\n| **MCP Gateway** | Optimization | Consolidates many MCP servers behind one endpoint (~50% fewer tokens with a large MCP fleet). Opt-in. |\n| **MarkItDown** | Documents | Converts PDF/Word/Excel/PPT to Markdown for Claude to read. |\n| **Pencil** | Design | Vector design `.pen` files + pencil-to-code skill. |\n| **Figma Dev Mode** | Design | Reads Figma designs (requires Figma desktop + Dev seat). |\n\n**How defaults are chosen** — by cost asymmetry, not project size: zero-overhead universal wins (context-mode, sequential-thinking, context7, RTK) are always on; heavy MCPs (serena ~20 tools, playwright ~25, claude-flow +87) are pre-checked only with a real applicability signal — never just because the repo is big. claude-flow and Figma are opt-in. Anything already provided by an installed plugin or MCP is skipped to avoid duplicate tools.\n\n**Project skills** installed per-stack: `frontend-components` · `api-design` · `unity-conventions` · `e2e-testing` · `python-quality` — and, via the **autoskills** component, any stack-matched skills from the [autoskills](https://www.autoskills.sh/) registry.\n\n---\n\n## Usage\n\n```\ninit-claude                    Interactive wizard (recommended)\ninit-claude --yes              Apply recommended defaults without prompts\ninit-claude check              Doctor: installed tools, MCP Tool Search state, CLAUDE.md size\ninit-claude update             Self-update the app (git pull + npm install)\ninit-claude upgrade            Update installed components (npm, pipx, cargo)\ninit-claude add-skill \u003cid\u003e     Install a skill from the built-in catalog\ninit-claude add-skill \u003curl\u003e    Install a skill from any raw URL or GitHub repo\ninit-claude --version          Print version and exit\n```\n\n---\n\n## Your own rules — `user-rules.md`\n\nOn first run, init-claude creates `user-rules.md` in the app directory. Anything you write below the `---` separator is injected as a section into every `CLAUDE.md` the tool generates, in every project.\n\n- Gitignored — `init-claude update` never touches it.\n- Edit once, every future run picks it up automatically.\n- Per-project rules go in the `CUSTOM` block of each project's `CLAUDE.md` (also survives regeneration).\n\n```\n%LOCALAPPDATA%\\init-claude\\user-rules.md   ← global personal rules (all projects)\n\u003cproject\u003e\\CLAUDE.md  CUSTOM block          ← rules for that project only\n```\n\n---\n\n## Where session memory lives\n\nContext-mode stores data globally — not in your project:\n\n```\n~/.claude/context-mode/\n├── content/     indexed tool outputs (SQLite, hashed names)\n└── sessions/    session memory (same scheme)\n```\n\nQuery from inside Claude Code with `ctx_search` or `ctx stats`. Don't browse the files directly.\n\n---\n\n## Extending the catalog\n\n**Add a component** — edit `catalog/components.json`. No code changes needed:\n\n```jsonc\n{\n  \"id\": \"my-tool\",\n  \"name\": \"My Tool\",\n  \"group\": \"Analysis\",\n  \"desc\": \"Short description shown in the wizard.\",\n  \"recommendIf\": [\"frontend\", \"large\"],\n  \"alwaysOn\": false,\n  \"install\": { \"type\": \"npm\", \"pkg\": \"my-tool\" },\n  \"mcp\": { \"name\": \"my-tool\", \"cmd\": \"npx -y my-tool-mcp\" },\n  \"claudemd\": \"- `my-tool`: one-line hint injected into CLAUDE.md.\"\n}\n```\n\n**Add a project skill** — drop a `.md` file in `catalog/skills/` and add a record to `projectSkills` in `components.json`.\n\n**Remote skill registry** — create `config.json` with `{ \"registryUrl\": \"https://...\" }` pointing to a `{ \"skills\": [...] }` JSON. The wizard will offer those skills on every run.\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for full details.\n\n---\n\n## Installation options\n\n**Option A — npm** installs globally via npm. Update with `npm update -g @episuarez/init-claude`. No git required.\n\n**Option B — git clone** supports `init-claude update` (git pull + npm install) and lets you edit the catalog locally. Checks for updates once a day silently.\n\n**Option C — `install.cmd`** — clones via Git when available (auto-updatable with `init-claude update`) and updates PATH. Without Git it falls back to a plain copy (no auto-update). Re-running it on an old copy-based install reconverts it to a git clone.\n\n`init-claude upgrade` updates the installed *components* (Claude Code CLI, context-mode, pipx packages, RTK) regardless of which installation option you used.\n\n---\n\n## Requirements\n\n- **Node.js** ≥ 18\n- **Git** (option A + auto-update)\n- **Claude Code** CLI — `npm install -g @anthropic-ai/claude-code`\n- **Python + pipx** — optional (code-review-graph, MarkItDown, SuperClaude)\n- **Rust + cargo** — optional (RTK)\n- **uv** — optional (serena)\n\n---\n\n## License\n\nMIT with Commons Clause. Free for personal, open-source, and internal use. Attribution required on forks. Commercial redistribution requires a separate license — [contact](mailto:11500823+episuarez@users.noreply.github.com).\n\nSee [LICENSE](./LICENSE) for full terms.\n\n---\n\n## Author\n\n**Epifanio Suárez Martínez** — if you fork this, keep the attribution. If you build something commercial on top of it, let's talk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepisuarez%2Finitialiser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepisuarez%2Finitialiser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepisuarez%2Finitialiser/lists"}