From 8613749de16209d2738c464aae3995056c23f411 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Thu, 15 Oct 2026 20:49:58 +0700 Subject: [PATCH] =?UTF-8?q?chore(release)!:=20=D0=BF=D0=BE=D0=B4=D0=B3?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=B2=D0=B8=D1=82=D1=8C=20=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D1=83=D1=8E=20=D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agents/skills/reui/SKILL.md | 8 +-- .agents/skills/reui/rules/cli.md | 8 +-- .agents/skills/reui/rules/components.md | 22 ++++++- .agents/skills/reui/rules/registry.md | 4 +- .agents/skills/reui/rules/workflow.md | 2 +- .agents/skills/reui/tools.md | 6 +- .ci/scripts/compute-release.mjs | 18 ++++-- .ci/scripts/compute-release.test.mjs | 61 ++++++++++++++++++++ .claude/skills/reui/SKILL.md | 8 +-- .claude/skills/reui/rules/cli.md | 8 +-- .claude/skills/reui/rules/components.md | 22 ++++++- .claude/skills/reui/rules/registry.md | 4 +- .claude/skills/reui/rules/workflow.md | 2 +- .claude/skills/reui/tools.md | 6 +- .codex/config.toml | 3 + .cursor/rules/release-versioning.mdc | 6 +- .cursor/rules/reui.mdc | 8 +-- .cursor/skills/reui/SKILL.md | 8 +-- .cursor/skills/reui/rules/cli.md | 8 +-- .cursor/skills/reui/rules/components.md | 22 ++++++- .cursor/skills/reui/rules/registry.md | 4 +- .cursor/skills/reui/rules/workflow.md | 2 +- .cursor/skills/reui/tools.md | 6 +- .gitea/workflows/docker.yml | 3 + .gitignore | 3 + .opencode/skills/reui/SKILL.md | 8 +-- .opencode/skills/reui/rules/cli.md | 8 +-- .opencode/skills/reui/rules/components.md | 22 ++++++- .opencode/skills/reui/rules/registry.md | 4 +- .opencode/skills/reui/rules/workflow.md | 2 +- .opencode/skills/reui/tools.md | 6 +- AGENTS.md | 3 +- README.md | 4 +- docs/releases/2.0.0.md | 31 ++++++++++ docs/ux-ui-acceptance-candidate.md | 2 +- docs/ux-ui-external-acceptance.md | 2 +- docs/ux-ui-plan.md | 2 +- docs/ux-ui-progress.md | 6 +- docs/ux-ui-remaining-acceptance.md | 2 +- docs/ux-ui-stage-12.md | 2 +- docs/ux-ui-test-server.md | 2 +- docs/ux-ui/screens/gre-desktop.png | Bin 134423 -> 134572 bytes docs/ux-ui/screens/gre-form-desktop.png | Bin 249115 -> 252199 bytes docs/ux-ui/screens/gre-form-mobile.png | Bin 55773 -> 54632 bytes docs/ux-ui/screens/gre-mobile.png | Bin 48974 -> 48230 bytes docs/ux-ui/screens/vxlan-desktop.png | Bin 134502 -> 135368 bytes docs/ux-ui/screens/vxlan-export-desktop.png | Bin 224441 -> 231579 bytes docs/ux-ui/screens/vxlan-export-mobile.png | Bin 44093 -> 48913 bytes docs/ux-ui/screens/vxlan-mobile.png | Bin 56417 -> 55432 bytes 49 files changed, 279 insertions(+), 79 deletions(-) create mode 100644 .ci/scripts/compute-release.test.mjs create mode 100644 .codex/config.toml create mode 100644 docs/releases/2.0.0.md diff --git a/.agents/skills/reui/SKILL.md b/.agents/skills/reui/SKILL.md index 446b856e..27331b81 100644 --- a/.agents/skills/reui/SKILL.md +++ b/.agents/skills/reui/SKILL.md @@ -1,17 +1,17 @@ --- name: reui -description: Use the ReUI registry from your AI agent - find, install, and correctly use ReUI components (the 20 free building blocks like data-grid, kanban, filters), their free examples, premium blocks, and Motion Icons. Applies in any project using ReUI, the @reui registry, REUI_LICENSE_KEY, or any shadcn project where the user asks for premium blocks, data grids, kanban boards, dashboards, or full pages. Pairs with the free ReUI MCP server for live, scored registry search and inline component APIs. +description: Use the ReUI registry from your AI agent - find, install, and correctly use ReUI components (the 22 free building blocks like data-grid, kanban, filters), their free examples, premium blocks, and Motion Icons. Applies in any project using ReUI, the @reui registry, REUI_LICENSE_KEY, or any shadcn project where the user asks for premium blocks, data grids, kanban boards, dashboards, or full pages. Pairs with the free ReUI MCP server for live, scored registry search and inline component APIs. user-invocable: false allowed-tools: Bash(npx shadcn@latest *), Bash(pnpm dlx shadcn@latest *), Bash(bunx --bun shadcn@latest *) --- -> **ReUI skill version `3bdbad788a`.** If the ReUI MCP's `get_agent_skill` reports a newer `version`, re-run the ReUI installer (see `get_agent_skill` -> `install.recommended`) to update this skill. Cloud/tools-only agents have no local file and always read the latest - they can ignore this. +> **ReUI skill version `fe6742e29c`.** If the ReUI MCP's `get_agent_skill` reports a newer `version`, re-run the ReUI installer (see `get_agent_skill` -> `install.recommended`) to update this skill. Cloud/tools-only agents have no local file and always read the latest - they can ignore this. # ReUI for Agents ReUI is a shadcn-compatible registry. It ships four things you **reuse** - never redesign: -- **components** - the 20 ReUI building blocks with real APIs: `data-grid`, `kanban`, `filters`, `date-selector`, `tree`, `stepper`, ... (free) +- **components** - the 22 ReUI building blocks with real APIs: `data-grid`, `kanban`, `filters`, `date-selector`, `tree`, `stepper`, ... (free) - **examples** - free `c-*` single-pattern use-cases of a component (`c-kanban-1`); install one and read it to see exact composition - **blocks** - premium full-page sections that compose components (`data-grid-2`, `pricing-page-1`); Pro or Ultimate license at install - **icons** - Motion Icons in 4 styles, static + hover-animated variants; Ultimate license at install @@ -58,7 +58,7 @@ Invocation differs slightly per agent (`/mcp__reui__build` in Claude Code/Cursor - [rules/registry.md](./rules/registry.md) - the four types, the @reui registry, base/radix, free vs premium + license - [rules/workflow.md](./rules/workflow.md) - the find -> install -> read-API -> adapt loop (most important) -- [rules/components.md](./rules/components.md) - the 20 components, the data-grid contract, base vs radix +- [rules/components.md](./rules/components.md) - the 22 components, the data-grid contract, base vs radix - [rules/adapting.md](./rules/adapting.md) - reuse-first: preserve the design (no over-customizing), reuse examples + a block's own elements, real data, don't invent APIs - [rules/craft.md](./rules/craft.md) - make it exceptional: point of view, hierarchy, density, states, responsive, motion, the bar - [rules/quality.md](./rules/quality.md) - security, accessibility, and scroll gates (the done gate) diff --git a/.agents/skills/reui/rules/cli.md b/.agents/skills/reui/rules/cli.md index 05d03812..5e8f546c 100644 --- a/.agents/skills/reui/rules/cli.md +++ b/.agents/skills/reui/rules/cli.md @@ -2,7 +2,7 @@ ## Registry setup (one-time, per project) -Free items (the 20 components and all `c-*` examples) need only the plain string registry in `components.json`: +Free items (the 22 components and all `c-*` examples) need only the plain string registry in `components.json`: ```json { "registries": { "@reui": "https://reui.io/r/{style}/{name}.json" } } @@ -31,7 +31,7 @@ REUI_LICENSE_KEY=your-license-key The shadcn CLI expands `${REUI_LICENSE_KEY}` from `.env.local` inside `components.json`, but an MCP client config never expands variables, so a ReUI MCP server config must carry the raw token instead (for example `reui_pat_your_token_here`). -The MCP `get_project_context` tool returns the right config. Full guide: https://reui.io/docs/registry +The MCP `get_project_context` tool returns the right config. Full guide: https://reui.io/docs/registry?ref=skill ## Installing @@ -54,7 +54,7 @@ bunx --bun shadcn@latest add @reui/ --yes # bun ## Free vs premium boundary -- Public, no key: `c-*` examples and the 20 components (`@reui/data-grid`, `@reui/badge`, ...) that those examples depend on. +- Public, no key: `c-*` examples and the 22 components (`@reui/data-grid`, `@reui/badge`, ...) that those examples depend on. - Key required at install: blocks (`@reui/-N`) need a Pro or Ultimate license; Motion Icons (`@reui/icons/...`) and templates need Ultimate. -If an install 401/403s, the license key is missing, invalid, or the plan does not cover that resource (blocks: Pro or higher; icons and templates: Ultimate). Point the user to https://reui.io/account (their key) or https://reui.io/pricing (upgrade). +If an install 401/403s, the license key is missing, invalid, or the plan does not cover that resource (blocks: Pro or higher; icons and templates: Ultimate). Point the user to https://reui.io/account?ref=skill (their key) or https://reui.io/pricing?ref=skill (upgrade). diff --git a/.agents/skills/reui/rules/components.md b/.agents/skills/reui/rules/components.md index 96d87f1b..0060c15d 100644 --- a/.agents/skills/reui/rules/components.md +++ b/.agents/skills/reui/rules/components.md @@ -1,6 +1,6 @@ # ReUI components -The 21 ReUI building blocks: `alert`, `autocomplete`, `badge`, `cascader`, `data-grid`, `date-selector`, `event-calendar`, `filters`, `frame`, `gantt`, `icon-stack`, `icon-tile`, `kanban`, `number-field`, `phone-input`, `rating`, `scrollspy`, `sortable`, `stepper`, `timeline`, `tree`. Examples and blocks are composed from these. +The 22 ReUI building blocks: `alert`, `autocomplete`, `badge`, `cascader`, `code-block`, `data-grid`, `date-selector`, `event-calendar`, `filters`, `frame`, `gantt`, `icon-stack`, `icon-tile`, `kanban`, `number-field`, `phone-input`, `rating`, `scrollspy`, `sortable`, `stepper`, `timeline`, `tree`. Examples and blocks are composed from these. **Rule one: never guess a component's API. Read it first.** Call **`get_component(name)`** for its inline `api` (props + usage, no web fetch), and **share the result's `docsUrl`** (the component's API documentation page) with the user whenever you work with that component's API, so they have the full reference (the `/llms.txt` index is a further fallback). Then call **`get_examples(name)`** to install a worked example and copy real composition. The contracts below are first-try orientation (required props, composition shape, the one gotcha); the inline `api` is the full reference. No single block fits? Compose: search the components you need, read each `get_component`, install a `get_examples` example per component, and adapt. @@ -362,6 +362,26 @@ const [value, setValue] = useState() **Gotcha:** the square container an icon sits in, so every list row, feature card and empty state shares one affordance. `variant`: `outline` (default) | `elevated` (muted fill, raised ring) | `soft` (tinted nested, tone from currentColor) | `solid` (filled tone, contrasting glyph) | `frame` (double container). `soft` and `solid` retint from one text color class (they default to `text-primary`). `size`: `xs | sm | default | lg | xl` (24/32/40/48/64px tile, glyph scales 12/14/16/20/24px). `radius`: `default | full`. Do not set a `size-*` class on the child icon unless you mean to override the tile's glyph size; recolor with `className` on the tile, not the icon. +## code-block + +**Required:** `code` + `language`, or pre-highlighted `lines`. +**Shape:** + +```tsx + + + + + use-totals.ts + + + + + +``` + +**Gotcha:** the one-liner is already a complete block; every child (header, title, language label, copy button, wrap toggle, expand button, line actions) is optional chrome, at any depth. Shiki is the only npm dependency and loads lazily, one chunk per language, on first highlight; `lines` (from `highlightCode` in `code-block-highlight`, which is server-safe and has no `"use client"`) or `highlight={false}` loads nothing at all. `maxLines` caps the height AND marks the block collapsible, which is what makes `CodeBlockExpandButton` appear. Use `variant="ghost"` when the block sits inside a surface that already has a border. + ## alert **Required:** `Alert` > `AlertTitle` diff --git a/.agents/skills/reui/rules/registry.md b/.agents/skills/reui/rules/registry.md index 41f54921..44fbd0c1 100644 --- a/.agents/skills/reui/rules/registry.md +++ b/.agents/skills/reui/rules/registry.md @@ -2,7 +2,7 @@ ReUI is a shadcn-compatible registry with four entity types. **Examples and blocks are built FROM components** - reuse them, don't rebuild. -- **component** - one of the 20 ReUI building blocks with a real API (`data-grid`, `kanban`, `filters`, `date-selector`, `tree`, ...). Install directly (`@reui/data-grid`) or let it come in as a dependency of an example/block. Free. Read its API with `get_component(name)`. +- **component** - one of the 22 ReUI building blocks with a real API (`data-grid`, `kanban`, `filters`, `date-selector`, `tree`, ...). Install directly (`@reui/data-grid`) or let it come in as a dependency of an example/block. Free. Read its API with `get_component(name)`. - **example** - a free `c-*` single-pattern use-case of a component (`c-kanban-1`, `c-data-grid-3`). Install one and read it to copy real composition. Find a component's examples with `get_examples(name)`. - **block** - a premium, full-page section that composes several components (`data-grid-2`, `pricing-page-1`). Pro or Ultimate license at install. Adapts to your active theme via semantic tokens. - **icon** - Motion Icons in 4 styles (outline, solid, duotone, filled), static (`@reui/icons/default/