Skip to main content
Glama

Мультиагентная система автоматизации разработки — агентный CI/CD конвейер

Автоматизированный агентный CI/CD конвейер с использованием FastAPI, агентов на основе Claude и Model Context Protocol (MCP) для автоматического анализа Pull Request'ов GitHub, запуска модульных тестов и линтинга файлов.

Архитектура проекта

devagent/
├── agents/             # Claude-powered agents
│   ├── base_agent.py      # Base agent with tool execution loop
│   ├── reviewer_agent.py  # Reviewer agent parsing PR diffs
│   └── prompts.py         # System prompts
├── app/                # FastAPI application
│   ├── api/routes/        # API endpoints (health)
│   ├── services/          # Claude integration service
│   ├── config.py          # Settings and environment config
│   └── main.py            # FastAPI main entrypoint
├── mcp_server/         # MCP Server
│   ├── server.py          # MCPServer registration and endpoints
│   └── tools/             # MCP tools (fetch_pr_diff, lint, run_tests, search)
├── tests/              # Test suite (pytest)
│   ├── test_agents.py
│   ├── test_health.py
│   └── test_mcp_tools.py
├── .env.example        # Environment template
├── .gitignore          # Git ignore files
└── requirements.txt    # Python dependencies

Related MCP server: code-review-mcp-server

Возможности и MCP-инструменты

  • BaseAgent: Выполняет цикл вызова инструментов с использованием Anthropic API (Claude 3.5 Sonnet) для рекурсивного сбора информации о кодовой базе.

  • ReviewerAgent: Выполняет проверку кода на основе PR-диффов, ища ошибки корректности, уязвимости безопасности и проблемы качества кода.

  • MCP-инструменты:

    • fetch_pr_diff: Получает изменённые файлы и патчи для GitHub PR.

    • search_codebase: Выполняет поиск по локальным файлам с помощью паттернов или текстового поиска.

    • run_tests: Запускает модульные тесты с использованием pytest внутри целевого репозитория.

    • lint_code: Запускает линтер Ruff на целевых файлах.

Установка и настройка

  1. Клонируйте репозиторий (после публикации на GitHub).

  2. Создайте и активируйте виртуальное окружение:

    python -m venv .venv
    # Windows:
    .venv\Scripts\activate
    # Linux/macOS:
    source .venv/bin/activate
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Настройте переменные окружения: Создайте файл .env из шаблона и заполните свои ключи:

    cp .env.example .env

    Добавьте свой ANTHROPIC_API_KEY и при необходимости GITHUB_TOKEN.

Запуск проекта

Запуск FastAPI-приложения

uvicorn app.main:app --reload

Документация API доступна по адресу http://localhost:8000/docs.

Запуск MCP-сервера

Чтобы запустить MCP-сервер напрямую:

python mcp_server/server.py

Запуск тестов

Чтобы запустить все тесты и проверить работу системы:

python -m pytest

Related MCP Connectors

Related MCP Servers