- демо-блоки blocks/ (sheet-9, solution-users-1/6, settings-5, auth-18) — не импортировались; auth-logo перенесён в components/auth-logo.tsx - варианты грида data-grid-table-dnd/-dnd-rows/-virtual и ui/svgs — не импортировались - убраны исключения blocks из tsconfig и eslint - AGENTS.md: добавить apps/api/db/shared в описание стека
2.0 KiB
2.0 KiB
Auth Portal — Руководство для ИИ
Стек
- Monorepo:
apps/web+apps/api(@authportal/api, Fastify + SQLite/better-sqlite3) +packages/ui(@authportal/ui) +packages/db+packages/shared - Vite + React + TanStack + shadcn base-nova + ReUI Frame
- App Switcher: CFDM / vps / bgp / fw / dns (Technitium)
- Auth: JWT fragment SSO для своих SPA и OIDC IdP для внешних RP (Technitium)
OIDC
- Endpoints:
/.well-known/openid-configuration,/.well-known/jwks.json,/oauth/authorize,/oauth/token,/oauth/userinfo - Admin UI:
/admin/oidc - Docs:
docs/integrate-technitium.md
UI
- Hierarchy: ReUI PRO > shadcn
- Surface: frame
- Contract:
docs/ui-design-contract.md - Docs: Introduction · llms.txt · MCP · Agent Skills
- Skill:
.claude/skills/reui(668fb463eb, 20 free components) - Rules:
.cursor/rules/reui-mcp.mdc,frontend-shadcn.mdc,frontend-ui-patterns.mdc,shadcn-mcp.mdc,shadcn-ui-production.mdc - Primary MCP:
user-reui; primitives:plugin-shadcn-shadcn - Chrome: header AppsMenu → SystemMonitorPopover; NavUser in sidebar footer (theme segmented); no ModeToggle in header
- Kit:
KpiStatGrid,QuickActionGrid(SoT markup = EvoBGP + IconTile); lists =AdminUsersGrid/ PageShell + Frame + DataGrid
License
REUI_LICENSE_KEY in apps/web/.env.local + Bearer in apps/web/components.json.
Команды
pnpm install
pnpm --filter web dev
pnpm --filter web build
pnpm --filter @authportal/api test
CI / Docker
Gitea: .gitea/workflows/{ci,cd,quality}.yaml. Образы: deploy/docker (node:22-alpine, bake + registry cache). Теги authportal + drop-in auth-portal. Не корневой Dockerfile. Подробнее: docs/releasing.md, .gitea/README.md.