Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 4.31 KB

File metadata and controls

48 lines (37 loc) · 4.31 KB

Модули ErgocodeAi

Соглашения ErgocodeAi разделены на тематические модули.

При установке фреймворка агент исследует стек проекта, предлагает минимальный подходящий набор и сохраняет только подтверждённый пользователем список в ergo-config.yaml.

Затем при запуске рабочей сессии, стартовый хук загружает в контекст агента базовые модули, указанные в конфигурации, и их пересечения.

Выбираемые модули

Модуль Что подключает Когда выбирать
core Общие правила разметки, разработки production-кода и проектирования тестов. Всегда: модуль обязателен.
ergonomic-architecture Правила проектирования архитектуры в соответствии с Эргономичным подходом. Бэкенд-проект, для которого пользователь явно выбрал Эргономичную архитектуру.
ergonomic-testing Общая философия тестирования. Пользователь явно выбрал Эргономичное тестирование.
tdd Порядок разработки через тесты и проверка красного теста. Пользователь явно выбрал TDD.
database Схемы и миграции БД, транзакции, запросы, read models и условные записи. Проект работает с реляционной БД.
http-api HTTP-контракты, формат ошибок, boundary tests и типизированные HTTP test helpers. Проект предоставляет, использует или тестирует HTTP API.
kotlin Общие правила реализации production-кода и тестов на Kotlin. В целевой части проекта используется Kotlin.
spring Dependency injection, регистрация beans и Spring test doubles. В целевой части проекта используется Spring.
junit Именование и итоговая проверка JUnit-тестов. Проект использует JUnit.
kotest Реализация и итоговая проверка Kotest-тестов. Проект использует Kotest.

Автоматические пересечения

Модули пересечения — это модули, которые регламентируют работу на стыке/в связке двух и более других модулей. Пересечения отдельно не выбираются и становятся доступны только при наличии всех требуемых модулей.

Индекс Требуемые модули Дополнительный контекст
kotlin-database kotlin, database Работа с персистанс моделью на Kotlin.
kotlin-http-api kotlin, http-api Версионирование Kotlin врапперов для HTTP API.
spring-http-api spring, http-api Обработка ошибок и формат ошибочных ответов Spring HTTP JSON API.
spring-http-api-tests spring, http-api Тестовые клиенты Spring HTTP API.
spring-database spring, database Spring JDBC и маппинг строк.
spring-kotlin spring, kotlin Доступ к Spring бинам и их регистрация из Kotlin.

Конфигурация модулей

modules:
  - core
  - kotlin
  - junit

Неизвестный модуль, дубликат, отсутствие core в явном списке или некорректный YAML являются ошибкой. Если поле modules отсутствует, загрузчик предоставляет только core.