Этот каталог содержит канонический набор документов по требованиям и архитектуре проекта.
Repo-level инструкции для кодинг-агентов лежат в ../AGENTS.md.
- Источником истины считается текущий код в репозитории и проходящие тесты.
- Если
README, старые заметки и код расходятся, приоритет у кода и тестов. - Общие документы живут в
doc/, а package-level контекст лежит рядом с пакетами вREADME.md.
requirements.md— продуктовые и технические требования, CLI-контракт, режимы, конфигурация и нефункциональные инварианты.architecture.md— слои системы, зависимости, пайплайны режимов, файловые артефакты и диаграммы.
../internal/hybrid/README.md../internal/tools/README.md../internal/rag/README.md../internal/map/README.md
../internal/aitools/README.md../internal/aitools/files/README.md../internal/aitools/rag/README.md../internal/aitools/seed/README.md../internal/ragcore/README.md../internal/llm/README.md../internal/input/README.md../internal/retrieval/README.md../internal/selfupdate/README.md../internal/testutil/README.md../internal/verbose/README.md../internal/verbose/testutil/README.md../internal/localize/README.md../internal/logging/README.md
- При изменении CLI-флагов или defaults сначала обновляйте код и тесты, затем
doc/requirements.mdи корневойREADME.md. - При изменении пайплайна одного режима обновляйте
doc/architecture.mdи package-levelREADME.mdсоответствующего пакета. - При добавлении нового пакета с самостоятельной ролью добавляйте рядом с ним
README.mdи ссылку на него из этого индекса. - Live smoke с реальным backend'ом запускается через
scripts/e2e_live_smoke.sh;lefthookвешает его наpre-pushтолько для пушей с*.goфайлами, а наpre-commitгоняетgofmt,golangci-lint,go test ./...,scripts/property_test.shиgovulncheck ./.... - Property-based тесты запускаются отдельным job в
.github/workflows/ci.yamlчерезscripts/property_test.sh, чтобы в CI они были видны отдельно от общегоgo test ./..., но оставались синхронизированы с локальным hook entrypoint. - Mutation testing запускается отдельно через
scripts/mutation_test.shи.github/workflows/mutation.yaml; это осознанное исключение из обычной синхронизацииlefthookи основногоci.yaml, потому что mutation run слишком дорог для каждогоpre-commitи стандартного CI job.