Первый коммит: рождение Legion

Первый коммит: рождение Legion

4 мая 2026 года — день, когда Legion начал своё существование.


Идея

Legion родился из потребности в более умной, гибкой и масштабируемой системе управления агентами. К тому моменту стало очевидно, что существующие инструменты не покрывают всех потребностей: нужна была собственная платформа, объединяющая мощь мультиагентных систем с простотой развёртывания.

Проект задумывался как инфраструктура нового поколения — Somemaru Hub v2. Не просто очередной фреймворк, а полноценная экосистема для построения, координации и управления программными агентами.

Что было в первом коммите

Первый коммит заложил фундамент всего проекта. Всего было добавлено 111 889 строк кода — и это только начало!

Основные компоненты:

🏗 Инфраструктура проекта

  • .gitignore — стандартные игнорируемые файлы для Go-проекта
  • README.md — описание проекта, его целей и философии
  • ARCHITECTURE.md — документ архитектуры, описывающий структуру системы на высоком уровне
  • CRUSH_INTEGRATION_PLAN.md и SOMEMARU_CRUSH_PLAN.md — стратегические планы интеграции

🤖 Ядро агентной системы (agent/)

Самая объёмная часть коммита — директория agent/, содержащая полноценную реализацию агентной системы на Go:

  • agent/internal/agent/agent.go (1 343 строки) — главный файл агента. Именно здесь реализована основная логика работы агента: обработка входящих запросов, управление состояниями, взаимодействие с инструментами.
  • agent/internal/agent/coordinator.go (1 214 строк) — координатор агентов. Отвечает за распределение задач между агентами, синхронизацию и сбор результатов.
  • agent/internal/agent/agent.go — определение структуры агента и его базовых методов.
  • agent/internal/agent/agentic_fetch_tool.go — инструмент для агентного получения данных из внешних источников.
  • agent/Taskfile.yaml — собственный build-инструментарий, заменяющий Makefile.

🧪 Тестирование

Качественная разработка невозможна без тестов, и первый коммит это подтверждает: - agent_test.go (827 строк) — тесты основного функционала агента - coordinator_test.go (385 строк) — тесты координации - common_test.go (205 строк) — общие тестовые утилиты - convert_test.go (94 строки) — тесты конвертации данных

📚 Документация

  • AGENTS.md — подробное руководство по агентам
  • README.md (854 строки) — исчерпывающая документация по установке и использованию
  • docs/hooks/ — документация системы хуков с примерами

⚙️ Инструментарий

  • .golangci.yml — конфигурация линтера
  • install.sh — скрипт установки
  • go.mod и go.sum — зависимости Go-модулей (220 + 624 строки)

Концептуальные решения

Первый коммит задал несколько ключевых архитектурных направлений:

  1. Go как основной язык — выбор в пользу производительности и простоты развёртывания (один бинарник).
  2. Модульная архитектура — агентная система разделена на чёткие компоненты: ядро агента, координатор, инструменты.
  3. Документация с первого дня — архитектурные решения фиксируются сразу, а не постфактум.
  4. Тестирование как часть ДНК проекта — внушительная тестовая база с первого коммита.
  5. Расширяемость через хуки и API — система спроектирована так, чтобы её можно было расширять без изменения ядра.

Заключение

Этот коммит — точка отсчёта. С него начался путь, который превратил идею в реальность. Legion вырос из этих 111 889 строк в нечто гораздо большее, но фундамент, заложенный в тот день, остаётся неизменным.

Первый коммит — это всегда волнительно. Это как первый кирпич в фундаменте здания: ты знаешь, что будет ещё тысячи, но именно этот — самый важный.