← ClaudeAtlas

mir-initlisted

Make It Right (project init). Prepares a repository's Make It Right harness before feature work starts: detects the stack from lockfiles, confirms it through a deterministic picker (never guesses), resolves the matching mir-* skills, and generates the per-project artifacts — a thin AGENTS.md that names the applicable pillars, a CLAUDE.md that imports it, a .mir/manifest.json write policy, and a .claude/settings.json PreToolUse hook that enforces it — then runs a manifest-derived probe to prove the hook actually blocks the denied paths. It is a thin wrapper over the CLI at init/cli.py; it installs no software and generates no code. TRIGGER when a user is setting up a new or existing repo for AI coding agents, asks to 'prepare/scaffold/bootstrap the harness', to generate AGENTS.md/CLAUDE.md/hooks, or to choose and lock a stack. SKIP for writing feature code (that is the backend/frontend/mobile pillars and their gated pipeline), for one-off task constraints (the constraint-interrogator handles those at Gate 1),
anantbhandarkar/make-it-right · ★ 15 · AI & Automation · score 81
Install: claude install-skill anantbhandarkar/make-it-right
# /mir-init · Make It Right (project init) Prepare a repo's harness once, before feature work. This skill drives the CLI; it does not reimplement it. The CLI lives at `init/cli.py` in the make-it-right repo (or run `bin/mir`). ## What it does, in order 1. **Detect.** Read `package.json`, `go.mod`, `Cargo.toml`, `requirements.txt`, `pyproject.toml`, `Gemfile`, `composer.json`, `mix.exs`, `*.xcodeproj`. Detection **proposes** with "detected X because Y" and a confidence; it never silently decides. Two frameworks in one pillar is a conflict you must resolve, not a guess. 2. **Confirm through the picker.** The options are derived from the installed skill tree, so they are always in sync with what exists. Present them with `AskUserQuestion`; pre-fill the detected answers. A stack with no skill is an explicit "Something else" choice — recorded as a gap, never dropped. Do not let the user skip a genuinely ambiguous or high-stakes choice. 3. **Resolve** the answers to the coarse→fine skill set (pillar → tier → module), with `mir-devsecops` always included (security by default). 4. **Generate** the artifacts (see below). `--dry-run` prints the plan and writes nothing. 5. **Verify.** Run `.mir/probe.py` against the generated guard. The probe derives its attacks from the manifest and includes positive controls, so a missing or broken guard fails loudly instead of reading as "everything blocked." ## Run it ```bash python3 init/cli.py init . # or