diff --git a/.gitignore b/.gitignore index 4b6a587..c607fd5 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,6 @@ __pycache__/ # Кэш скиллов, синхронизируемых Claude Code с claude.ai (~/.claude/skills -> agents) agents/.agents/skills/synced/ + +# Рабочие заметки агентов (задачи, PRD, handoffs) — только локально +.scratch/ diff --git a/AGENTS.md b/AGENTS.md index 45cc4bf..47ff1ce 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -56,7 +56,7 @@ This repository contains personal dotfiles and configurations for a highly produ ### Issue tracker -Задачи хранятся в отслеживаемых Git Markdown-файлах текущей ветки под `.scratch/`. Перед `merge --no-ff` они удаляются. См. `docs/agents/issue-tracker.md`. +Задачи хранятся локальными Markdown-файлами под `.scratch/`. См. `docs/agents/issue-tracker.md`. ### Triage labels @@ -68,20 +68,13 @@ This repository contains personal dotfiles and configurations for a highly produ ### Handoffs -Записки для продолжения работы в новой сессии — `.scratch/handoffs/YYYYMMDD-HHMM-.md` (одноразовые, коммитятся, уборка best-effort; скилл `/handoff` пишет сюда). +Записки для продолжения работы в новой сессии — `.scratch/handoffs/YYYYMMDD-HHMM-.md` (одноразовые, уборка best-effort; скилл `/handoff` пишет сюда). -### `.scratch/` — рабочая зона; в master не переносится +### `.scratch/` — локальная рабочая зона -Весь `.scratch/` — заметки по ходу дела: handoffs, PRD фич, нарезка задач. Коммитится (не в `.gitignore`), чтобы версионировать и передавать между сессиями, но в master ей делать нечего — это процесс, а не продукт. +Весь `.scratch/` — заметки по ходу дела: handoffs, PRD фич, нарезка задач. Каталог в `.gitignore`: он живёт только на этой машине и в Git не попадает. -Долговечное знание держим **вне** `.scratch/` (в `docs/`, `CONTEXT.md`). Прежде чем сливать фиче-ветку, убедись, что долговечная часть уже вынесена туда. - -Слияние фиче-ветки в master: - -1. Последним коммитом ветки — `git rm -r .scratch` (`chore: убрать рабочие заметки перед слиянием в master`). -2. `git merge --no-ff` в master. - -`--no-ff` тянет все коммиты ветки в историю master, поэтому удалённый `.scratch/` остаётся достижим из merge-коммита и достаётся из истории в любой момент. Ничего не теряется — тег или архив не нужны. +Долговечное знание держим **вне** `.scratch/` (в `docs/`, `CONTEXT.md`) и коммитим вместе с работой. Прежде чем сливать фиче-ветку, убедись, что долговечная часть уже вынесена туда: остальное из `.scratch/` потом не восстановить. ## Субагенты и экономия контекста diff --git a/docs/agents/issue-tracker.md b/docs/agents/issue-tracker.md index 6fb8fc7..ff1e4f7 100644 --- a/docs/agents/issue-tracker.md +++ b/docs/agents/issue-tracker.md @@ -14,11 +14,11 @@ ## Жизненный цикл -- Файлы в `.scratch/` отслеживаются Git. -- Они принадлежат рабочей ветке и считаются эфемерными. -- Перед `merge --no-ff` относящийся к ветке каталог `.scratch//` - удаляется и удаление фиксируется в этой же ветке. -- После слияния содержимое задач остаётся доступно в истории Git. +- `.scratch/` указан в `.gitignore`: задачи живут только на этой машине и в + Git не попадают. +- Они эфемерны: после завершения работы каталог можно удалить. +- Всё, что должно пережить задачу (решения, спецификации), до слияния + переносится в `docs/` и коммитится. ## Публикация задачи