Update AGENTS.md with new task documentation and enhance Russian and English localization for portrait settings.
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
---
|
||||
name: side-work
|
||||
description: >-
|
||||
Обсуждает задачу вне запланированных срезов, пишет под неё фазы и делает на
|
||||
отдельной ветке. Используй при «сделай отдельно», «вне среза», «отдельная
|
||||
задача», «не из фаз», «side-work», «обсуди и сделай». Не для «сделай фазу N»
|
||||
(/phase-work) и не для ревью (/phase-review).
|
||||
---
|
||||
|
||||
# Отдельная задача вне среза
|
||||
|
||||
Задачи нет в индексе — и в уже стоящие срезы она не дописывается. Сначала
|
||||
согласовать форму, потом документы в **своём** срезе, потом код как у
|
||||
`/phase-work`. Код до документов не писать.
|
||||
|
||||
«Обсуди и сделай» — идти до конца после короткого согласования. Стоп, только
|
||||
если выбор меняет протокол, сейв или инвариант.
|
||||
|
||||
## 1. Обсуждение
|
||||
|
||||
Прочитай `docs/phases/README.md`, инварианты в `AGENTS.md` и затронутые
|
||||
дизайн-доки. Это уже чья-то фаза в индексе — скажи и отдай `/phase-work`.
|
||||
|
||||
Два–пять вопросов, два–три варианта, **рекомендация обязательна**. Спросить
|
||||
только форму: что увидит игрок; протокол / HTTP / сейв; какой инвариант; одна
|
||||
фаза или несколько, и можно ли остановиться посередине целой школой.
|
||||
|
||||
«Ок», «делай», «как рекомендуешь» — согласие. Молчание — нет. Соседнее «заодно»
|
||||
в отчёт, не в объём.
|
||||
|
||||
## 2. Куда класть
|
||||
|
||||
**Мелкое** (баг, дырка, одна кнопка) — фаза в секции **«Вне очереди»** в конце
|
||||
индекса. Это срез без номера, чтобы не спорить со срезом 10. Дизайн — `##` в
|
||||
`docs/design/off-queue.md`; файла нет — заведи с заголовком, зачем он.
|
||||
|
||||
**Крупное** (этапы, остановка посередине, новый кусок игры) — именованный срез
|
||||
со следующим номером и `docs/design/<slug>.md`. «Вне очереди» номер не занимает.
|
||||
|
||||
Номер фазы: максимум по `docs/phases/*.md` и индексу, плюс один, затем
|
||||
`git branch --list "phase/<N>-*"`. Занято — следующий. Гонку ловят ветки, не
|
||||
индекс: у новой фазы на `main` строки ещё нет.
|
||||
|
||||
## 3. Документы
|
||||
|
||||
Как у соседней фазы, не новый жанр. Каркас тот же: Зависимости, Зачем, Задачи,
|
||||
Тесты без которых фаза не закрыта, Критерий готовности, Стоп.
|
||||
|
||||
«Тесты…» — контракт для `/phase-review`: каждый пункт станет отдельным тестом
|
||||
по Testing policy в `AGENTS.md`. Дизайн: зачем; «Было / Стало / Почему», если
|
||||
меняется принятое; что не входит. Индекс — новая строка, статус ⬜. Новый срез,
|
||||
куда ходят люди — строка в Orientation `AGENTS.md`.
|
||||
|
||||
Протокол, HTTP, сейв — назвать явно. Версию не бампать: это коммит с кодом.
|
||||
|
||||
Покажи срез, фазы и Стоп. Просил только документы — здесь конец. Просил сделать
|
||||
— сразу шаг 4.
|
||||
|
||||
## 4. Работа
|
||||
|
||||
Прочитай [phase-work](../phase-work/SKILL.md) и следуй ему.
|
||||
|
||||
Отличия: фазу ты завёл сам; заявка `git branch phase/<N>-<slug>` **до** кода;
|
||||
новые файлы и 🔄 живут на этой ветке. Один цикл — одна фаза. «Сделай всё» —
|
||||
по порядку, каждая своим циклом `/phase-work`. Три фазы в одну ветку не паковать.
|
||||
|
||||
## Отчёт
|
||||
|
||||
Форма и куда легли документы; фаза и ветка; тесты списком; что прогнал; что
|
||||
осталось ⬜; слита ли ветка в `main`.
|
||||
@@ -24,6 +24,7 @@ way; this file is *how to work in them*.
|
||||
| login, who owns a school, watching others | [`docs/design/session.md`](docs/design/session.md) — slice 8, phases 38–39 |
|
||||
| clock speed buttons and high-speed stride | `src/HSchool.Simulation/ClockSpeed.cs` **and** [`docs/design/session.md`](docs/design/session.md) — phase 40 |
|
||||
| talks, opinions, fights, romance pack | [`docs/design/social.md`](docs/design/social.md) — slice 9, phases 41–47 |
|
||||
| a task that is not in any slice | `.claude/skills/side-work` — discuss, document in «Вне очереди» or a new named slice, then implement |
|
||||
|
||||
## Commands
|
||||
|
||||
|
||||
@@ -96,6 +96,7 @@ const ru = {
|
||||
errorInvalidCatalog: 'Не удалось загрузить выбранные моды.',
|
||||
errorUnknownCountry: 'Выбранная страна не найдена.',
|
||||
errorUnknownNativeLanguage: 'Выбранный родной язык не входит в эту страну.',
|
||||
errorInvalidPortraitSettings: 'Пресеты портретов этой школы заданы неверно.',
|
||||
catalogLoadFailed: 'Не удалось загрузить каталог модов.',
|
||||
|
||||
modsTitle: 'Моды',
|
||||
@@ -108,6 +109,10 @@ const ru = {
|
||||
editMap: 'Редактировать карту',
|
||||
mapDefaultHint: 'Будет использована карта по умолчанию.',
|
||||
mapEditedHint: 'Карта изменена.',
|
||||
portraitPresets: 'Пресеты портретов',
|
||||
editPortraitPresets: 'Настроить модели',
|
||||
portraitPresetsHint: 'Модель и промпты сохранятся в этой школе.',
|
||||
portraitPresetsEdited: 'Заданы для этой школы.',
|
||||
schoolSeed: 'Сид {seed}',
|
||||
schoolSeedLabel: 'Сид',
|
||||
schoolSeedHint: 'Необязательно. Чужой сид даёт ту же школу; пустое поле бросает свой.',
|
||||
@@ -444,6 +449,7 @@ const en: Messages = {
|
||||
errorInvalidCatalog: 'The selected packs could not be loaded.',
|
||||
errorUnknownCountry: 'The selected country is not in the catalog.',
|
||||
errorUnknownNativeLanguage: 'The selected native language is not in that country.',
|
||||
errorInvalidPortraitSettings: 'This school\'s portrait presets are not valid.',
|
||||
catalogLoadFailed: 'Could not load the mod catalog.',
|
||||
|
||||
modsTitle: 'Mods',
|
||||
@@ -456,6 +462,14 @@ const en: Messages = {
|
||||
editMap: 'Edit map',
|
||||
mapDefaultHint: 'The default map will be used.',
|
||||
mapEditedHint: 'The map has been edited.',
|
||||
portraitPresets: 'Portrait presets',
|
||||
editPortraitPresets: 'Configure models',
|
||||
portraitPresetsHint: 'The model and prompts will be stored with this school.',
|
||||
portraitPresetsEdited: 'Set for this school.',
|
||||
portraitPresets: 'Portrait presets',
|
||||
editPortraitPresets: 'Configure models',
|
||||
portraitPresetsHint: 'The model and prompts will be stored with this school.',
|
||||
portraitPresetsEdited: 'Set for this school.',
|
||||
schoolSeed: 'Seed {seed}',
|
||||
schoolSeedLabel: 'Seed',
|
||||
schoolSeedHint: 'Optional. A shared seed recreates the same people; leave blank to roll one.',
|
||||
|
||||
Reference in New Issue
Block a user