mister-wolf 2.22.0 → 2.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,7 +51,7 @@ wolf bootstrap
51
51
  ```
52
52
 
53
53
  - **Path A — memory:** `wolf init` connects the project minimally — the `.wolf/` skeleton and `AGENTS.md`; it writes no platform configs and no base set. What a clean run prints: `memory skeleton: ensured`, `base set: AGENTS.md created`, the init-report id.
54
- - **Path B — OpenCode organization:** `wolf init --full --platform opencode` renders the full base set (6 agent frames, 19 skills, 3 commands, 2 plugins, seeded playbook faces) and writes `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). **Restart opencode** after it — the MCP server and the default agent connect at startup. Claude Code will ask you to approve the project-scope MCP server on first start — that is expected.
54
+ - **Path B — OpenCode organization:** `wolf init --full --platform opencode` renders the full base set (6 agent frames, 20 skills, 3 commands, 2 plugins, seeded playbook faces) and writes `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). **Restart opencode** after it — the MCP server and the default agent connect at startup. Claude Code will ask you to approve the project-scope MCP server on first start — that is expected.
55
55
 
56
56
  - **Try it without installing:** `npx mister-wolf init` — try-out mode: creates the `.wolf/` memory skeleton but never writes MCP configs or the base set. Like it? `npm install -g mister-wolf` and run `wolf init` again.
57
57
  - **Updating:** `wolf upgrade` — one command updates everything: the npm phase (`npm install -g mister-wolf@latest`) is followed by the update pass over all registered projects (stamped base-set files and seeded faces; deletions only with confirmation). `--check` reports CLI + park freshness without installing; `--here` updates only the current project (no npm, no registry); `--yes` skips the confirmation and backs up whatever it overwrites. Dev/linked installs are refused honestly. `wolf sync` is deprecated → `wolf upgrade --here` (the alias still works and re-renders stamped files; its DEPRECATED notice still says `removed in 2.20.0` — stale wording, the command is alive).
package/README.ru.md CHANGED
@@ -53,7 +53,7 @@ wolf bootstrap
53
53
  ```
54
54
 
55
55
  - **Путь А — память:** `wolf init` подключает проект минимально — скелет `.wolf/` и `AGENTS.md`; платформенные конфиги и базовый сет он не пишет. Что печатает чистый запуск: `memory skeleton: ensured`, `base set: AGENTS.md created`, id init-отчёта.
56
- - **Путь Б — организация OpenCode:** `wolf init --full --platform opencode` отрисовывает полный базовый набор (6 рамок агентов, 19 скиллов, 3 команды, 2 плагина, посев playbook-лиц) и пишет `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). После него **перезапусти opencode** — MCP-сервер и агент по умолчанию подключаются при старте. Claude Code при первом старте попросит approve project-scope MCP-сервер — это штатно.
56
+ - **Путь Б — организация OpenCode:** `wolf init --full --platform opencode` отрисовывает полный базовый набор (6 рамок агентов, 20 скиллов, 3 команды, 2 плагина, посев playbook-лиц) и пишет `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). После него **перезапусти opencode** — MCP-сервер и агент по умолчанию подключаются при старте. Claude Code при первом старте попросит approve project-scope MCP-сервер — это штатно.
57
57
 
58
58
  - **Попробовать без установки:** `npx mister-wolf init` — try-out-режим: создаёт скелет памяти `.wolf/`, но никогда не пишет ни MCP-конфиги, ни базовый сет. Понравилось — `npm install -g mister-wolf` и повтори `wolf init`.
59
59
  - **Обновление:** `wolf upgrade` — одна команда обновляет всё: npm-фаза
@@ -1,6 +1,6 @@
1
1
  export declare const GITIGNORE_MARKER = "# wolf-gitignore:v1";
2
- /** WP4 (спека §7): игнорировать машинно-локальное, коммитить память —
3
- * формула переноса 2.14 §8.3 («память коммитится — клонирование переносит»). */
2
+ /** WP4 (спека §7): состояние Wolf машинно-локальное — память (.wolf/memory)
3
+ * не коммитится и на другой машине не восстанавливается. */
4
4
  export declare function buildGitignoreBlock(): string;
