Слой диспетчера: Cursor-команды + gh + Actions.
Вы по-прежнему: код → commit → push → open PR → правки после Bugbot → merge.
main остаётся default branch на GitHub (главная на сайте). Рабочий поток — в dev. Закрытие issue при merge в dev делает workflow, не смена default.
Если ветка локально app-1-docs и есть незакоммиченные scripts/, .cursor/commands/, .github/ — вы на шаге A ниже (ещё не в remote).
Чеклист прогресса:
dev (этот PR)gh auth loginGH_PROJECT_TOKEN#16 вручную (если ещё open)/gh-create-task → /gh-start-taskdevЦель: чтобы команды и workflow жили на GitHub, а не только у вас на диске.
cd /Users/gregoryburenkov/dev/GitHub/dpline-task-manager
git branch --show-current
# ожидается: app-1-docs
git status
Должны быть новые/изменённые: .cursor/, .github/, scripts/gh/, plan/guides/automation.md и правки agreement/git-flow/backlog.
git add .cursor/ .github/ scripts/ plan/
git status
git commit -m "docs: add GitHub task automation, Bugbot config, merge-to-dev workflow"
git push -u origin app-1-docs
dev (сами в UI)dev (не main).docs: GitHub task automation + Bugbot + merge workflow.## Summary
- Cursor commands /gh-create-task, /gh-start-task
- scripts/gh + backlog sync
- workflow: merge to dev → close issue + Project Done
- BUGBOT.md + guides/automation.md
Refs #1
#18).#1 при желании → Review → после merge Done (или оставьте, если #1 ещё не «всё»).dev локальноgit checkout dev
git pull origin dev
Опционально удалить локальную ветку задачи:
git branch -d app-1-docs
gh уже ставили через brew; сейчас нужно войти.
gh auth login
В диалоге обычно:
Проверка:
gh auth status
gh issue list --repo skv0r/dpline-task-manager --limit 3
Если команды падают с 401/403 — повторите gh auth login и добавьте scope project:
gh auth refresh -s repo,project,read:project
Без этого: issue при merge в dev закроется, а колонка Project может не стать Done.
dpline-project-actionsrepo (весь блок), project (или read:project + write если отдельно).Fine-grained тоже ок: доступ к репо dpline-task-manager + Permissions: Issues R/W, Pull requests R, Projects R/W.
GH_PROJECT_TOKEN (точное имя — так ждёт workflow)skv0r, если ещё не подключён.skv0r/dpline-task-manager..cursor/BUGBOT.md — Bugbot подхватит после merge шага A.Про Pro $20: обычно есть лимит бесплатных/включённых ревью; сверх — on-demand или отдельный Bugbot. Смотрите usage в dashboard, не рассчитывайте на безлимит.
Локально перед push (по желанию): в Agent наберите /review или /review-bugbot.
#16Merge в dev не закрыл issue автоматически (default = main).
Рабочее дерево чистое, вы на dev:
git checkout dev
git pull
git status # должно быть clean
В Cursor Agent: /gh-create-task → агент пришлёт один опрос → вы отвечаете одним сообщением, например:
B
B
Практика: проверка команд
E
A
A
A
(= pr, IceBox, title, label=gh-commands, phase=0, estimate/body skip) → сразу создаётся issue.
Ожидание: новый issue, карточка на доске, строка в plan/backlog.md (секция backlog:auto).
Если агент не видит /gh-create-task — команда из .cursor/commands/ появляется после того, как файлы уже в воркспейсе (после шага A5). Перезапуск чата иногда помогает.
Подставьте реальный номер, например 21:
/gh-start-task 21
Ожидание:
pr-21-autotest# например одна строка в plan/sessions/ или README тестовый
git add -A
git commit -m "chore: automation smoke test"
git push -u origin HEAD
Сами откройте PR: base dev, body:
Closes #21
Дождитесь комментариев Bugbot (если включён) → Merge.
#21 → Closed (workflow).Если issue закрылся, а Done нет — проверьте GH_PROJECT_TOKEN и имена колонок (Done точно так же, как на доске).
Потом тестовую ветку можно удалить; карточку оставить в Done как учебный артефакт или удалить issue из project.
1. В чате: /gh-create-task … → корневой issue + Project + backlog
1b.В чате: /gh-create-subtask … → sub-issue под #parent (можно и под другим sub-issue)
2. В чате: /gh-start-task N → In Progress + Start date + ветка type-N-label
3. Вы: код
4. Вы: commit + push
5. Вы: open PR → base=dev, Closes #N
6. Bugbot: комментарии → вы правите → push
7. Вы: Merge
8. Actions: close + Done + Target date (дата закрытия)
9. В чате: ассистент пишет plan/sessions/… + push (сессия не без push)
Файлы: .cursor/commands/gh-create-task.md, gh-create-subtask.md, gh-start-task.md.
/gh-create-taskСкрипт: scripts/gh/create-task.sh
UX: один опрос в чате → один ответ → сразу создание (без пошаговых вопросов).
Параметры (из ответа на опрос):
| Поле | Обязательно | Пример |
|---|---|---|
| title | да | ADR: тулчейн |
| type | да | app | pr |
| label | да | monorepo (slug) |
| phase | нет | 0 |
| estimate | нет | 2 |
| status | нет | Ready | IceBox |
| body | нет | acceptance |
Имя будущей ветки: {type}-{номер}-{label}.
/gh-create-subtaskСкрипт: scripts/gh/create-subtask.sh (= create-task.sh --parent N).
Тот же UX «один опрос → сразу», плюс обязательный parent (номер issue или уже существующего sub-issue для вложенности).
Пример ответа:
10
A
A
Пустой api с /health
C
A
C
A
/gh-start-task NСкрипт: scripts/gh/start-task.sh N
Требование: чистый working tree. Иначе скрипт остановится — сначала commit/stash.
{app|pr}-{номер}-{label}
| Пример | Смысл |
|---|---|
app-13-docs |
продукт, #13, docs |
pr-12-gitverse |
практика #12 |
| Скрипт | Назначение |
|---|---|
scripts/gh/create-task.sh |
создать задачу (--parent опционально) |
scripts/gh/create-subtask.sh |
sub-issue (обязателен --parent) |
scripts/gh/start-task.sh |
старт + ветка |
scripts/gh/sync-backlog.py |
open issues → backlog auto-секция |
scripts/gh/on-pr-merged-dev.sh |
close + Done (вызывает CI) |
.github/workflows/on-pr-merged-dev.yml |
триггер на merge в dev |
Ручной sync backlog:
python3 scripts/gh/sync-backlog.py
App/Prac, IceBox, Done…) должны совпадать со скриптом; иначе warn и правка руками.| Симптом | Что проверить |
|---|---|
gh: not logged in |
шаг B |
команда /gh-* не в списке / |
файлы в .cursor/commands/ на текущей ветке; новый чат |
working tree not clean на start |
commit или git stash |
| issue не закрылся после merge | workflow в Actions; в PR есть Closes #N; merge именно в dev |
| Done не ставится | secret GH_PROJECT_TOKEN; имя колонки Done |
| На доске дубль «левая» карточка PR | Project → Workflows → отключи Auto-add для Pull requests; скрипт Review/Done также снимает PR с доски |
| Bugbot молчит | dashboard: репо включён; лимит usage; автор PR = тот же GitHub, что связан с Cursor |