Соглашения 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.