Files
claude-skills/skills/project-bootstrap/README.md
vitya 724897d7c6 docs: add English README for project-bootstrap; translate root README
- skills/project-bootstrap/README.md: new English README (modes,
  triggers, prerequisites, layout, install, see-also).
- README.md: translated to English; both root READMEs cross-link.
- README.ru.md: original Russian preserved (renamed from README.md);
  fixed broken `.wiki/source/repo-layout.md` link to point at the real
  path under `.wiki/concepts/`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 20:27:51 +03:00

4.3 KiB
Raw Blame History

project-bootstrap

Initializes or upgrades a project workspace in one pass: git, .gitignore, README.md, .wiki/ (Karpathy's LLM Wiki layout), .tasks/ (per-task board), and CLAUDE.md with skill triggers.

Operates in two modes, picked automatically:

  • init — empty or near-empty folder. Creates everything from scratch.
  • upgrade — existing project. Detects what's already there, only fills the gaps. Never overwrites without explicit confirmation.

When it triggers

The skill auto-activates on phrases like:

  • "initialize project", "bootstrap", "setup project"
  • "upgrade project", "add wiki", "add tasks"
  • "start project", "set everything up"
  • "let's start a project", "init"

It also triggers when an agent is launched in a fresh folder that the user clearly intends to turn into a workspace.

Prerequisites

project-bootstrap does not lay out .wiki/ or .tasks/ by itself — it delegates to two companion skills, which must be installed on the machine running it:

  • setup-wiki — creates the canonical .wiki/ layout.
  • setup-tasks — creates the canonical .tasks/ layout.

If either is missing, project-bootstrap stops with a clear error rather than falling back to ad-hoc creation. This keeps layout drift between projects bootstrapped at different times debuggable.

What it creates

Path Source Notes
.git/ git init Skipped if repo already initialized.
.gitignore assets/.gitignore.template Skipped if file exists.
README.md minimal stub Skipped if file exists.
.wiki/ delegated to setup-wiki Karpathy LLM Wiki layout — CLAUDE.md, index.md, log.md, overview.md, raw/, entities/, concepts/, packages/, sources/.
.tasks/ delegated to setup-tasks Canonical board — STATUS.md plus per-task <task-slug>.md files.
CLAUDE.md assets/CLAUDE.md.template Skill triggers (use superpowers, use project wiki, etc.). On non-Windows hosts, swap the we're on Windows line for we're on Linux / we're on macOS.
.wiki/concepts/bootstrap-manifest.md generated Records which skill versions initialized the project, so cross-project layout drift is debuggable.

Workflow

  1. Detect mode. Inspect the current directory — git, .wiki/, .tasks/, CLAUDE.md, README.md — and print a single summary block: what was found, what will be created, what will be skipped.
  2. Confirm. One question, one confirmation. Nothing is written before the user agrees.
  3. Steps 15. Create or skip each piece in order — git, README, .wiki/, .tasks/, CLAUDE.md. Steps 3 and 4 delegate to the setup-skills.
  4. Step 5.5. Write bootstrap-manifest.md recording the versions of project-bootstrap, setup-wiki, and setup-tasks used.
  5. Commit. chore: bootstrap project structure for fresh repos, or chore: upgrade project structure adding only the new files for existing ones. Pushes only on explicit user request.
  6. Summary. Final report — what was created, what was skipped, suggested next step.

Rules

  • Never overwrite an existing file without explicit user confirmation.
  • Always show the plan before touching the filesystem.
  • Never invent project details — read what's already there.
  • Commit only files just created — never touch the rest of the tree.
  • Push only after the user explicitly says so.

Install

From the repo root:

Windows (PowerShell):

bash scripts/install.sh project-bootstrap

Linux / macOS (bash):

bash scripts/install.sh project-bootstrap

install.sh works on Windows under git-bash. A native install.ps1 is planned but not required.

The skill installs to ~/.claude/skills/project-bootstrap/. Override the target with CLAUDE_SKILLS_DIR=/path bash scripts/install.sh ….

See also