# 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 файла) 1. **`.github/workflows/agent-planning.yml`** - Запускается вручную (workflow_dispatch) - Анализирует проект - Создает task_list.json - Создает issue с summary - Триггерит development workflow 2. **`.github/workflows/agent-development.yml`** - Читает задачи из task_list.json - Использует Cursor CLI для написания кода - Запускает тесты - Делает коммиты - Цикл до завершения всех задач (макс 10 итераций, 6 часов) 3. **`.github/workflows/agent-test-deploy.yml`** - Триггерится автоматически после push - Определяет измененные компоненты - Запускает analyze + tests для каждого - Готовит к деплою если тесты прошли - Создает issue если тесты не прошли ### 🐍 Python Scripts (5 файлов) 1. **`tools/agent/config.py`** (124 строки) - Конфигурация для каждого компонента - Пути к файлам состояния - Команды для тестов/линтера/сборки 2. **`tools/agent/task_manager.py`** (334 строки) - Класс `Task` - представление задачи - Класс `AgentState` - состояние агента - Класс `TaskManager` - работа с задачами и состоянием - Класс `GlobalLock` - глобальная блокировка для shared resources 3. **`tools/agent/cursor_cli_wrapper.py`** (300 строк) - Wrapper для Cursor CLI - Парсинг stream-json output - Отслеживание прогресса (tool calls, files modified) - Обработка ошибок 4. **`tools/agent/agent_orchestrator.py`** (423 строки) - Главный оркестратор development цикла - Чтение задач - Выполнение через Cursor CLI - Запуск тестов - Создание коммитов - Обработка ретраев 5. **`tools/agent/planning_agent.py`** (334 строки) - Planning агент - Анализ текущего состояния проекта - Генерация task_list.json через Cursor CLI - Валидация JSON - Коммит task list ### 📝 Prompts (2 файла) 1. **`ai_docs/agent/prompts/development_prompt.md`** (~400 строк) - Инструкции для development агента - Code standards (Clean Architecture, yx_state) - Примеры кода - Testing guidelines - DO/DON'T список 2. **`ai_docs/agent/prompts/planning_prompt.md`** (~300 строк) - Инструкции для planning агента - Формат task list - Priority guidelines - Acceptance criteria examples - Task ordering strategy ### 📊 State Files (7 файлов) 1. **`ai_docs/agent/web_v2/task_list.json`** - задачи для web_v2 2. **`ai_docs/agent/web_v2/agent_state.json`** - состояние агента web_v2 3. **`ai_docs/agent/backend/task_list.json`** - задачи для backend 4. **`ai_docs/agent/backend/agent_state.json`** - состояние агента backend 5. **`ai_docs/agent/common/task_list.json`** - задачи для common 6. **`ai_docs/agent/common/agent_state.json`** - состояние агента common 7. **`ai_docs/agent/global_lock.json`** - глобальная блокировка ### 📚 Documentation (4 файла) 1. **`ai_docs/agent/README.md`** (~600 строк) - Полная документация системы - Архитектура - Как работают агенты - Multi-agent support - Мониторинг и отладка - Best practices - Примеры использования 2. **`ai_docs/agent/CONFIGURATION.md`** (~500 строк) - Детальная конфигурация для Forgejo - Настройка Forgejo Runner - Настройка secrets - Cursor CLI setup - Troubleshooting - Мониторинг - Security best practices 3. **`ai_docs/agent/FORGEJO_SETUP.md`** (~400 строк) - Пошаговая инструкция на 15-30 минут - Настройка Forgejo Actions - Установка runner - Создание secrets - Первый запуск - Checklist проверки 4. **`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 1. **Trigger**: Вручную через UI или API 2. **Input**: tasks.md, workflow_state.md, agent_state.json 3. **Process**: - Cursor CLI анализирует проект - Генерирует task_list.json 4. **Output**: - Обновленный task_list.json - GitHub issue с summary - Триггер development workflow ### Development Agent 1. **Trigger**: Автоматически после planning или вручную 2. **Input**: task_list.json 3. **Process**: - Цикл по задачам (по приоритету) - Для каждой задачи: - Cursor CLI пишет код - Запускаются тесты - При успехе: коммит + next task - При ошибке: retry до 3 раз 4. **Output**: - Git commits с изменениями - Обновленный agent_state.json - Issues для failed tasks ### Test & Deploy 1. **Trigger**: Автоматически после push 2. **Input**: Git diff 3. **Process**: - Определить измененные компоненты - Для каждого: analyze + test 4. **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 ключ от Cursor - `FORGEJO_TOKEN` - Personal Access Token для Forgejo ## Быстрый старт ### 1. Установите Runner ```bash 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_KEY` - `FORGEJO_TOKEN` ### 3. Запустите Planning Actions -> AI Agent - Planning -> Run workflow -> web_v2 **Готово!** Агент начнет работу. ## Документация - **Быстрый старт**: [QUICKSTART.md](./ai_docs/agent/QUICKSTART.md) - **Полная настройка**: [FORGEJO_SETUP.md](./ai_docs/agent/FORGEJO_SETUP.md) - **Конфигурация**: [CONFIGURATION.md](./ai_docs/agent/CONFIGURATION.md) - **Документация**: [README.md](./ai_docs/agent/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