# CDN Manager Self-hosted CDN management (каркас). Стек как у CFDM: pnpm monorepo, Vite + React + TanStack + shadcn/ReUI, Fastify + Drizzle + SQLite. ## Стек - Monorepo: pnpm + turbo (`apps/*`, `packages/*`) - `apps/web` — Vite + React + TanStack + shadcn **base-nova** + ReUI Frame - `apps/api` — Fastify + Drizzle + SQLite - Packages: `@cdnmanager/ui`, `@cdnmanager/shared`, `@cdnmanager/db` ## Команды ```bash pnpm install pnpm --filter @cdnmanager/shared build pnpm --filter @cdnmanager/db build pnpm --filter @cdnmanager/api dev pnpm --filter web dev pnpm --filter web build ``` Локально: API `http://localhost:8081`, web `http://localhost:5176`. ## ReUI PRO Surface: **frame**. Hierarchy: **ReUI PRO > shadcn**. Contract: [`docs/ui-design-contract.md`](docs/ui-design-contract.md). MCP `user-reui` primary + `plugin-shadcn-shadcn` primitives. CLI из `apps/web`. License: `REUI_LICENSE_KEY` в `apps/web/.env.local`. ## Auth App id в auth-portal: **`cdn`**. Локально `AUTH_REQUIRED=false`, логин `admin` / `admin`. ## CI / Docker Gitea: `.gitea/workflows/{ci,cd,quality}.yaml`. Образы: `deploy/docker` (`cdnmanager` + alias `cdn-manager`).