| 1 | # Playbook: чистая установка стека знаний (ANM + kb-public → personal) |
| 2 | |
| 3 | **Статус:** active · v1.1 · 2026-05-19 |
| 4 | **Назначение:** протокол для **нового пользователя** и **агента** (agent-notes-mcp + публичный срез kb-public → личный канон chmod **u**). |
| 5 | |
| 6 | **Поставка kb-public:** этот playbook + **`templates/newcomer/`** (см. `templates/README.md`). |
| 7 | |
| 8 | **Триггеры:** «чистая установка», «первый раз», «настроить agent-notes», «скачал kb-public», «завести personal», «clean setup». |
| 9 | |
| 10 | **Не путать:** поднять **свою организацию** (`{ORG_SLUG}/kb` + kb-public) — [`playbook-org-kb-white-label-v1.md`](playbook-org-kb-white-label-v1.md). Здесь — **участник**, который читает **чужой или свой** public slice и ведёт **personal**. |
| 11 | |
| 12 | --- |
| 13 | |
| 14 | ## Модель chmod ugo |
| 15 | |
| 16 | | chmod | Слой | MCP | |
| 17 | |-------|------|-----| |
| 18 | | **u** | personal (primary) | без `knowledge_root_id` | |
| 19 | | **g** | group (`{ORG_SLUG}/kb`) | `knowledge_root_id=group` | |
| 20 | | **o** | kb-public | `knowledge_root_id=public` | |
| 21 | |
| 22 | --- |
| 23 | |
| 24 | ## Фаза 0 — машина |
| 25 | |
| 26 | .NET SDK, Git, Cursor; пути без пробелов — желательно. |
| 27 | |
| 28 | --- |
| 29 | |
| 30 | ## Фаза 1 — agent-notes-mcp (ANM) |
| 31 | |
| 32 | 1. Собрать MCP из репозитория **agent-notes-mcp** (upstream open source, MIT) — `dotnet publish`. |
| 33 | 2. TOML: пример в репо ANM или **`templates/newcomer/template-clean-setup-agent-notes-mcp-toml-v1.toml`** (подставить **свои** пути). |
| 34 | 3. Cursor `mcp.json`: `"args": ["--config", "<path-to-toml>"]`. |
| 35 | |
| 36 | До personal: `primary = "public"` (путь к **вашему** clone kb-public). |
| 37 | |
| 38 | --- |
| 39 | |
| 40 | ## Фаза 2 — personal |
| 41 | |
| 42 | 1. Репозиторий personal kanon (`agent-notes` или свой fork) — минимум `knowledge/work/local/` + `agent-notes.md`. |
| 43 | 2. TOML: `primary = "personal"`, roots personal + public (пути к **вашим** клонам). |
| 44 | 3. Шаблоны: **`templates/newcomer/`** → см. `templates/newcomer/README.md`. |
| 45 | 4. Перезапуск MCP. |
| 46 | |
| 47 | --- |
| 48 | |
| 49 | ## Фаза 3 — `work/local/` в personal |
| 50 | |
| 51 | | Экземпляр | Шаблон | |
| 52 | |-----------|--------| |
| 53 | | `work/local/workspace-scope-map-v1.md` | `templates/newcomer/template-clean-setup-workspace-scope-map-v1.md` | |
| 54 | | `work/local/knowledge-roots-index-v1.md` | `templates/newcomer/template-clean-setup-knowledge-roots-index-v1.md` | |
| 55 | | hot-секции | `templates/newcomer/template-clean-setup-hot-*.md` | |
| 56 | |
| 57 | Каталог `work/` в **kb-public нет** — шаблоны лежат в `knowledge/templates/newcomer/`. |
| 58 | |
| 59 | --- |
| 60 | |
| 61 | ## Фаза 4 — group (опционально, участник существующей org) |
| 62 | |
| 63 | Если команда уже ведёт **`{ORG_SLUG}/kb`** (private): |
| 64 | |
| 65 | 1. Доступ к clone group + строка в TOML: `[[knowledge.read_only]]` id = `group`. |
| 66 | 2. Заполнить `knowledge-roots-index-v1.md` (какие файлы только в group). |
| 67 | 3. Hot: `template-clean-setup-hot-knowledge-roots-routing-v1.md`. |
| 68 | 4. Smoke: `read_knowledge_file` + `group/smoke-test-v1.md` + `knowledge_root_id=group`. |
| 69 | |
| 70 | **Основатель org** (создание `{ORG_SLUG}/kb`, seed, public push) — **не** эта фаза; см. [`playbook-org-kb-white-label-v1.md`](playbook-org-kb-white-label-v1.md). |
| 71 | |
| 72 | --- |
| 73 | |
| 74 | ## Фаза 5 — готово |
| 75 | |
| 76 | MCP, primary=personal, scope-map, при необходимости public/group read-only. |
| 77 | |
| 78 | --- |
| 79 | |
| 80 | ## Поведение агента |
| 81 | |
| 82 | 1. Playbook + `templates/newcomer/README.md`. |
| 83 | 2. Опрос → только оставшиеся фазы. |
| 84 | 3. **Не** подставлять в инструкции чужой org slug (например из примеров в исторических ADR) — спросить `{ORG_SLUG}` или пути пользователя. |
| 85 | 4. `memory_health` + `route_context`. |
| 86 | |
| 87 | --- |
| 88 | |
| 89 | ## Связанные документы |
| 90 | |
| 91 | - `templates/README.md`, `map-kb-three-contours-v1.md`, `playbook-org-kb-white-label-v1.md`, `adr/016-*` |
| 92 | |
| 93 | |