feat(skills): project-bootstrap 2.2.0→3.0.0 — модуль mappa-bootstrap-project (connect + конвенции + методика-install + manifest) [skip-tdd: visual] (task:1088, wiki:2672 решение 4)
This commit is contained in:
@@ -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` | <version> | cross-project policy |
|
||||
| `setup-interns` | <version> | interns MCP server install (one-time, per machine) |
|
||||
| `using-interns` | <version> | interns runtime policy + per-session permission grant |
|
||||
| `mappa-*` (методика, модуль 5.7) | <version of reference-package skills> | 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 <repo>/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": ["<mappa-repo>/dist/src/mcp-entry.js"],
|
||||
"env": { "MAPPA_CORE_URL": "...", "MAPPA_API_TOKEN": "..." } }
|
||||
Секреты — из pass (см. secret:<path> реф-стиль, 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 <name>...`). 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 <skills-repo> && 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` (модуль) | <project-bootstrap version> | 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
|
||||
|
||||
Reference in New Issue
Block a user