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 |
|
| 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 |
|
| 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 |
|
| 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
|
## Commands
|
||||||
|
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ const ru = {
|
|||||||
errorInvalidCatalog: 'Не удалось загрузить выбранные моды.',
|
errorInvalidCatalog: 'Не удалось загрузить выбранные моды.',
|
||||||
errorUnknownCountry: 'Выбранная страна не найдена.',
|
errorUnknownCountry: 'Выбранная страна не найдена.',
|
||||||
errorUnknownNativeLanguage: 'Выбранный родной язык не входит в эту страну.',
|
errorUnknownNativeLanguage: 'Выбранный родной язык не входит в эту страну.',
|
||||||
|
errorInvalidPortraitSettings: 'Пресеты портретов этой школы заданы неверно.',
|
||||||
catalogLoadFailed: 'Не удалось загрузить каталог модов.',
|
catalogLoadFailed: 'Не удалось загрузить каталог модов.',
|
||||||
|
|
||||||
modsTitle: 'Моды',
|
modsTitle: 'Моды',
|
||||||
@@ -108,6 +109,10 @@ const ru = {
|
|||||||
editMap: 'Редактировать карту',
|
editMap: 'Редактировать карту',
|
||||||
mapDefaultHint: 'Будет использована карта по умолчанию.',
|
mapDefaultHint: 'Будет использована карта по умолчанию.',
|
||||||
mapEditedHint: 'Карта изменена.',
|
mapEditedHint: 'Карта изменена.',
|
||||||
|
portraitPresets: 'Пресеты портретов',
|
||||||
|
editPortraitPresets: 'Настроить модели',
|
||||||
|
portraitPresetsHint: 'Модель и промпты сохранятся в этой школе.',
|
||||||
|
portraitPresetsEdited: 'Заданы для этой школы.',
|
||||||
schoolSeed: 'Сид {seed}',
|
schoolSeed: 'Сид {seed}',
|
||||||
schoolSeedLabel: 'Сид',
|
schoolSeedLabel: 'Сид',
|
||||||
schoolSeedHint: 'Необязательно. Чужой сид даёт ту же школу; пустое поле бросает свой.',
|
schoolSeedHint: 'Необязательно. Чужой сид даёт ту же школу; пустое поле бросает свой.',
|
||||||
@@ -444,6 +449,7 @@ const en: Messages = {
|
|||||||
errorInvalidCatalog: 'The selected packs could not be loaded.',
|
errorInvalidCatalog: 'The selected packs could not be loaded.',
|
||||||
errorUnknownCountry: 'The selected country is not in the catalog.',
|
errorUnknownCountry: 'The selected country is not in the catalog.',
|
||||||
errorUnknownNativeLanguage: 'The selected native language is not in that country.',
|
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.',
|
catalogLoadFailed: 'Could not load the mod catalog.',
|
||||||
|
|
||||||
modsTitle: 'Mods',
|
modsTitle: 'Mods',
|
||||||
@@ -456,6 +462,14 @@ const en: Messages = {
|
|||||||
editMap: 'Edit map',
|
editMap: 'Edit map',
|
||||||
mapDefaultHint: 'The default map will be used.',
|
mapDefaultHint: 'The default map will be used.',
|
||||||
mapEditedHint: 'The map has been edited.',
|
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}',
|
schoolSeed: 'Seed {seed}',
|
||||||
schoolSeedLabel: 'Seed',
|
schoolSeedLabel: 'Seed',
|
||||||
schoolSeedHint: 'Optional. A shared seed recreates the same people; leave blank to roll one.',
|
schoolSeedHint: 'Optional. A shared seed recreates the same people; leave blank to roll one.',
|
||||||
|
|||||||
Reference in New Issue
Block a user