quality / commitlint (push) Skipped
quality / changes (push) Successful in 7s
quality / docker-check (push) Skipped
quality / web (push) Successful in 1m7s
quality / api (push) Successful in 44s
CD / quality (push) Successful in 2m3s
CD / publish (push) Successful in 3m31s
Co-authored-by: Cursor <[email protected]>
44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
# Auth Portal — Руководство для ИИ
|
|
|
|
## Стек
|
|
|
|
- Monorepo: `apps/web` + `packages/ui` (`@authportal/ui`)
|
|
- 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`](docs/integrate-technitium.md)
|
|
|
|
## UI
|
|
|
|
- Hierarchy: **ReUI PRO > shadcn**
|
|
- Surface: **frame**
|
|
- Contract: [`docs/ui-design-contract.md`](docs/ui-design-contract.md)
|
|
- Docs: [Introduction](https://reui.io/docs) · [llms.txt](https://reui.io/llms.txt) · [MCP](https://reui.io/docs/mcp) · [Agent Skills](https://reui.io/docs/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`.
|
|
|
|
## Команды
|
|
|
|
```bash
|
|
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`](docs/releasing.md), [`.gitea/README.md`](.gitea/README.md).
|