руководство по испоьлзованию
Руководство пользователя: wiki-news
Что это
Личный глобальный инструмент — публикует новости об изменениях на wiki (wiki.sociometer.ru, книга «История обновлений»). Установлен один раз на этой машине, работает из любого проекта, не привязан к конкретному репозиторию.
- Код:
/Users/igor/Файлы и папки/_jobs/skills/wiki-news - Репозиторий:
gitlab.com/MiroScopeGroup/skills - Доступен как скилл
/wiki-newsв любой сессии Claude Code (глобально, через~/.claude/skills/)
1. Обычный способ — попросить в чате
Из любого проекта (frontV3, APPV3 или другого) — просто:
«Опубликуй новость про [фичу] в wiki»
Claude сам соберёт данные об изменениях, покажет черновик текста на согласование и опубликует после вашего «ок». Ниже — что происходит под капотом и как вызвать вручную.
2. Куда публикуется — определяется автоматически
Wiki устроена так: книга «История обновлений», внутри неё — глава на каждый продукт, внутри главы — одна страница с новостями.
Раздел определяется по имени папки репозитория, в котором вы стоите:
| Папка репозитория | Раздел wiki |
|---|---|
frontV3 |
Глава «Редактор анкет» |
APPV3 |
Глава «Мобильное приложение» |
Спрашивать раздел не нужно — если вы (или Claude) стоите внутри одного из этих проектов, --page можно не указывать. Список соответствий — в wiki-news/projects.json, список известных разделов и их id — в wiki-news/pages.json.
Если работаете с другим проектом, не входящим в список — нужно либо передать --page <алиас> явно, либо сначала добавить новый проект в конфиг (см. раздел «Новый проект» ниже).
3. Команды CLI (для ручного/отладочного запуска)
Все вызываются по абсолютному пути:
node "/Users/igor/Файлы и папки/_jobs/skills/wiki-news/src/cli.js" <команда> ...
gather — собрать данные об изменениях
cd <репозиторий> # frontV3, APPV3 или любой другой
node ".../wiki-news/src/cli.js" gather --path <путь> [--page <алиас>] [--range a..b] [--since дата]
| Параметр | Обязателен | Что делает |
|---|---|---|
--path |
да | Директория/файл в репозитории, изменения в которой анализируем |
--page |
нет | Алиас раздела wiki. Если не указан — определяется автоматически по имени папки |
--range |
нет | Явный диапазон <sha1>..<sha2> |
--since |
нет | Дата YYYY-MM-DD — взять всё после неё |
--repo |
нет | Путь к репозиторию, если не хотите/не можете cd перед вызовом |
Если --range/--since не переданы — команда сама определит диапазон по дате последней публикации на wiki-странице.
Пример (из frontV3, авто-определение раздела):
cd frontV3
node "/Users/igor/Файлы и папки/_jobs/skills/wiki-news/src/cli.js" gather --path src/pages/redaktor
Вернёт JSON: page (какой раздел определился), commits, stat, matchedDocs, текущий текст wiki-страницы. Ничего не публикует — безопасно вызывать многократно.
publish — опубликовать финальный текст
node ".../wiki-news/src/cli.js" publish --file <путь-к-тексту> [--page <алиас>] [--repo <путь>]
Дописывает файл в начало существующей wiki-страницы (не затирает её). --page/--repo работают так же, как в gather — авто-определение по текущей папке, если не указаны явно.
Пример:
node "/Users/igor/Файлы и папки/_jobs/skills/wiki-news/src/cli.js" publish --file /tmp/draft.md
resolve-page — настройка нового раздела (обычно не нужна вручную)
node ".../wiki-news/src/cli.js" resolve-page [--page <алиас>]
Нужна только при добавлении нового раздела в pages.json с pageId: null. Находит главу по bookSlug/chapterSlug, ищет в ней существующую страницу с новостями — а если такой ещё нет, создаёт новую автоматически через BookStack API и сохраняет её id.
4. Добавить новый проект/раздел
- Добавить в
wiki-news/pages.jsonновую запись:{"bookSlug": "istoriya-obnovlenii", "chapterSlug": "<slug-главы-в-wiki>", "pageId": null}. - Если у проекта есть репозиторий с понятным именем папки — добавить строку в
wiki-news/projects.json:"ИмяПапки": "новый-алиас". - Один раз выполнить
resolve-page --page <новый-алиас>— создаст страницу, если её ещё нет.
5. Типичный ручной цикл целиком
cd frontV3
node "/Users/igor/Файлы и папки/_jobs/skills/wiki-news/src/cli.js" gather --path src/pages/redaktor
# → пишете черновик по правилам AI_What_News/README.md (если есть в репозитории)
node "/Users/igor/Файлы и папки/_jobs/skills/wiki-news/src/cli.js" publish --file draft.md