Files
omnichannel-configserver-mcp/CONTRIBUTING.md
T
2026-10-07 20:13:23 +07:00

1.8 KiB

Разработка

Внутренний проект. Ниже — короткие правила, чтобы изменения проходили ревью быстро.

Окружение

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).

Локальный стенд

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 и коде.

Перед коммитом

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.