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>
This commit is contained in:
2026-04-28 20:27:51 +03:00
parent 6073c6d0e8
commit 724897d7c6
3 changed files with 212 additions and 25 deletions

View File

@@ -0,0 +1,104 @@
# 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`](../setup-wiki/) — creates the canonical `.wiki/` layout.
- [`setup-tasks`](../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):**
```powershell
bash scripts/install.sh project-bootstrap
```
**Linux / macOS (bash):**
```bash
bash scripts/install.sh project-bootstrap
```
`install.sh` works on Windows under git-bash. A native `install.ps1` is
[planned](../../.tasks/STATUS.md) 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
- [`setup-wiki`](../setup-wiki/) — companion, owns `.wiki/` layout.
- [`setup-tasks`](../setup-tasks/) — companion, owns `.tasks/` layout.
- [`using-wiki`](../using-wiki/) — runtime policy for working with `.wiki/`.
- [`using-tasks`](../using-tasks/) — runtime policy for working with `.tasks/`.
- Karpathy's LLM Wiki gist:
<https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f>