Initial commit: omnichannel-mcp — MCP-сервер управления платформой Omnichannel
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Разработка
|
||||
|
||||
Внутренний проект. Ниже — короткие правила, чтобы изменения проходили ревью
|
||||
быстро.
|
||||
|
||||
## Окружение
|
||||
|
||||
```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`.
|
||||
Reference in New Issue
Block a user