5
5
  export type GitignoreOutcome = 'created' | 'appended' | 'kept';
6
6
  export declare function ensureGitignoreBlock(deps: {
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore-block.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;gFACgF;AAChF,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/D,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IACJ,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,EACD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
1
+ {"version":3,"file":"gitignore-block.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;4DAC4D;AAC5D,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/D,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IACJ,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,EACD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
@@ -1,11 +1,11 @@
1
1
  import { join } from 'path';
2
2
  export const GITIGNORE_MARKER = '# wolf-gitignore:v1';
3
- /** WP4 (спека §7): игнорировать машинно-локальное, коммитить память —
4
- * формула переноса 2.14 §8.3 («память коммитится — клонирование переносит»). */
3
+ /** WP4 (спека §7): состояние Wolf машинно-локальное — память (.wolf/memory)
4
+ * не коммитится и на другой машине не восстанавливается. */
5
5
  export function buildGitignoreBlock() {
6
6
  return [
7
7
  GITIGNORE_MARKER,
8
- '# wolf: machine-local state; .wolf/memory is portable — commit it',
8
+ '# wolf: machine-local state; .wolf/memory is NOT committed and is not restored on another machine',
9
9
  '.wolf/cache/',
10
10
  '.wolf/memory/.lock',
11
11
  '.wolf/backup/',
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore-block.js","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD;gFACgF;AAChF,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,gBAAgB;QAChB,mEAAmE;QACnE,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,sBAAsB;QACtB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAIC,EACD,OAAe;IAEf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,MAAM,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"gitignore-block.js","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD;4DAC4D;AAC5D,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,gBAAgB;QAChB,mGAAmG;QACnG,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,sBAAsB;QACtB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAIC,EACD,OAAe;IAEf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,MAAM,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mister-wolf",
3
- "version": "2.22.0",
3
+ "version": "2.22.1",
4
4
  "description": "Local-first project memory for AI coding agents: decisions, lessons, tools and processes that outlive the session",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -28,7 +28,7 @@
28
28
  "update-map.json"
29
29
  ],
30
30
  "scripts": {
31
- "build": "tsc",
31
+ "build": "rm -rf dist && tsc",
32
32
  "dev": "tsc --watch",
33
33
  "test": "vitest",
34
34
  "test:run": "vitest run",
@@ -41,7 +41,7 @@
41
41
  "bench:tokens": "node --disable-warning=ExperimentalWarning scripts/bench-tokens.mjs",
42
42
  "check": "node scripts/check-english-surface.mjs && npm run format:check && npm run lint && npm run build && npm run test:run",
43
43
  "docs:dev": "vitepress dev docs/site",
44
- "docs:build": "node scripts/generate-cli-reference.mjs && node scripts/sync-changelog.mjs && vitepress build docs/site",
44
+ "docs:build": "node scripts/generate-cli-reference.mjs && node scripts/generate-cli-site-page.mjs && node scripts/sync-changelog.mjs && vitepress build docs/site",
45
45
  "docs:preview": "vitepress preview docs/site"
46
46
  },
47
47
  "dependencies": {
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: wolf-release-docs
3
+ description: "Применять при подготовке любой новой версии Wolf к выпуску, обновлении README или сайта для релиза, проверке готовности документации перед публикацией, а также после изменения состава выпуска или поведения документируемой возможности."
4
+ ---
5
+
6
+ # Документация Wolf перед выпуском
7
+
8
+ ## Обязательный вход и ответственность
9
+
10
+ Загрузи этот скилл до планирования и редактирования документации выпуска. Применяй к major/minor/patch: объём зависит от изменений, но проверка актуальности и полезности обязательна. Обычный feature-PR без подготовки выпуска не требует полного релизного прохода; изменённое поведение всё равно документируется в своей задаче. После изменения состава выпуска перепроверь затронутые страницы и примеры.
11
+
12
+ L0 задаёт цель выпуска и принимает пакет документации; сам не пишет файлы и не запускает проверки. L1 ведёт план, назначает авторов и независимое ревью, интегрирует изменения. L2 получает конкретные страницы, источники, allowlist и критерии. Общие README, концепт и навигация имеют одного владельца записи. Скилл не разрешает публикацию npm, тег, деплой, коммит или изменение утверждённой концепции сверх действующего поручения.
13
+
14
+ Цель — актуальная, связная и всё более полезная документация. Читатель понимает назначение Wolf, пользу возможностей, устройство, действия, ограничения и способ проверить результат. Число страниц, строк и новых методов не является мерой качества. Исправление устаревшего текста, ясная схема и удачный пример могут быть лучше нового раздела.
15
+
16
+ ## Основания и карта покрытия
17
+
18
+ 1. Зафиксируй текущий и целевой полный X.Y.Z, предыдущую базу выпуска, проверяемый SHA/dirty-state, состав изменений, утверждённые решения и известные ограничения. Сверь diff, код, тесты, CLI help и артефакты приёмки. CHANGELOG и отчёт автора — указатели, а не доказательства поведения. Не редактируй под неподтверждённый номер версии; соблюдай maintainer-only правила версионирования проекта.
19
+ 2. Прочитай AGENTS.md, CONTRIBUTING.md, docs/README.md и правила языков/генерации. На каждом выпуске сделай сквозной обзор опорных страниц, даже если release diff их не затрагивает. Остальные страницы проверяй по влиянию изменений, ссылкам и накопленным пробелам — не перечитывай весь архив вместо полезной работы.
20
+ 3. Создай в существующем плане или отчёте карту: возможность/утверждение → адресат → страницы → источник поведения/статуса → пример → проверка → действие автора. Отметь новые, изменённые, сохранённые и устаревшие утверждения. Путь назначения и неизменённые страницы должны иметь основание, не формальное «проверено всё».
21
+
22
+ | Опорная поверхность | Что проверить и развить |
23
+ | --- | --- |
24
+ | README.md / README.ru.md | Что такое Wolf, для кого, пользу, рабочий пример, установку/обновление, ограничения, ссылки. Обновляй пару согласованно |
25
+ | Главная docs/site | Обещания, статусы, первая команда, ожидание результата, версия, ссылки. Найди реальные компоненты главной, не предполагай один index.md |
26
+ | getting-started / configuration / mcp | Память против полного агентского набора, платформенные флаги, prerequisites, первый диалог, ожидаемый результат и восстановление |
27
+ | organization / memory / delivery / feedback / base-set | Роли, потоки, типы, версии лиц, скиллы, обучение и ограничения; связь возможностей в целый сценарий |
28
+ | CLI/API и docs/reference/cli.md | Точные команды, поля, дефолты, ошибки; справочник дополняется сценариями в руководстве |
29
+ | docs/concept/{concept,maturity,evidence,coverage}.md | Канон, объяснение принципов, фактическая зрелость, сила доказательств и смысловое покрытие |
30
+ | artifact-pipeline / troubleshooting / upgrade | Шаблоны документов, реальные маршруты, совместимость, миграции, типичные проблемы и безопасные действия |
31
+ | CHANGELOG / release notes / docs/dev | Пользовательский эффект, миграции, открытые риски и итоговый статус. Журнал событий сохраняй; финальная сводка отражает факт |
32
+
33
+ Используй реальные существующие пути и EN/RU пары. Служебный отчёт не заменяет пользовательское руководство, а README не становится копией подробного справочника.
34
+
35
+ ## Сбалансированное развитие содержания
36
+
37
+ 4. Проверь четыре опоры Wolf: постоянная организация, непрерывность состояния, накопленные способности и управляемое обучение. Новая команда должна быть объяснена в связи с одной или несколькими опорами. Не развивай только CLI, пока роль Стюарда, границы памяти или путь пользователя остаются непонятными.
38
+ 5. Выбери существенные пробелы читателя: вопросы пользователя, повторные пояснения, жалобы, недокументированные ограничения, оборванный сценарий или противоречие страниц. Если таких данных нет, проверь сценарий нового пользователя и обновление существующего проекта; не выдумывай статистику обращений. Закрой выбранные пробелы в этом проходе, сохрани остальные с приоритетом в существующем backlog.
39
+ 6. Для каждой новой или существенно изменённой возможности обеспечь объяснение достаточной глубины: какую проблему решает; кому и когда нужна; как связана с остальным Wolf; как пользоваться; какой результат увидеть; чего она не гарантирует; как продолжить при ошибке. Распределяй материал между страницами, не повторяй полный набор на каждой.
40
+ 7. Добавь воспроизводимый основной пример и существенный пограничный/ошибочный сценарий там, где поведение неочевидно. Для нового workflow покажи путь целиком, а не только вызов нового API. Для небольшой локальной правки можно актуализировать существующий пример вместо добавления нового. Поведение, настройки и результаты в примере должны соответствовать версии.
41
+ 8. Углубляй объяснение концепции через связи, инварианты, причины выбора и реальные случаи. Уточнение формулировки или пример, сохраняющие утверждённый смысл, — обычная редактура. Изменение целей, ролей, полномочий, гарантий или самой модели — продуктовая правка: оформи CR и нужное согласование через L0. Не переписывай канон вслед за каждым implementation detail; текущая зрелость живёт в maturity/evidence.
42
+
43
+ Перед завершением каждого выпуска сравни понимание читателя до/после: какой сценарий теперь можно пройти, какой термин или причинная связь стали яснее, какой пробел закрыт. Для срочного hotfix актуальность и инструкции обновления обязательны; несвязанный большой учебный материал можно отложить с конкретным основанием. Не задерживай исправление аварии ради искусственного объёма документации. Для выпуска без содержательных пробелов явно зафиксируй проверку и результат — не добавляй воду ради нормы прироста.
44
+
45
+ ## Образец полезного объяснения
46
+
47
+ Слабый вариант: «Добавлены face new, restore, breakglass».
48
+
49
+ Содержательный материал объясняет: поведение агента хранится отдельным версионируемым лицом; причина и границы мутации видны в истории; владельцу доступен откат. Затем показывает разрешённое изменение, просмотр версии, границу её применения и сценарий восстановления. Отдельно уточняет: история версий сама по себе не доказывает улучшение поведения. Команды и поля бери из текущего CLI; этот пример — структура объяснения, не обещание всех гарантий конкретной версии.
50
+
51
+ Другой пример: если init минимальный по умолчанию, недостаточно записать «появился --full». Покажи отдельно подключение памяти и развёртывание организации агентов, укажи платформу, результат первого запуска и следующий шаг. Проверь одинаковый смысл в README, главной и getting-started.
52
+
53
+ ## Примеры и точность
54
+
55
+ 9. У полноценного примера есть цель, исходное состояние, prerequisites/версия/роль, команды или шаги, наблюдаемый результат и важное ограничение. При необходимости добавь следующий шаг и безопасный cleanup. Используй осмысленную сквозную задачу; заменители вроде <id> поясни и покажи, откуда брать значение.
56
+ 10. Запускай подходящие примеры в изолированной фикстуре нужной версии; у linked worktree проверь общий memory root — он не гарантирует изоляцию памяти. Не изменяй live-проект, секреты, публикации и внешние сервисы ради документации. Опасные или недоступные внешние действия описывай с условиями и явным статусом проверки. Ожидаемый иллюстративный вывод пометь как ожидаемый; не выдавай его за фактический trace.
57
+ 11. Не превращай fallback в основной успешный сценарий. Отделяй загрузку инструкции от её применения, сохранение от доставки/обработки, PR от merge/публикации, lock от транзакции, локальные тесты от реального поведения модели. Нормативное правило в скилле не доказывает enforcement в коде. «Работает», «спроектировано», «экспериментально» и «подтверждён эффект» имеют разные основания.
58
+ 12. Проверь дефолты и отсутствующие флаги, области памяти, actor/permissions, процессы/сессии, повторные вызовы, partial failure и совместимость. Проблема кода не исправляется красивым обещанием: передай дефект через wolf-debug/действующий процесс, ослабь утверждение до подтверждённого уровня. Не расширяй реализацию скрыто в задаче документации.
59
+
60
+ ## Редактура и структура
61
+
62
+ Пиши языком адресата: сначала смысл и полезное действие, затем устройство и детали. Объясняй термин до дальнейшего использования, сохраняй точные имена команд/полей. Применяй принципы wolf-explain к пользовательским пояснениям; не переноси в руководство внутренний отчёт RESULT/EVIDENCE.
63
+
64
+ Разделяй начало работы, руководство по задачам, объяснение принципов и точный справочник. Ссылки соединяют уровни. Пример команды не заменяет объяснения причин; абстрактная концепция не заменяет инструкции. Для взаимодействующих частей используй компактную схему, когда она точнее прозы; она отражает реализованную или явно отмеченную проектную модель.
65
+
66
+ Убирай дубли, устаревшие инструкции и служебный сленг, но сохраняй полезные объяснения и причины ограничений. Не вырезай длинный пример только ради краткости. Новый раздел нужен для реальной задачи читателя, а не для каждого нового файла. Оглавления и навигация должны помогать найти следующий ответ; проверь ссылки между страницами.
67
+
68
+ ## Генерация и согласование языков
69
+
70
+ 13. Не правь вручную generated-справочник и зеркала CHANGELOG. В Wolf scripts/generate-cli-reference.mjs строит CLI reference из собранного реестра; scripts/sync-changelog.mjs обновляет страницы истории; npm run docs:build вызывает их и VitePress. Сначала убедись, что dist относится к проверяемому коду: наличия старого dist недостаточно. Проверь текущие scripts и marker-правила, если они изменились.
71
+ 14. Согласуй README EN/RU и смысловые пары страниц сайта: команды, дефолты, статусы и ограничения должны совпадать. Соблюдай язык product-facing документов и локализованных страниц. Не требуй буквального одинакового объёма перевода, но не оставляй одну аудиторию без новой существенной инструкции. Генератор может намеренно сохранять английский CHANGELOG на русском сайте — не создавай ручной расходящийся перевод без решения.
72
+
73
+ ## Проверка и независимое ревью
74
+
75
+ 15. Выполни релевантные проверки профиля проекта: форматирование, ссылки/навигация, примеры, generated consistency, сборка документации и предусмотренные release checks. Сборка сайта подтверждает сборку, но не смысл. Само создание HTML не означает деплой; содержимое опубликованного сайта проверяется после отдельно разрешённого деплоя.
76
+ 16. Независимому reviewer передай документы, diff, версию, основания утверждений, карту покрытия и сырые результаты примеров. Назначь два мандата: фактическое соответствие продукту и полезность для читателя. Для малой задачи один независимый reviewer может выполнить оба явно; не нужен отдельный агент для каждой страницы. При отсутствии независимого канала обозначь ограничение, не имитируй второй голос.
77
+ 17. Ревьюер проходит глазами нового пользователя и обновляющегося владельца: может ли начать без догадок, понять пользу, выполнить сценарий, распознать результат и восстановиться. Он также проверяет, что объяснение концепции не изменило утверждённый смысл. Находки обрабатывай через receiving-code-review; после правок перепроверь затронутые примеры/пары страниц. Вердикт привязан к версии.
78
+
79
+ ## Гейт готовности документации
80
+
81
+ Нельзя объявить документацию готовой к публикации, пока существенные противоречия в установке, дефолтах, гарантиях, статусах и примерах остаются необработанными. Блокирующую находку исправь либо вынеси владельцу явный ограниченный исход; не скрывай её в общем APPROVED. Неблокирующий долг имеет источник и приоритет.
82
+
83
+ Подготовь в существующем release-отчёте пакет:
84
+
85
+ - полный номер и SHA/dirty-state; состав просмотренных поверхностей и изменений;
86
+ - карта возможностей/утверждений и путей документации с основаниями;
87
+ - полезное развитие: закрытые пробелы читателя, примеры и уточнения, а не число строк;
88
+ - результаты проверок и статус непроверенных примеров;
89
+ - согласование EN/RU, generated-страниц, навигации и версии;
90
+ - независимые мандаты/вердикт, найденные ограничения, долг и решения владельца;
91
+ - готовность исходников/сборки отдельно от готовности опубликованного сайта.
92
+
93
+ Для финального утверждения применяй verification-before-completion. Передай пакет L0; выполняй только уже разрешённые дальнейшие действия. Публикацию этот скилл не запускает. При невозможности проверки укажи точное ограничение вместо «всё актуально».
94
+
95
+ ## Не подменяй развитие документации
96
+
97
+ | Мысль | Действие |
98
+ | --- | --- |
99
+ | «Достаточно перечислить новый API в CHANGELOG» | Объясни задачу, пользу, место в системе и рабочий сценарий |
100
+ | «README не менялся в diff» | Проверь его обещания и путь нового пользователя |
101
+ | «Сайт собрался, значит документация верна» | Проверь поведение примеров и смысл утверждений |
102
+ | «Больше текста означает лучше» | Закрой конкретный пробел; удали дубли и воду |
103
+ | «Концепцию можно дописать любым новым обещанием» | Различай пояснение канона и изменение продуктовой модели |
104
+ | «Перевод и примеры сделаем после релиза» | Существенные пользовательские пути входят в готовность выпуска |
105
+ | «Старый вывод похож на новый» | Сопоставь версию, условия и актуальные результаты |
106
+ | «Для patch документация не нужна» | Проверь влияющие инструкции и ограничения; выбирай соразмерный объём |
107
+ | «Напишу, что исправлено, пока код не подтверждён» | Верни дефект исполнителю и укажи реальное состояние |
package/update-map.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
- "version": "2.22.0",
3
- "prev": "2.21.2",
2
+ "version": "2.22.1",
3
+ "prev": "2.22.0",
4
4
  "files": [
5
5
  {
6
6
  "path": "base/agents/executor-lead.md",
7
7
  "kind": "agent",
8
- "category": "changed"
8
+ "category": "unchanged"
9
9
  },
10
10
  {
11
11
  "path": "base/agents/mr-wolf.md",
@@ -75,7 +75,7 @@
75
75
  {
76
76
  "path": "base/skills/using-skills/SKILL.md",
77
77
  "kind": "skill",
78
- "category": "changed"
78
+ "category": "unchanged"
79
79
  },
80
80
  {
81
81
  "path": "base/skills/verification-before-completion/SKILL.md",
@@ -110,22 +110,27 @@
110
110
  {
111
111
  "path": "base/skills/wolf-handoff/SKILL.md",
112
112
  "kind": "skill",
113
- "category": "changed"
113
+ "category": "unchanged"
114
114
  },
115
115
  {
116
116
  "path": "base/skills/wolf-plan/SKILL.md",
117
117
  "kind": "skill",
118
- "category": "changed"
118
+ "category": "unchanged"
119
+ },
120
+ {
121
+ "path": "base/skills/wolf-release-docs/SKILL.md",
122
+ "kind": "skill",
123
+ "category": "new"
119
124
  },
120
125
  {
121
126
  "path": "base/skills/wolf-review/SKILL.md",
122
127
  "kind": "skill",
123
- "category": "changed"
128
+ "category": "unchanged"
124
129
  },
125
130
  {
126
131
  "path": "base/skills/wolf-sdd/SKILL.md",
127
132
  "kind": "skill",
128
- "category": "changed"
133
+ "category": "unchanged"
129
134
  },
130
135
  {
131
136
  "path": "base/skills/wolf-skill-intake/SKILL.md",
@@ -150,7 +155,7 @@
150
155
  {
151
156
  "path": "opencode/plugins/wolf-session-start.js",
152
157
  "kind": "plugin",
153
- "category": "changed"
158
+ "category": "unchanged"
154
159
  }
155
160
  ],
156
161
  "faces": [
@@ -1 +0,0 @@
1
- 2026-10-31T00:14:38.946Z agent-id=v2-router-probe-xyz playbook=hit name=fallback variant=fallback source=default resolution=error face_id=- version=- hash=- session=opc-4959328f-6d56-4600-9e0e-52a774766922 injected=yes ms=0 bytes=1274