generated from VLADIMIR/template
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# Backend — правила работы агента
|
|
|
|
## Стек
|
|
|
|
- Go `1.26`;
|
|
- gRPC + grpc-gateway;
|
|
- PostgreSQL через `pgx`;
|
|
- миграции Goose;
|
|
- S3-совместимое хранилище для файлов;
|
|
- MCP встроен в основной сервис.
|
|
|
|
## Стандарт Go-кода
|
|
|
|
[`docs/GO_STANDARD.md`](docs/GO_STANDARD.md) — единственный источник правил
|
|
написания Go-кода. Для задач, затрагивающих Go-бэкенд, соблюдай его требования.
|
|
|
|
## Проектные ограничения
|
|
|
|
- Не добавляй `.env`, ключи, пароли или локальные артефакты в Git.
|
|
- Коммиты и push выполняет только пользователь; агент никогда не коммитит и не
|
|
отправляет изменения.
|
|
|
|
## Проверки
|
|
|
|
```sh
|
|
gofmt -w <изменённые-go-файлы>
|
|
go test ./...
|
|
```
|
|
|
|
После изменения protobuf:
|
|
|
|
```sh
|
|
make generate
|
|
```
|
|
|
|
Для проверки с PostgreSQL используй отдельную тестовую базу через
|
|
`TEST_DATABASE_URL`; интеграционные тесты не должны зависеть от production-базы.
|
|
|
|
## Локальный запуск
|
|
|
|
```sh
|
|
docker compose -f docker-compose-db.yml up -d
|
|
cp .env.example .env
|
|
make run
|
|
```
|
|
|
|
gRPC слушает `:8080`, REST gateway — `:8090`.
|