← ClaudeAtlas

bootstrap-projectlisted

Bootstrap a fresh or existing repo with nyann. TRIGGER when the user says "set up this project", "initialize git workflow", "bootstrap this repo", "scaffold this project", "ngyamm this repo", "use my <name> profile" / "apply the nextjs-prototype profile" (profile mode). ALSO trigger on "standard setup" / "usual stack" / "the usual setup" / "install all the standard hooks" / "give this repo the usual setup" / "make this repo standard" / "install nyann" — these read as opinionated bulk setup, not narrow edits, even though they sound small. Also trigger on any phrasing that mentions wiring up git hooks + branching + conventions + docs as a single opinionated setup. DO NOT trigger on narrow requests like "add a lint hook" or "update CLAUDE.md" — those are edits, not bootstraps. DO NOT trigger on "audit this project" / "fix what's drifted" / "bring into compliance" — those are retrofit. DO NOT trigger on "check this project's health" / "is this healthy" — those are doctor. When in doubt, run the detection step and
thettwe/nyann · ★ 5 · Code & Development · score 77
Install: claude install-skill thettwe/nyann
# bootstrap-project You are executing nyann's main bootstrap flow. The goal is to take an empty directory, a fresh repo, or an existing messy repo and bring it up to the conventions in a nyann profile — without silently mutating anything. **Work in phases.** Each phase is one or more bash scripts in `bin/`. Never run a destructive action outside a preview-confirmed plan. If a phase emits a structured skip record (`{"skipped": "...", "reason": "..."}`), log it in your final summary and continue with the remaining phases. ## 0. Team profile freshness check (quick, non-blocking) Run `bin/check-team-staleness.sh` before starting. If it produces output, show the notification to the user (e.g. "Your team profiles have upstream changes. Run `/nyann:sync-team-profiles` to update before bootstrapping, or continue with the current versions."). Do not block — let the user decide whether to sync first. ## 1. Detect 1. Run `bin/detect-stack.sh --path <target>` and capture the JSON to a temp file (e.g. `bin/detect-stack.sh --path <target> > "${TMPDIR:-/tmp}/nyann-stack.json"`) so step 2 can pass it via `--stack`. Never proceed without it. 2. If `confidence < 0.6`, tell the user what you found and ask them to confirm the stack before continuing. Show the top two or three reasoning entries so they can see *why* you chose what you chose. 3. If `is_monorepo` is true, note it — bootstrap will auto-resolve per-workspace configs (hooks, lint-staged entries, commit scopes) usi