diff --git a/skills/project-bootstrap/SKILL.md b/skills/project-bootstrap/SKILL.md index 4949aff..454d690 100644 --- a/skills/project-bootstrap/SKILL.md +++ b/skills/project-bootstrap/SKILL.md @@ -1,12 +1,14 @@ --- name: project-bootstrap author: ours -version: 2.2.0 +version: 3.0.0 description: > Initializes or upgrades a project in the current folder: git, .gitignore, README.md, .wiki/ using Karpathy's method, .tasks/ for task tracking, AGENTS.md (canon) with skill triggers + CLAUDE.md legacy pointer. Creates remote Gitea repo and syncs projects-meta cache for greenfield projects. + Includes the mappa-bootstrap-project module (v3, решение 4 mappa-as-product): + mappa MCP connect + mappa-конвенции + методика-install (версия в манифест). Use this skill when the user says "initialize project", "bootstrap", "setup project", "upgrade project", "add wiki", "add tasks", "start project", "set everything up", "create new project", or launches the agent in a new folder and wants a full setup. @@ -479,6 +481,12 @@ Skills used to initialize this project's `.wiki/` and `.tasks/` layout, with the | `project-discipline` | | cross-project policy | | `setup-interns` | | interns MCP server install (one-time, per machine) | | `using-interns` | | interns runtime policy + per-session permission grant | +| `mappa-*` (методика, модуль 5.7) | | mappa-циклы: session-orient / task-work / knowledge / messaging / delegation / brainstorm-promote / closing-ritual | + +Модуль `mappa-bootstrap-project` (решение 4 mappa-as-product) фиксирует +версию методики в этой строке — читать `version:` из frontmatter каждого +mappa-скилла, не хардкодить. Если пакет не установлен — `unknown` (видно +в депс-чеке 5.6). This file is overwritten if `project-bootstrap` is re-run on the same project. For history, use `git log .wiki/concepts/bootstrap-manifest.md`. ``` @@ -514,6 +522,9 @@ Mismatch between template and map → silent gaps in the recommendation. | `follow tdd-criteria` | `tdd-criteria` | skill | `~/.claude/skills/tdd-criteria/SKILL.md` | `bash scripts/install.sh tdd-criteria` | | `delegate to interns when allowed` | `using-interns` | skill | `~/.claude/skills/using-interns/SKILL.md` | `bash scripts/install.sh using-interns` | | `recommend, don't menu` | `recommend-dont-menu` | skill | `~/.claude/skills/recommend-dont-menu/SKILL.md` | `bash scripts/install.sh recommend-dont-menu` | +| `use project wiki` | `mappa-knowledge` | skill | `~/.claude/skills/mappa-knowledge/SKILL.md` | `bash scripts/install.sh mappa-knowledge` | +| `use task management system` | `mappa-task-work` | skill | `~/.claude/skills/mappa-task-work/SKILL.md` | `bash scripts/install.sh mappa-task-work` | +| `inbox monitor: raise on start` | `mappa-session-orient` | skill | `~/.claude/skills/mappa-session-orient/SKILL.md` | `bash scripts/install.sh mappa-session-orient` | | `we're on Windows` / `we're on Linux` / `we're on macOS` | `active-platform` | skill | `~/.claude/skills/active-platform/SKILL.md` | `bash scripts/install.sh active-platform` | ### Algorithm @@ -578,6 +589,96 @@ Mismatch between template and map → silent gaps in the recommendation. install some / all / none of the recommendations, or remove canonical lines from `AGENTS.md` to lean the project's trigger set down. +--- + +## Step 5.7 — mappa-bootstrap-project (модуль, решение 4 mappa-as-product) + +> Спека: `.wiki/concepts/mappa-as-product.md` (wiki:2672), решение 4. Модуль +> вызывается project-bootstrap'ом как шаг в режимах greenfield-full и upgrade. +> Скоуп: connect (MCP) + mappa-конвенции в AGENTS.md (idempotent merge) + +> методика-install (пакет из репо, версия в манифест) + manifest/deps-check. + +### 5.7.1 — Connect (MCP) + +Проверить, что mappa MCP-сервер зарегистрирован на этой машине. Канон — +`~/.claude.json` → `mcpServers.mappa` (stdio: `node /dist/src/mcp-entry.js`, +env `MAPPA_CORE_URL` + `MAPPA_API_TOKEN`). pi-рантайм читает ту же +регистрацию через MCP-адаптер. + +```bash +# POSIX / Windows (git-bash): +python -c "import json; d=json.load(open('$HOME/.claude.json')); print('mappa' in d.get('mcpServers', {}))" +``` + +- **Зарегистрирован** → пропустить, идти к 5.7.2. +- **Не зарегистрирован** → печать одного информационного блока (НЕ + авто-инсталл, то же правило что 5.6): + + ``` + ℹ️ mappa MCP не зарегистрирован (~/.claude.json mcpServers.mappa отсутствует). + Установка: собери репо mappa (npm run build) и добавь в mcpServers: + { "type": "stdio", "command": "node", + "args": ["/dist/src/mcp-entry.js"], + "env": { "MAPPA_CORE_URL": "...", "MAPPA_API_TOKEN": "..." } } + Секреты — из pass (см. secret: реф-стиль, wiki:2672 решение 11). + ``` + + mappa-конвенции в AGENTS.md (5.7.2) можно добавлять и без MCP-регистрации + — триггеры будут ждать установки сервера (как любой absent-скилл). + +### 5.7.2 — mappa-конвенции в AGENTS.md (idempotent merge) + +mappa-специфичные триггеры уже в каноне шаблона (Step 5) — `inbox monitor: +raise on start`, `use project wiki`, `use task management system`. Это не +отдельный merge: существующая идемпотентная машинерия Step 5 покрывает их. +Модуль только **верифицирует**: после Step 5 убедиться, что строки на месте +(та же substring-проверка что в Step 5 upgrade-merge). Если пользователь +сознательно убрал их из AGENTS.md — не возвращать (уважать выбор). + +### 5.7.3 — методика-install (пакет из репо, версия в манифест) + +Методика = reference-пакет (wiki:2672 решение 3/6): plain skills живут в +репо skills (`scripts/install.sh ...`). project-bootstrap НЕ хранит +тела — только указывает на пакет. + +1. Определить список mappa-циклов: `mappa-session-orient`, + `mappa-task-work`, `mappa-knowledge`, `mappa-messaging`, + `mappa-delegation`, `mappa-brainstorm-promote`, `mappa-closing-ritual`. +2. Проверить установку (все есть в `~/.claude/skills/` и + `~/.agents/skills/`)? → да: пропустить (upgrade-императив не дублировать). +3. Нет → печать информационного блока (НЕ авто-инсталл, правило 5.6): + + ``` + ℹ️ Методика mappa не установлена. Установка: + git clone && scripts/install.sh mappa-session-orient mappa-task-work ... + ``` + +4. Версия методики фиксируется в bootstrap-manifest (5.7.4): читать + `SKILL.md` frontmatter каждого mappa-скилла (`version:`), не хардкодить. + +### 5.7.4 — manifest/deps-check + +Манифест (Step 5.5) дополняется строкой методики — версия = версия +reference-пакета (репо skills, `version` из frontmatter скиллов). Добавить в +таблицу манифеста: + +| Skill | Version | Role | +|---|---|---| +| `mappa-bootstrap-project` (модуль) | | connect + конвенции + методика-install | + +Deps-check (Step 5.6): mappa-триггеры (`inbox monitor: raise on start`, +`use project wiki`, `use task management system`) маппятся на fulfiller'ы: + +| Trigger line | Fulfiller | Kind | Detection | +|---|---|---|---| +| `use project wiki` | `mappa-knowledge` | skill | `~/.claude/skills/mappa-knowledge/SKILL.md` | +| `use task management system` | `mappa-task-work` | skill | `~/.claude/skills/mappa-task-work/SKILL.md` | +| `inbox monitor: raise on start` | `mappa-session-orient` | skill | `~/.claude/skills/mappa-session-orient/SKILL.md` | + +Недостающие mappa-скиллы → в блок рекомендаций 5.6 (тем же форматом). + +--- + ## Step 6 — Commit ```bash @@ -607,6 +708,7 @@ Print a final report: .gitignore — standard template README.md — starter file remote — Gitea repo created and pushed + mappa — mappa-bootstrap-project: connect + конвенции + методика (модуль 5.7) Skipped (already existed): git — left untouched