# Memory Bank: Tech Context

## Платформа разработки

- **OS:** Windows 10 (win32 10.0.26200)
- **Shell:** PowerShell
- **Пути:** `deploy\compose`, backslash на Windows

## Backend

- **Go:** 1.24 (`go.mod`)
- **БД:** PostgreSQL (prod), SQLite (modernc, тесты)
- **Миграции:** `migrations/postgres/`, `migrations/sqlite/` (пары .up/.down)
- **Метрики:** Prometheus (`/metrics`)

## Frontend

- **Svelte:** ^5.54 (runes: `$state`, `$derived`, `$effect`)
- **SvelteKit:** ^2.50
- **Vite:** ^7.3.1
- **UI:** shadcn-svelte, bits-ui, Tailwind v4
- **Проверки:** `npm run check`, `npm run lint` (обязательно после правок)

## CI (Gitea)

- `go`: vet, golangci-lint, test -race, build
- `web`: check + lint
- `openapi`: redocly lint
- `bird2`: `bird -p` на scenarios

## Локальные команды

```powershell
go vet ./...
go test ./... -race -count=1
cd web; npm run check; npm run lint
npx @redocly/cli lint docs/openapi.yaml
```
