# Быстрая настройка для Forgejo Пошаговая инструкция для быстрого запуска AI Agent системы на Forgejo. ## Шаг 1: Настройка Forgejo Actions ### 1.1 Включите Actions в Forgejo Отредактируйте `/etc/forgejo/app.ini`: ```ini [actions] ENABLED = true DEFAULT_ACTIONS_URL = https://code.forgejo.org ``` Перезапустите: ```bash sudo systemctl restart forgejo ``` ### 1.2 Установите Forgejo Runner ```bash # Скачайте 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 mkdir -p /etc/forgejo-runner cd /etc/forgejo-runner ``` ### 1.3 Получите Registration Token 1. Откройте Forgejo в браузере 2. Перейдите в ваш репозиторий 3. Settings -> Actions -> Runners 4. Нажмите "Create new Runner" 5. Скопируйте Registration Token ### 1.4 Зарегистрируйте Runner ```bash cd /etc/forgejo-runner sudo forgejo-runner register \ --no-interactive \ --instance https://your-forgejo.com \ --token ВАШТОКЕН \ --name ai-agent-runner \ --labels ubuntu-latest:docker://node:16-bullseye ``` ### 1.5 Создайте systemd service ```bash sudo tee /etc/systemd/system/forgejo-runner.service > /dev/null < API Keys 4. "Create new API key" 5. Скопируйте ключ (показывается только один раз!) Сохраните ключ, например: `sk-cursor-abc123...` ## Шаг 3: Настройка Secrets в Forgejo ### 3.1 Создайте Forgejo Token 1. Forgejo -> Settings -> Applications 2. Generate New Token 3. Token Name: `ai-agent-token` 4. Select Scopes: - ✅ `repo` (Full control of repositories) - ✅ `write:issue` (Create and edit issues) - ✅ `write:workflow` (Update workflow files) 5. Generate Token 6. Скопируйте token ### 3.2 Добавьте Secrets в Repository 1. Откройте ваш репозиторий в Forgejo 2. Settings -> Secrets and Variables -> Actions 3. Добавьте два обязательных secrets: **Secret 1: CURSOR_API_KEY** - Name: `CURSOR_API_KEY` - Value: `sk-cursor-abc123...` (ваш ключ из Step 2.1) **Secret 2: FORGEJO_TOKEN** - Name: `FORGEJO_TOKEN` - Value: ваш token из Step 3.1 **Optional Secret 3: CURSOR_MODEL** - Name: `CURSOR_MODEL` - Value: `claude-3-5-sonnet-20241022` ## Шаг 4: Проверка файлов Убедитесь что эти файлы существуют в вашем репозитории: ```bash ls -la .github/workflows/ # Должны быть: # - agent-planning.yml # - agent-development.yml # - agent-test-deploy.yml ls -la tools/agent/ # Должны быть: # - config.py # - task_manager.py # - cursor_cli_wrapper.py # - agent_orchestrator.py # - planning_agent.py ls -la ai_docs/agent/ # Должны быть: # - web_v2/task_list.json # - web_v2/agent_state.json # - backend/task_list.json # - backend/agent_state.json # - global_lock.json # - prompts/development_prompt.md # - prompts/planning_prompt.md ``` ## Шаг 5: Первый запуск ### 5.1 Запустите Planning Agent 1. В Forgejo откройте репозиторий 2. Перейдите на вкладку **Actions** 3. Слева выберите **"AI Agent - Planning"** 4. Справа нажмите **"Run workflow"** 5. Выберите: - Branch: `master` - Component: `web_v2` 6. Нажмите **"Run workflow"** ### 5.2 Наблюдайте за выполнением 1. Вернитесь на вкладку Actions 2. Увидите новый workflow run 3. Кликните на него 4. Смотрите логи в реальном времени ### 5.3 Проверьте результат После завершения Planning Agent: ```bash # Клонируйте репозиторий (если еще не клонировали) git clone https://your-forgejo.com/user/repo.git cd repo # Проверьте task list cat ai_docs/agent/web_v2/task_list.json | jq # Должен быть JSON с задачами ``` Также: - Должен появиться новый Issue с summary - Должен автоматически запуститься Development Agent ### 5.4 Наблюдайте Development Agent Development Agent запустится автоматически: 1. Actions -> "AI Agent - Development" 2. Найдите активный workflow run 3. Смотрите как агент: - Читает задачи - Пишет код - Запускает тесты - Делает коммиты ## Проверка что все работает ### ✅ Checklist - [ ] Forgejo Actions включены (`app.ini`) - [ ] Forgejo Runner запущен и online - [ ] Cursor API Key получен - [ ] Forgejo Token создан - [ ] Оба secrets добавлены в repository - [ ] Workflow файлы существуют в `.github/workflows/` - [ ] Python скрипты существуют в `tools/agent/` - [ ] State файлы существуют в `ai_docs/agent/*/` - [ ] Planning Agent успешно запущен - [ ] Task list JSON создан - [ ] Development Agent запущен автоматически ### 🐛 Если что-то не работает **Runner offline:** ```bash sudo systemctl status forgejo-runner sudo journalctl -u forgejo-runner -f ``` **Workflow не запускается:** - Проверьте что runner online (Settings -> Actions -> Runners) - Проверьте labels runner совпадают с `runs-on: ubuntu-latest` **Secrets не работают:** - Перепроверьте названия: `CURSOR_API_KEY` и `FORGEJO_TOKEN` - Убедитесь что ввели правильные значения - Попробуйте пересоздать secrets **Python ошибки:** - Проверьте логи workflow - Убедитесь что все файлы в `tools/agent/` существуют - Проверьте синтаксис Python скриптов ## Дальнейшие шаги После успешного первого запуска: 1. **Мониторинг**: Следите за прогрессом в Actions tab 2. **Ревью**: Проверяйте коммиты от агента 3. **Настройка**: Отредактируйте `tasks.md` для новых задач 4. **Масштабирование**: Запустите агентов для других компонентов (backend, common) ## Полезные команды ```bash # Проверка runner sudo systemctl status forgejo-runner # Логи runner sudo journalctl -u forgejo-runner -f # Проверка agent state cat ai_docs/agent/web_v2/agent_state.json | jq # Проверка task list cat ai_docs/agent/web_v2/task_list.json | jq # Триггер planning через API curl -X POST \ "https://your-forgejo.com/api/v1/repos/user/repo/actions/workflows/agent-planning.yml/dispatches" \ -H "Authorization: token $FORGEJO_TOKEN" \ -H "Content-Type: application/json" \ -d '{"ref":"master","inputs":{"component":"web_v2"}}' # Список workflow runs curl -X GET \ "https://your-forgejo.com/api/v1/repos/user/repo/actions/runs" \ -H "Authorization: token $FORGEJO_TOKEN" ``` ## Поддержка Если возникли проблемы: 1. Проверьте [CONFIGURATION.md](./CONFIGURATION.md) для детальной настройки 2. Посмотрите [README.md](./README.md) для полной документации 3. Проверьте логи: `sudo journalctl -u forgejo-runner -f` 4. Создайте issue в репозитории --- **Время на настройку**: 15-30 минут **Сложность**: Средняя **Требует**: Root доступ к серверу Forgejo