# Разработка Внутренний проект. Ниже — короткие правила, чтобы изменения проходили ревью быстро. ## Окружение ```bash export GOPRIVATE=git.totmin.ru make build # собрать бинарник make ci # build + test(race) + lint + tidy-check (то же, что CI) ``` Требуется Go 1.27+ и доступ к приватному модулю `forge-toolkit` на `git.totmin.ru` (для него задаётся `GOPRIVATE`). ## Локальный стенд ```bash make demo # поднять config_server v1.1.0 и прогнать сквозной сценарий make demo-down # остановить и очистить ``` ## Принципы кода - Домен (`internal/configserver`) не зависит от MCP; MCP-слой (`internal/tools`) — только трансляция запрос/ответ. - Простота и читаемость важнее «умности»; код документируется по существу. - Новый инструмент: схема с описанием, обработчик, тест, запись в `docs/tools.md`. - Секреты только из переменных окружения или `config.local.json` (в `.gitignore`), никогда — в `config.json` и коде. ## Перед коммитом ```bash make ci ``` Проверки: `gofmt`, `go vet`, `go test -race`, `golangci-lint`, `go mod tidy`. CI (`.gitea/workflows/ci.yml`) запускается на PR и push в `main`. ## Коммиты и PR - Осмысленные сообщения; в PR — что, зачем, как проверяли, влияние на безопасность. - Пользовательские изменения отмечайте в `CHANGELOG.md`.