GitHub Projects як пам'ять для AI-агента
Три тижні не чіпав проєкт. Повернувся, запустив Claude Code, і перші 20 хвилин витратив на те, щоб пояснити агенту, що взагалі відбувається. Яка архітектура, що вже зроблено, що далі. Агент слухняно кивав, але я відчував, що час йде в нікуди.
Проблема проста: AI-агент не має довготривалої пам’яті. Кожна нова сесія — чистий аркуш. І це нормально для разових питань. Але коли ведеш проєкт тижнями, це стає болем.
GitHub Issues — не тільки для багів
Я переосмислив GitHub Issues. Раніше думав про них як про трекер багів. Тепер це сховище стану проєкту. Action plan. Технічні деталі. Посилання на конкретні файли та функції. Все, що агенту потрібно знати, щоб продовжити роботу.
Воркфлоу простий. Завершую сесію — кажу агенту задокументувати контекст в issue. Повертаюсь через тиждень — кажу “відкрий issue #42” і агент продовжує рівно з того місця, де ми зупинились.
# Агент створює issue з повним контекстом
gh issue create --title "Рефакторинг auth модуля" \
--body "## Контекст
Переходимо з JWT на session-based auth.
Змінені файли: src/auth/handler.go, src/middleware/auth.go
## Що зроблено
- Новий SessionStore інтерфейс
- Міграція бази
## Наступні кроки
- Оновити middleware
- Додати тести для session cleanup"
Наступного разу:
# Читаємо issue і продовжуємо
gh issue view 42
Агент отримує структуровані дані. Знає, що робити. Не треба нічого пояснювати заново.
Проблема десяти репозиторіїв
Одна issue — один репозиторій. Коли в тебе один проєкт, все чудово. Але в мене їх кілька: Telegram-бот, сервіс обробки відео, блог, dotfiles, ще пара утиліт. Issues ізольовані в кожному репо. Щоранку треба обходити п’ять вкладок, щоб зрозуміти, що робити сьогодні.
Рішення — GitHub Projects.
GitHub Projects: одна дошка на всі проєкти
GitHub Projects агрегує issues з різних репозиторіїв в одну kanban-дошку. Три колонки: Backlog, Todo, Done. Все на одному екрані.
Мій ранковий ритуал: відкриваю Project, бачу всі завдання, обираю одне, кажу Claude Code:
Продовж роботу над issue #42 в репо tg-course-maks
Агент відкриває issue через gh, читає контекст, і працює. Без двадцятихвилинного вступу.
Custom fields
GitHub Projects дозволяє додавати кастомні поля. Я використовую три:
| Поле | Значення |
|---|---|
| Priority | High, Medium, Low |
| Effort | Small, Medium, Large |
| Type | Feature, Bug, Research |
Це дає можливість фільтрувати. Наприклад, view “Quick wins” — це High priority + Small effort. Ідеально для ранку, коли є 30 хвилин і хочеться щось завершити.
# Подивитись issues з високим пріоритетом
gh project item-list 1 --owner @me --format json | \
jq '.items[] | select(.priority == "High")'
Чому це працює
Три причини.
Структура. Агент вміє читати issues. Markdown з заголовками, чеклістами, кодом — це саме те, що LLM парсить найкраще. Не треба вигадувати спеціальний формат. Issue вже є структурований prompt.
Історія. Коментарі до issue — це точки відновлення. Кожна сесія з агентом може завершуватись коментарем з результатами. Через місяць можна прочитати повну хронологію роботи над задачею.
# Агент додає коментар з результатами сесії
gh issue comment 42 --body "## Сесія 2026-01-28
- Оновив middleware (src/middleware/auth.go)
- Додав тести: 12 passed, 0 failed
- Залишилось: session cleanup cron job"
CLI-інтерфейс. gh CLI — це те, що робить все це програмованим. Агент виконує команди, отримує результат. Не треба відкривати браузер. Не треба копіювати текст вручну.
# Перемістити issue в колонку Done
gh project item-edit --project-id PROJECT_ID \
--id ITEM_ID --field-id STATUS_FIELD_ID \
--single-select-option-id DONE_OPTION_ID
AI-агенти вже це використовують
2026 рік, і паттерн “issue as prompt” стає стандартом. Подивіться, хто це вже робить:
- GitHub Copilot Coding Agent — створюєш issue, призначаєш Copilot, він робить PR
- Claude Code — читає issues через gh CLI, працює з контекстом
- Google Jules — приймає GitHub issues як вхідні дані
- Amazon Q — інтеграція з GitHub Issues
- OpenAI Codex — працює з issues як з завданнями
- Devin — використовує issues для планування
Всі вони конвергують до однієї ідеї: issue — це інтерфейс між людиною і AI-агентом. Ти описуєш задачу, агент її виконує. GitHub Issues стає мовою спілкування.
Що потрібно для старту
Мінімальний набір:
# Встановити GitHub CLI
# https://cli.github.com/
# Авторизуватись
gh auth login
# Перевірити доступ до projects
gh project list --owner @me
Переконайтесь, що у вашого токена є права на project scope. Без цього gh project команди не працюватимуть.
Далі — створіть Project, додайте кілька issues з різних репозиторіїв, налаштуйте колонки. Це займає десять хвилин. А зекономить — години.
Підсумок
GitHub Projects як пам’ять для AI-агента — один з найбільш недооцінених підходів. Не треба спеціальних інструментів. Не треба баз даних для контексту. Все вже є: issues, comments, projects, CLI.
Агент створює issue. Агент читає issue. Агент продовжує роботу. Ти просто обираєш завдання зі списку.
Простий воркфлоу, який вирішує реальну проблему. Спробуйте — і ви не захочете повертатись до пояснень з нуля.