# Локальная разработка

Текущий состав — в [ARCHITECTURE](</experiments/voice-ai/archive/w/DOCS/ARCHITECTURE.md>).
Локальная композиция: [docker-compose.yml](#archive-availability).
Удалённые Ruby/workflow profiles и WebRTC ingress не являются вариантами запуска.

## Перед запуском

В локальном окружении должны быть настроены значения, требуемые Compose:
`CHAT_NATS_AUTH_SEED`, `CHAT_NATS_AUTH_ISSUER`, `CHAT_NATS_AUTH_USER`,
`CHAT_NATS_AUTH_PASSWORD`, а для сборки PostgreSQL — `CI_CHAT_AGENT_POSTGRES_BASE_IMAGE`.
Не копируйте production credentials в репозиторий.
Параметры внешней модели и ASR задавайте по текущей конфигурации, без скрытой подмены адреса.

```bash
cd docker
docker compose config --quiet
docker compose up -d --build
```

Этот запуск требует доступных внешних зависимостей и Docker. Не запускайте
`down`, не удаляйте volumes и не пересоздавайте пользовательский стек ради проверки документации.
Локальный Front: `http://127.0.0.1:8080/`, Gateway: `http://127.0.0.1:8101/api`.
Browser chat NATS проходит через Front `/chat-ws`; внутренние адреса заданы в Compose.

## Изолированные проверки

```bash
cd src_front
npm ci --no-audit
npm test -- src/extension/domRuntime.test.ts
npm run build
npm run extension:build
```

Python-зависимости устанавливаются в отдельное venv по requirements затронутых частей.
PostgreSQL/NATS integration использует явно выделенные тестовые ресурсы; см.
[init_database.py](</experiments/voice-ai/archive/w/tests/integration/init_database.py>) и штатные CI commands.

Debug использует [override](#archive-availability),
[пример настроек](#archive-availability) и существующие `.run/Attach_*`.
Задайте абсолютный `PYCHARM_PROJECT_ROOT`, запуск остаётся detached.
[Правила проверки и поставки](</experiments/voice-ai/archive/w/.knowledge/workflows.md>).
