docs(agents): добавлена настройка инженерных навыков
- Зачем: - инженерным навыкам нужны единые правила хранения задач и документов предметной области. - Что: - настроено локальное хранилище задач с веточным жизненным циклом. - добавлены стандартные состояния triage и схема single-context. - добавлены ссылки на настройки в AGENTS.md. - Проверка: - git diff --cached --check.
This commit is contained in:
1 parent
fdf744e578
commit
1a422a4ead
4 files changed
+110
No files matched your search
@@ -66,3 +66,17 @@ This repository contains personal dotfiles and configurations for a highly produ
|
|||||||
Документы, комментарии и объяснения держи короткими и понятными читателю, который их не писал: простые слова, короткие фразы, сложную мысль поясняй при первом упоминании (помни про менти-неспециалиста). Если понятность и буквальная точность спорят — выбирай понятность. Правило касается и текста, и заголовков разделов.
|
Документы, комментарии и объяснения держи короткими и понятными читателю, который их не писал: простые слова, короткие фразы, сложную мысль поясняй при первом упоминании (помни про менти-неспециалиста). Если понятность и буквальная точность спорят — выбирай понятность. Правило касается и текста, и заголовков разделов.
|
||||||
|
|
||||||
Внутренние рассуждения и промежуточные пометки по ходу работы веди на английском — он экономнее по токенам (кириллица занимает примерно в 1,5–2 раза больше). На русском остаётся всё, что видит и хранит проект: итоговые ответы пользователю, документы, комментарии в коде и сообщения коммитов.
|
Внутренние рассуждения и промежуточные пометки по ходу работы веди на английском — он экономнее по токенам (кириллица занимает примерно в 1,5–2 раза больше). На русском остаётся всё, что видит и хранит проект: итоговые ответы пользователю, документы, комментарии в коде и сообщения коммитов.
|
||||||
|
|
||||||
|
## Agent skills
|
||||||
|
|
||||||
|
### Issue tracker
|
||||||
|
|
||||||
|
Задачи хранятся в отслеживаемых Git Markdown-файлах текущей ветки под `.scratch/`. Перед `merge --no-ff` они удаляются. См. `docs/agents/issue-tracker.md`.
|
||||||
|
|
||||||
|
### Triage labels
|
||||||
|
|
||||||
|
Используются стандартные названия состояний triage. См. `docs/agents/triage-labels.md`.
|
||||||
|
|
||||||
|
### Domain docs
|
||||||
|
|
||||||
|
Используется схема single-context: корневой `CONTEXT.md` и общие ADR в `docs/adr/`. См. `docs/agents/domain.md`.
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Документы предметной области
|
||||||
|
|
||||||
|
Репозиторий использует схему single-context.
|
||||||
|
|
||||||
|
## Что читать перед изучением репозитория
|
||||||
|
|
||||||
|
- Корневой `CONTEXT.md`, если он существует.
|
||||||
|
- Относящиеся к задаче ADR из `docs/adr/`, если они существуют.
|
||||||
|
|
||||||
|
Отсутствие этих файлов не считается ошибкой. Не нужно предлагать создать их
|
||||||
|
заранее: навык `/domain-modeling` создаёт их по мере появления устойчивых
|
||||||
|
терминов и архитектурных решений.
|
||||||
|
|
||||||
|
## Структура
|
||||||
|
|
||||||
|
```
|
||||||
|
/
|
||||||
|
├── CONTEXT.md
|
||||||
|
└── docs/
|
||||||
|
└── adr/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Термины
|
||||||
|
|
||||||
|
В названиях задач, предложениях по изменению, гипотезах и тестах нужно
|
||||||
|
использовать термины из `CONTEXT.md`.
|
||||||
|
|
||||||
|
Если нужного понятия нет, сначала следует проверить, не вводится ли лишний
|
||||||
|
синоним. Настоящий пробел в словаре нужно передать навыку `/domain-modeling`.
|
||||||
|
|
||||||
|
## Противоречия с ADR
|
||||||
|
|
||||||
|
Если предлагаемое изменение противоречит существующему ADR, это нужно явно
|
||||||
|
указать, а не молча отменять принятое решение.
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
# Хранилище задач: локальные Markdown-файлы
|
||||||
|
|
||||||
|
Задачи и спецификации этого репозитория хранятся в `.scratch/`.
|
||||||
|
|
||||||
|
## Структура
|
||||||
|
|
||||||
|
- Одна возможность на каталог: `.scratch/<feature-slug>/`.
|
||||||
|
- Спецификация: `.scratch/<feature-slug>/spec.md`.
|
||||||
|
- Каждая задача хранится в отдельном файле:
|
||||||
|
`.scratch/<feature-slug>/issues/<NN>-<slug>.md`.
|
||||||
|
- Нумерация задач начинается с `01`.
|
||||||
|
- Состояние triage записывается строкой `Status:` в начале файла.
|
||||||
|
- Обсуждение дописывается в конец файла под заголовком `## Comments`.
|
||||||
|
|
||||||
|
## Жизненный цикл
|
||||||
|
|
||||||
|
- Файлы в `.scratch/` отслеживаются Git.
|
||||||
|
- Они принадлежат рабочей ветке и считаются эфемерными.
|
||||||
|
- Перед `merge --no-ff` относящийся к ветке каталог `.scratch/<feature-slug>/`
|
||||||
|
удаляется и удаление фиксируется в этой же ветке.
|
||||||
|
- После слияния содержимое задач остаётся доступно в истории Git.
|
||||||
|
|
||||||
|
## Публикация задачи
|
||||||
|
|
||||||
|
Когда навык просит опубликовать задачу, нужно создать файл внутри
|
||||||
|
`.scratch/<feature-slug>/`, при необходимости создав каталог.
|
||||||
|
|
||||||
|
## Получение задачи
|
||||||
|
|
||||||
|
Нужно прочитать файл по переданному пути. Обычно пользователь указывает путь
|
||||||
|
или номер задачи.
|
||||||
|
|
||||||
|
## Работа `/wayfinder`
|
||||||
|
|
||||||
|
Карта работы хранится отдельно от дочерних задач:
|
||||||
|
|
||||||
|
- Карта: `.scratch/<effort>/map.md`.
|
||||||
|
- Дочерняя задача: `.scratch/<effort>/issues/NN-<slug>.md`.
|
||||||
|
- Строка `Type:` содержит тип: `research`, `prototype`, `grilling` или `task`.
|
||||||
|
- Строка `Status:` содержит состояние `claimed` или `resolved`.
|
||||||
|
- Зависимости перечисляются строкой `Blocked by: NN, NN`.
|
||||||
|
- Задача свободна, если она открыта, не заблокирована и не занята.
|
||||||
|
- Из нескольких свободных задач первой выбирается задача с меньшим номером.
|
||||||
|
- При взятии задачи нужно установить `Status: claimed` и сохранить файл.
|
||||||
|
- При завершении нужно добавить ответ под заголовком `## Answer`, установить
|
||||||
|
`Status: resolved` и добавить краткий итог со ссылкой в раздел решений
|
||||||
|
файла `map.md`.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Состояния triage
|
||||||
|
|
||||||
|
Навыки используют пять стандартных ролей. Для локального хранилища выбранное
|
||||||
|
значение записывается в строке `Status:` файла задачи.
|
||||||
|
|
||||||
|
| Роль навыка | Значение `Status:` | Смысл |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `needs-triage` | `needs-triage` | Задачу должен оценить сопровождающий |
|
||||||
|
| `needs-info` | `needs-info` | Нужна дополнительная информация от автора |
|
||||||
|
| `ready-for-agent` | `ready-for-agent` | Задача полностью описана и готова для агента |
|
||||||
|
| `ready-for-human` | `ready-for-human` | Задачу должен выполнить человек |
|
||||||
|
| `wontfix` | `wontfix` | Задача не будет выполняться |
|
||||||
|
|
||||||
|
Когда навык упоминает роль triage, нужно использовать соответствующее значение
|
||||||
|
из этой таблицы.
|
||||||
Reference in new issue
Block a user