generated from VLADIMIR/template
72 lines
3.5 KiB
Markdown
72 lines
3.5 KiB
Markdown
# evening_detective_server
|
||
|
||
Шалон для Go сервисов (имя репо должно быть snake case)
|
||
Методы http должны быть с префиксом /api
|
||
|
||
Инициализация
|
||
|
||
```shell
|
||
make generate
|
||
go mod tidy
|
||
docker compose -f docker-compose-db.yml up -d
|
||
cp .env.example .env
|
||
mkdir migrations
|
||
```
|
||
|
||
Запуск
|
||
|
||
```shell
|
||
make run
|
||
```
|
||
|
||
Сборка
|
||
|
||
```shell
|
||
make build-builder
|
||
make build-linux
|
||
```
|
||
|
||
Миграции
|
||
|
||
```shell
|
||
goose -dir ./migrations create {migration name} sql
|
||
goose -dir ./migrations postgres "user=postgres password=postgres host=localhost dbname=evening_detective_server sslmode=disable" up
|
||
```
|
||
|
||
Тестирование
|
||
|
||
```shell
|
||
make test
|
||
```
|
||
|
||
## Документация и юридические документы
|
||
|
||
- [`docs/TERMS.md`](docs/TERMS.md) — Пользовательское соглашение (оферта); раздаётся сервером по постоянному URL `/terms`;
|
||
- [`docs/PRIVACY.md`](docs/PRIVACY.md) — Политика конфиденциальности и обработки персональных данных (152-ФЗ); раздаётся сервером по постоянному URL `/privacy`;
|
||
- [`docs/CONSENT.md`](docs/CONSENT.md) — текст согласия на обработку ПДн для формы регистрации (URL `/consent`);
|
||
- [`docs/COMPLIANCE.md`](docs/COMPLIANCE.md) — чек-лист приведения сервиса в соответствие с документами.
|
||
|
||
Юридические эндпоинты:
|
||
|
||
- `POST /api/auth/signup` — регистрация; требует `accept_terms: true` и `accept_privacy: true` (факт акцепта фиксируется в таблице `user_agreements`);
|
||
- `DELETE /api/auth/delete-account` — удаление учётной записи и персональных данных (авторизован JWT, подтверждение паролем в HTTP-заголовке `X-Password`).
|
||
|
||
## Агент «Юрист по ПО» (DSH)
|
||
|
||
В каталоге [`agents/software-lawyer`](agents/software-lawyer) лежит агент-пресет для DeepSeek Harness: специализированный консультант по правовым вопросам разработки ПО (лицензии, авторские права, персональные данные 152-ФЗ/GDPR, договоры). Отвечает на основе встроенной базы знаний (`skills/software-law/references/`), без внешних API.
|
||
|
||
Установка (копирует пресет в `~/.dsh/.agent-presets/software-lawyer`):
|
||
|
||
```shell
|
||
./agents/software-lawyer/install.sh
|
||
```
|
||
|
||
После установки пресет «Юрист по ПО» появится в списке агентов при создании новой сессии в веб-интерфейсе DSH. Повторная установка с перезаписью: `./agents/software-lawyer/install.sh --force`.
|
||
|
||
Структура:
|
||
|
||
- `agent.cordis.yml` — композиция агента (полный набор инструментов, как у пресета `standard`, + персона юриста и скилл-база);
|
||
- `preset.yml` — отображаемое имя и описание;
|
||
- `skills/software-law/` — база знаний: `SKILL.md` (правила консультаций) и `references/` (лицензии, авторские права, ПДн, договоры).
|
||
|