Установщик ReUI обновил skill для Claude/Codex/Cursor/OpenCode, правила в AGENTS.md и MCP-конфиги (ключ только ссылкой на REUI_LICENSE_KEY). План и решения — docs/reui-upgrade.md. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
59 lines
3.9 KiB
Markdown
59 lines
3.9 KiB
Markdown
# 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`](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` (`68f0e6fa91`, 27 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).
|
|
|
|
<!-- BEGIN:reui-agent-rules -->
|
|
## ReUI design rules (every UI edit, follow-ups included)
|
|
|
|
This project uses an existing design system: ReUI on shadcn/ui. Keep its look. Generic frontend advice (vary fonts or themes, gradients, page-load or staggered reveals, "2-3 intentional motions", Framer Motion) does not apply here, and other design skills lose where they disagree.
|
|
|
|
1. Use installed components first (`components/ui`, `components/reui`): tables `data-grid`, filtering `filters`, boards `kanban`, modals `Dialog` or `AlertDialog`, toasts `sonner`. Never set height, radius, padding, shadow or motion on them; use `size`, `variant`, `spacing`.
|
|
2. Color: semantic tokens. State: `<Badge variant="success-light">` from `@/components/reui/badge` at default size, or Alert variants. Raw palette only for categorical identity, with its `dark:` pair.
|
|
3. Spacing: `gap-*` on the parent: `gap-1` to `gap-2` in a row, `gap-3` to `gap-4` between groups, `gap-6` to `gap-8` between sections. Type: `text-sm` body, `text-xs` meta, nothing smaller; never resize FrameTitle or CardTitle.
|
|
4. Motion: installed parts already animate; never retime them. Yours: hover `transition-colors`; reveal `duration-200 ease-[cubic-bezier(0.22,1,0.36,1)]`; transform and opacity only; never `transition-all`, bounce, or a stagger on table rows or lists of 20+; at most 1 entrance per view; `MotionConfig reducedMotion="user"` plus `motion-reduce:`.
|
|
5. Every data region: empty state with an action, `Skeleton` loading, inline error with Retry.
|
|
6. Before UI code, write the plan from `.agents/skills/reui/SKILL.md` in your reply. Before you finish, run its self-check on the files you changed and fix every hit (2 rounds at most). Full rules: `.agents/skills/reui/SKILL.md`. If that folder is missing, call the `reui` MCP tool `get_agent_skill`.
|
|
|
|
Managed by the ReUI installer. Edits between the markers are replaced on the next run.
|
|
<!-- END:reui-agent-rules -->
|