11 KiB
AI Agent 24/7 Automation System - Summary
Что создано
Полноценная система автоматизированной разработки с использованием AI агентов для Forgejo.
Архитектура
┌─────────────────────────────────────────┐
│ Forgejo Actions (Workflows) │
├─────────────────────────────────────────┤
│ │
│ Planning Agent → Development Agent │
│ ↓ ↓ │
│ Task List → Code Changes │
│ ↓ │
│ Test & Deploy │
│ │
└─────────────────────────────────────────┘
↓
Cursor CLI (AI Provider)
↓
Claude Sonnet 4.5
Созданные файлы
📁 Workflows (3 файла)
-
.github/workflows/agent-planning.yml- Запускается вручную (workflow_dispatch)
- Анализирует проект
- Создает task_list.json
- Создает issue с summary
- Триггерит development workflow
-
.github/workflows/agent-development.yml- Читает задачи из task_list.json
- Использует Cursor CLI для написания кода
- Запускает тесты
- Делает коммиты
- Цикл до завершения всех задач (макс 10 итераций, 6 часов)
-
.github/workflows/agent-test-deploy.yml- Триггерится автоматически после push
- Определяет измененные компоненты
- Запускает analyze + tests для каждого
- Готовит к деплою если тесты прошли
- Создает issue если тесты не прошли
🐍 Python Scripts (5 файлов)
-
tools/agent/config.py(124 строки)- Конфигурация для каждого компонента
- Пути к файлам состояния
- Команды для тестов/линтера/сборки
-
tools/agent/task_manager.py(334 строки)- Класс
Task- представление задачи - Класс
AgentState- состояние агента - Класс
TaskManager- работа с задачами и состоянием - Класс
GlobalLock- глобальная блокировка для shared resources
- Класс
-
tools/agent/cursor_cli_wrapper.py(300 строк)- Wrapper для Cursor CLI
- Парсинг stream-json output
- Отслеживание прогресса (tool calls, files modified)
- Обработка ошибок
-
tools/agent/agent_orchestrator.py(423 строки)- Главный оркестратор development цикла
- Чтение задач
- Выполнение через Cursor CLI
- Запуск тестов
- Создание коммитов
- Обработка ретраев
-
tools/agent/planning_agent.py(334 строки)- Planning агент
- Анализ текущего состояния проекта
- Генерация task_list.json через Cursor CLI
- Валидация JSON
- Коммит task list
📝 Prompts (2 файла)
-
ai_docs/agent/prompts/development_prompt.md(~400 строк)- Инструкции для development агента
- Code standards (Clean Architecture, yx_state)
- Примеры кода
- Testing guidelines
- DO/DON'T список
-
ai_docs/agent/prompts/planning_prompt.md(~300 строк)- Инструкции для planning агента
- Формат task list
- Priority guidelines
- Acceptance criteria examples
- Task ordering strategy
📊 State Files (7 файлов)
ai_docs/agent/web_v2/task_list.json- задачи для web_v2ai_docs/agent/web_v2/agent_state.json- состояние агента web_v2ai_docs/agent/backend/task_list.json- задачи для backendai_docs/agent/backend/agent_state.json- состояние агента backendai_docs/agent/common/task_list.json- задачи для commonai_docs/agent/common/agent_state.json- состояние агента commonai_docs/agent/global_lock.json- глобальная блокировка
📚 Documentation (4 файла)
-
ai_docs/agent/README.md(~600 строк)- Полная документация системы
- Архитектура
- Как работают агенты
- Multi-agent support
- Мониторинг и отладка
- Best practices
- Примеры использования
-
ai_docs/agent/CONFIGURATION.md(~500 строк)- Детальная конфигурация для Forgejo
- Настройка Forgejo Runner
- Настройка secrets
- Cursor CLI setup
- Troubleshooting
- Мониторинг
- Security best practices
-
ai_docs/agent/FORGEJO_SETUP.md(~400 строк)- Пошаговая инструкция на 15-30 минут
- Настройка Forgejo Actions
- Установка runner
- Создание secrets
- Первый запуск
- Checklist проверки
-
ai_docs/agent/QUICKSTART.md(~200 строк)- Быстрый старт за 5 минут
- Основные команды
- Структура проекта
- Troubleshooting
- Советы
Ключевые особенности
✅ Multi-Agent Support
- Параллельная работа нескольких агентов
- Каждый агент работает над своим компонентом (web_v2, backend, common)
- Per-component locking
- Global lock для shared resources (mnemo_cards_common)
✅ Cursor CLI Integration
- Использует Cursor CLI вместо прямых API вызовов
- Автоматическая оптимизация контекста
- Уважает .cursorrules
- Stream-json для отслеживания прогресса
✅ Forgejo Native
- Полностью адаптировано под Forgejo
- Используется Forgejo API для issues и workflow triggers
- Работает с Forgejo Runner
- Без зависимостей от GitHub
✅ Safety & Limits
- Максимум 10 итераций за запуск
- Timeout 6 часов
- Максимум 3 ретрая для задачи
- Автоматический git pull перед коммитом
- Stale lock detection (2 часа)
✅ Autonomous Operation
- Агенты работают полностью автономно
- Не требуют вмешательства человека
- Автоматический retry при ошибках
- Создание issues при критических ошибках
Workflow процесс
Planning Agent
- Trigger: Вручную через UI или API
- Input: tasks.md, workflow_state.md, agent_state.json
- Process:
- Cursor CLI анализирует проект
- Генерирует task_list.json
- Output:
- Обновленный task_list.json
- GitHub issue с summary
- Триггер development workflow
Development Agent
- Trigger: Автоматически после planning или вручную
- Input: task_list.json
- Process:
- Цикл по задачам (по приоритету)
- Для каждой задачи:
- Cursor CLI пишет код
- Запускаются тесты
- При успехе: коммит + next task
- При ошибке: retry до 3 раз
- Output:
- Git commits с изменениями
- Обновленный agent_state.json
- Issues для failed tasks
Test & Deploy
- Trigger: Автоматически после push
- Input: Git diff
- Process:
- Определить измененные компоненты
- Для каждого: analyze + test
- Output:
- Test reports
- Deployment (если тесты прошли)
- Issues (если тесты не прошли)
Требования
Обязательные
- Forgejo: 1.20+ с Actions
- Forgejo Runner: установлен и запущен
- Cursor: активная подписка + API key
- Python: 3.8+
- Flutter: 3.24.0+ (для web_v2)
- Dart: 3.0+ (для backend/common)
Secrets
CURSOR_API_KEY- API ключ от CursorFORGEJO_TOKEN- Personal Access Token для Forgejo
Быстрый старт
1. Установите Runner
wget https://code.forgejo.org/forgejo/runner/releases/download/v3.3.0/forgejo-runner-3.3.0-linux-amd64
sudo mv forgejo-runner-3.3.0-linux-amd64 /usr/local/bin/forgejo-runner
sudo chmod +x /usr/local/bin/forgejo-runner
sudo forgejo-runner register --instance https://your-forgejo.com --token TOKEN
sudo forgejo-runner daemon
2. Добавьте Secrets
Repository -> Settings -> Secrets and Variables -> Actions
CURSOR_API_KEYFORGEJO_TOKEN
3. Запустите Planning
Actions -> AI Agent - Planning -> Run workflow -> web_v2
Готово! Агент начнет работу.
Документация
- Быстрый старт: QUICKSTART.md
- Полная настройка: FORGEJO_SETUP.md
- Конфигурация: CONFIGURATION.md
- Документация: README.md
Статистика
- Всего файлов: 21
- Python код: ~1500 строк
- Workflows: ~500 строк
- Prompts: ~700 строк
- Documentation: ~1700 строк
- Общий объем: ~4400 строк кода и документации
Возможности расширения
В будущем можно добавить:
- Telegram уведомления о прогрессе
- Dashboard для мониторинга
- Автоматические расписания (cron triggers)
- Metrics и аналитика (сколько задач выполнено, время и т.д.)
- Интеграция с CI/CD для автодеплоя
- A/B тестирование разных AI моделей
- Система приоритетов на основе бизнес-метрик
- Автоматический rollback при критических ошибках
Лицензия
Использует:
- Cursor CLI: Коммерческая лицензия Cursor
- Forgejo: MIT License
- Остальной код: Собственная разработка для проекта mnemo_cards
Создано: 2025-11-20
Версия: 1.0
Powered by: Cursor CLI + Claude Sonnet 4.5 + Forgejo Actions