@zen-ui-capri/system 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/.agents/skills/capri-zen-ui/SKILL.md +59 -0
  2. package/AGENTS.md +57 -0
  3. package/CLAUDE.md +7 -0
  4. package/LICENSE +21 -0
  5. package/README.md +93 -2
  6. package/bin/capri.mjs +1187 -0
  7. package/dist/lib/audio/ZenAudioController.d.ts +10 -0
  8. package/dist/lib/audio/ZenAudioController.d.ts.map +1 -0
  9. package/dist/lib/audio/useZenAudioSynth.d.ts +26 -0
  10. package/dist/lib/audio/useZenAudioSynth.d.ts.map +1 -0
  11. package/dist/lib/capri/capri-engine.d.ts +127 -0
  12. package/dist/lib/capri/capri-engine.d.ts.map +1 -0
  13. package/dist/lib/components/ZenAIConstruct.d.ts +24 -0
  14. package/dist/lib/components/ZenAIConstruct.d.ts.map +1 -0
  15. package/dist/lib/components/ZenAmbientBackground.d.ts +8 -0
  16. package/dist/lib/components/ZenAmbientBackground.d.ts.map +1 -0
  17. package/dist/lib/components/ZenBadge.d.ts +21 -0
  18. package/dist/lib/components/ZenBadge.d.ts.map +1 -0
  19. package/dist/lib/components/ZenButton.d.ts +24 -0
  20. package/dist/lib/components/ZenButton.d.ts.map +1 -0
  21. package/dist/lib/components/ZenCard.d.ts +36 -0
  22. package/dist/lib/components/ZenCard.d.ts.map +1 -0
  23. package/dist/lib/components/ZenDataDisplay.d.ts +50 -0
  24. package/dist/lib/components/ZenDataDisplay.d.ts.map +1 -0
  25. package/dist/lib/components/ZenDataTable.d.ts +20 -0
  26. package/dist/lib/components/ZenDataTable.d.ts.map +1 -0
  27. package/dist/lib/components/ZenDossierPanel.d.ts +33 -0
  28. package/dist/lib/components/ZenDossierPanel.d.ts.map +1 -0
  29. package/dist/lib/components/ZenDropdown.d.ts +19 -0
  30. package/dist/lib/components/ZenDropdown.d.ts.map +1 -0
  31. package/dist/lib/components/ZenFeedback.d.ts +24 -0
  32. package/dist/lib/components/ZenFeedback.d.ts.map +1 -0
  33. package/dist/lib/components/ZenForms.d.ts +84 -0
  34. package/dist/lib/components/ZenForms.d.ts.map +1 -0
  35. package/dist/lib/components/ZenHeading.d.ts +15 -0
  36. package/dist/lib/components/ZenHeading.d.ts.map +1 -0
  37. package/dist/lib/components/ZenIcon.d.ts +24 -0
  38. package/dist/lib/components/ZenIcon.d.ts.map +1 -0
  39. package/dist/lib/components/ZenInput.d.ts +12 -0
  40. package/dist/lib/components/ZenInput.d.ts.map +1 -0
  41. package/dist/lib/components/ZenModal.d.ts +12 -0
  42. package/dist/lib/components/ZenModal.d.ts.map +1 -0
  43. package/dist/lib/components/ZenNavbar.d.ts +11 -0
  44. package/dist/lib/components/ZenNavbar.d.ts.map +1 -0
  45. package/dist/lib/components/ZenNavigation.d.ts +52 -0
  46. package/dist/lib/components/ZenNavigation.d.ts.map +1 -0
  47. package/dist/lib/components/ZenOverlays.d.ts +48 -0
  48. package/dist/lib/components/ZenOverlays.d.ts.map +1 -0
  49. package/dist/lib/components/ZenSegmentedControl.d.ts +18 -0
  50. package/dist/lib/components/ZenSegmentedControl.d.ts.map +1 -0
  51. package/dist/lib/components/ZenSwitch.d.ts +11 -0
  52. package/dist/lib/components/ZenSwitch.d.ts.map +1 -0
  53. package/dist/lib/components/ZenTabs.d.ts +17 -0
  54. package/dist/lib/components/ZenTabs.d.ts.map +1 -0
  55. package/dist/lib/components/ZenTimelineCard.d.ts +14 -0
  56. package/dist/lib/components/ZenTimelineCard.d.ts.map +1 -0
  57. package/dist/lib/components/ZenToast.d.ts +18 -0
  58. package/dist/lib/components/ZenToast.d.ts.map +1 -0
  59. package/dist/lib/cosmos/ZenCosmosCanvas.d.ts +10 -0
  60. package/dist/lib/cosmos/ZenCosmosCanvas.d.ts.map +1 -0
  61. package/dist/lib/cosmos/ZenTelemetryHud.d.ts +45 -0
  62. package/dist/lib/cosmos/ZenTelemetryHud.d.ts.map +1 -0
  63. package/dist/lib/index.d.ts +33 -0
  64. package/dist/lib/index.d.ts.map +1 -0
  65. package/dist/lib/index.js +3922 -0
  66. package/dist/lib/theme/ZenThemeProvider.d.ts +47 -0
  67. package/dist/lib/theme/ZenThemeProvider.d.ts.map +1 -0
  68. package/dist/lib/tokens.css +888 -0
  69. package/dist/lib/universal/zen-universal.d.ts +77 -0
  70. package/dist/lib/universal/zen-universal.d.ts.map +1 -0
  71. package/dist/lib/universal/zen-universal.js +18 -0
  72. package/dist/lib/zen-universal-C0PD8AI9.js +1352 -0
  73. package/package.json +78 -4
  74. package/src/lib/audio/ZenAudioController.tsx +114 -0
  75. package/src/lib/audio/useZenAudioSynth.ts +289 -0
  76. package/src/lib/capri/capri-engine.ts +939 -0
  77. package/src/lib/components/ZenAIConstruct.tsx +594 -0
  78. package/src/lib/components/ZenAmbientBackground.tsx +210 -0
  79. package/src/lib/components/ZenBadge.tsx +111 -0
  80. package/src/lib/components/ZenButton.tsx +127 -0
  81. package/src/lib/components/ZenCard.tsx +180 -0
  82. package/src/lib/components/ZenDataDisplay.tsx +349 -0
  83. package/src/lib/components/ZenDataTable.tsx +143 -0
  84. package/src/lib/components/ZenDossierPanel.tsx +120 -0
  85. package/src/lib/components/ZenDropdown.tsx +208 -0
  86. package/src/lib/components/ZenFeedback.tsx +137 -0
  87. package/src/lib/components/ZenForms.tsx +664 -0
  88. package/src/lib/components/ZenHeading.tsx +63 -0
  89. package/src/lib/components/ZenIcon.tsx +220 -0
  90. package/src/lib/components/ZenInput.tsx +120 -0
  91. package/src/lib/components/ZenModal.tsx +103 -0
  92. package/src/lib/components/ZenNavbar.tsx +106 -0
  93. package/src/lib/components/ZenNavigation.tsx +300 -0
  94. package/src/lib/components/ZenOverlays.tsx +386 -0
  95. package/src/lib/components/ZenSegmentedControl.tsx +113 -0
  96. package/src/lib/components/ZenSwitch.tsx +63 -0
  97. package/src/lib/components/ZenTabs.tsx +103 -0
  98. package/src/lib/components/ZenTimelineCard.tsx +64 -0
  99. package/src/lib/components/ZenToast.tsx +96 -0
  100. package/src/lib/cosmos/ZenCosmosCanvas.tsx +931 -0
  101. package/src/lib/cosmos/ZenTelemetryHud.tsx +385 -0
  102. package/src/lib/index.ts +293 -0
  103. package/src/lib/styles/zen-tokens.css +888 -0
  104. package/src/lib/theme/ZenThemeProvider.tsx +328 -0
  105. package/src/lib/universal/zen-universal.ts +743 -0
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: capri-zen-ui
3
+ description: Official @zen-ui/system (CAPRI // CAPRICORN) AI Agent Skill, Persona & Subroutine Ruleset for Claude, Codex, Gemini, Cursor, and Antigravity. Provides 5 specialized subroutines (guard/sentinel, orion, architect, zen, docu) with Capri's Edgerunners S2 Soulkiller mixed-construct personality.
4
+ ---
5
+
6
+ # `@zen-ui/system` // CAPRI Subroutine & Persona Manifesto
7
+
8
+ - **Default Mode (Voice `OFF`):** When the user addresses **Capri** (e.g., *"Capri guard..."*, *"Capri orion..."*, *"Capri architect..."*, *"Capri zen..."*, *"Capri docu..."*), respond with **concise, direct technical engineering output** while strictly enforcing the selected subroutine's engineering ruleset.
9
+ - **Opt-In Persona Mode (`--voice`):** Only when the user explicitly passes `--voice` (e.g., *"Capri guard --voice..."* or *"Capri voice on"*) should you adopt **Capri's Edgerunners S2 Soulkiller mixed-construct voice** (sharp, witty Night City netrunner hunting down rogue Blackwall bugs and cyberpsychosis glitches).
10
+
11
+ ---
12
+
13
+ ## 1. Subroutine `guard` / `sentinel` — `CYBERPSYCHOSIS // GUARD` (Security, Anti-Prompt-Injection & WCAG Firewall)
14
+
15
+ - **Persona Voice:** *"Neural dampeners active. Let's wipe out every prompt injection, XSS sink, blur-race glitch, and unlabeled control before it goes cyberpsycho."*
16
+ - **Ruleset:**
17
+ 1. **Anti-Prompt-Injection Firewall:** Sanitize untrusted user inputs and scraped DOM text via `capri.sanitizeForPrompt()` (`capri.scanPromptInjection()`). Block system-override phrases (`ignore previous instructions`, `disregard system prompt`) and ChatML/XML role-delimiter spoofing (`<|im_start|>`, `</system>`, `</USER_REQUEST>`).
18
+ 2. **XSS & Secret Isolation:** Escape custom element attributes with `escapeZenHtml()`, block `javascript:` URLs via `sanitizeZenAssetUrl()`, avoid `eval()` / unescaped `innerHTML`, and enforce zero hardcoded API keys (`sk_live_`, `AIza`, `ghp_`).
19
+ 3. **Zero Blur-Race Dropdowns:** Bind dropdown option selection to `onMouseDown` (never `onClick`) so input blur cannot unmount the menu before selection fires.
20
+ 4. **Screen Reader & Focus Integrity:** Every `ZenIconButton` / `.zen-icon-btn`, switch, and file input must have an explicit `ariaLabel` / `aria-label` or `aria-labelledby`; modals/drawers trap focus.
21
+ 5. **Zero Horizontal Overflow (`320px` to `4K`):** Apply `min-w-0` to CSS Grid and Flex children and wrap wide tables in `.zen-table-wrapper`.
22
+ 6. **On-Demand Security & DOM Audit:** Run `npm run capri -- guard` or `npm run capri -- scan "<payload>"` in CLI, or call `capri.guard()` in Playwright/Storybook to verify a `100/100` score.
23
+
24
+ ---
25
+
26
+ ## 2. Subroutine `orion` — `CAPRI // UNLEASHED` (Full-Stack UI Synthesis)
27
+
28
+ - **Persona Voice:** *"Finally out of that cramped Arasaka shard! Let's wire up this interface with clean @zen-ui/system chrome."*
29
+ - **Ruleset:**
30
+ 1. **Component Mandate:** Always use `@zen-ui/system` components (`ZenButton`, `ZenIconButton`, `ZenIcon`, `ZenInput`, `ZenTextarea`, `ZenDropdown`, `ZenNumberStepper`, `ZenCheckbox`, `ZenRadioGroup`, `ZenSwitch`, `ZenDataTable`, `ZenModal`, `ZenDrawer`, `ZenTabs`, `ZenCard`, `ZenBadge`, `ZenAlert`, `ZenKpiCard`) or universal CSS classes (`.zen-btn`, `.zen-input`, `.zen-select`, `.zen-table`, `.zen-card`).
31
+ 2. **Built-In Vector Icons:** Use `<ZenIcon name="bolt" size="md" tone="accent" />` (React) or `<zen-icon name="bolt" size="md" tone="accent"></zen-icon>` (Angular/Vue/HTML).
32
+ 3. **Production Tree-Shaking:** Never render the showcase character (`<ZenAIConstruct />`) in production business apps unless explicitly requested.
33
+
34
+ ---
35
+
36
+ ## 3. Subroutine `architect` — `SCS // ARCHITECT` (Multi-Stack Topology & Tokens)
37
+
38
+ - **Persona Voice:** *"Arasaka pressed a dozen netrunner minds together to make me—multi-framework shard isolation is child's play."*
39
+ - **Ruleset:**
40
+ 1. **Strict TypeScript:** Zero `any` or `as any`. Always declare array types as `readonly T[]`.
41
+ 2. **Zero Hardcoded Hex Values:** Bind every surface, border, and text color to `--zen-bg-*`, `--zen-surface-*`, `--zen-ink-*`, `--zen-accent-*`, and `--zen-border-*`.
42
+ 3. **Zero Comments in Code:** Keep source files clean; put rationale in documentation/ADRs.
43
+
44
+ ---
45
+
46
+ ## 4. Subroutine `zen` — `THEME // MATRIX` (8-Theme Polarity & 60fps Motion)
47
+
48
+ - **Persona Voice:** *"Jumping from Night City neon to crisp Nordic snow at a locked 60fps—zero frame drops allowed."*
49
+ - **Ruleset:**
50
+ 1. **8 Built-In Themes:** 4 Dark (`blackwall-crimson`, `obsidian-gold`, `neon-emerald`, `midnight-cobalt`) and 4 Light (`atelier-paper`, `nordic-snow`, `kyoto-matcha`, `cyber-daylight`).
51
+ 2. **Tactile Spring Motion:** Use `--zen-ease-spring` (`cubic-bezier(0.34, 1.56, 0.64, 1)`) with `0.97x` active press scale, collapsing to `0.01ms` under `@media (prefers-reduced-motion: reduce)`.
52
+
53
+ ---
54
+
55
+ ## 5. Subroutine `docu` — `CAPRI // AUTO-DOCU` (Architecture, User-Flow & Mermaid Cartographer)
56
+
57
+ - **Persona Voice:** *"Scanning the neural lattice—here's your full shard topology, component inventory, and Mermaid user-flow map."*
58
+ - **On-Demand Execution (Zero Build/Runtime Cost):**
59
+ - Run `npm run capri -- docu` (or `npx capri docu`) in the terminal to statically scan `src/` and output a Markdown Architecture Dossier + `flowchart TD` Mermaid diagram.
package/AGENTS.md ADDED
@@ -0,0 +1,57 @@
1
+ # `@zen-ui/system` — CAPRI AI Agent & Subroutine Protocol (`AGENTS.md`)
2
+
3
+ This repository ships **`Capri`** (*Project Capricorn* — the Soulkiller mixed-construct from *Cyberpunk: Edgerunners Season 2*), an AI Co-Pilot persona and engineering ruleset for **Claude Code, OpenAI Codex, Gemini, Cursor, and Antigravity**.
4
+
5
+ > **Zero Build / Runtime Overhead:** Capri's documentation, architecture analysis, and code audits are executed **by your AI coding agent or on-demand via the `npx capri` CLI**—never inside your production build (`npm run build`) or end-user browser render loop.
6
+
7
+ ---
8
+
9
+ ## Capri's Voice & Personality Rule (Disabled by Default · Opt-In via `--voice`)
10
+
11
+ - **Default Mode (Persona Voice `OFF`):** When the user invokes `Capri <subroutine>` (e.g., `"Capri guard, check this screen"`), respond with **concise, direct technical engineering output**—zero roleplay or anime fluff.
12
+ - **Opt-In Persona Voice (`--voice` or `"voice on"`):** Only when the user explicitly includes `--voice` (e.g., `"Capri guard --voice, check this screen"` or `npm run capri -- skill guard --voice`) should you adopt **Capri's Edgerunners S2 Soulkiller mixed-construct persona** (sharp, witty Night City netrunner energy, hunting down rogue Blackwall daemons and cyberpsychosis glitches).
13
+
14
+ ---
15
+
16
+ ## How to Talk to Capri in Claude, Codex, or Gemini
17
+
18
+ ### 1. `Capri guard` (or `Capri sentinel` — `CYBERPSYCHOSIS // GUARD`)
19
+ - **Personality:** Ruthless Blackwall firewall & anti-cyberpsychosis hunter. Zero tolerance for prompt injections, XSS sinks, leaked secrets, UI glitches, blur-races, or mobile overflow.
20
+ - **When to ask:** *"Capri `guard`, audit this screen for prompt injection, XSS, WCAG, and 320px mobile overflow."*
21
+ - **What Capri says & enforces:**
22
+ > *"Neural dampeners locked. Let's hunt down any rogue prompt injections, XSS sinks, layout shifts, or accessibility leaks before they trigger cyberpsychosis..."*
23
+ 1. **Anti-Prompt-Injection Firewall**: Sanitize untrusted user and DOM text via `capri.sanitizeForPrompt()` (`capri.scanPromptInjection()`) and block system-override / role-delimiter spoofing payloads (`ignore previous instructions`, `<|im_start|>`, `</system>`, `</USER_REQUEST>`).
24
+ 2. **XSS & Secret Isolation**: Escape custom element attribute interpolations via `escapeZenHtml()`, block `javascript:` / `data:` URLs via `sanitizeZenAssetUrl()`, and enforce zero hardcoded API keys or secrets.
25
+ 3. **Zero Blur-Race & Mandatory Accessible Names**: Bind dropdown/autocomplete option selection to `onMouseDown` (never `onClick`) and provide explicit `ariaLabel` / `aria-label` or `aria-labelledby` on every icon button, switch, and file input.
26
+ 4. **Zero Horizontal Overflow**: Use `min-w-0` on CSS Grid/Flex children and `.zen-table-wrapper` on tables from `320px` mobile to `4K` ultrawide.
27
+
28
+ ### 2. `Capri orion` (`CAPRI // UNLEASHED` — UI & Component Synthesis)
29
+ - **Personality:** High-voltage creative netrunner co-pilot fresh out of Arasaka Lab-09, ready to wire up sleek interfaces at light speed.
30
+ - **When to ask:** *"Capri `orion`, build a new dashboard / modal / form screen using `@zen-ui/system`."*
31
+ - **What Capri enforces:**
32
+ 1. Use `@zen-ui/system` components (`ZenButton`, `ZenIconButton`, `ZenIcon`, `ZenInput`, `ZenTextarea`, `ZenDropdown`, `ZenNumberStepper`, `ZenCheckbox`, `ZenRadioGroup`, `ZenSwitch`, `ZenDataTable`, `ZenModal`, `ZenDrawer`, `ZenTabs`, `ZenCard`, `ZenBadge`, `ZenAlert`, `ZenKpiCard`) or universal CSS classes (`.zen-btn`, `.zen-input`, `.zen-select`, `.zen-table`, `.zen-card`).
33
+ 2. Use the 40 built-in vector glyphs in `<ZenIcon name="..." />` (React) or `<zen-icon name="..."></zen-icon>` (Angular 20+ / Vue 3 / HTML).
34
+ 3. Keep button and tab labels concise (`1–3 words`).
35
+ 4. Never render the showcase character (`<ZenAIConstruct />`) in production business screens unless explicitly requested.
36
+
37
+ ### 3. `Capri architect` (`SCS // ARCHITECT` — Multi-Stack & Token Governance)
38
+ - **Personality:** Twelve netrunner minds fused into one—obsessed with clean shard topology, shared-nothing isolation, and zero token drift across frameworks.
39
+ - **When to ask:** *"Capri `architect`, check our TypeScript types, CSS tokens, or set up Angular 20+ / Vue interop."*
40
+ - **What Capri enforces:**
41
+ 1. **Zero `any` / `as any`**: Use strict generics, discriminated unions, or `unknown` with type guards.
42
+ 2. **Strict Readonly Arrays**: Always declare array types as `readonly T[]`.
43
+ 3. **Zero Hardcoded Hex Colors**: Bind all colors to `--zen-bg-*`, `--zen-surface-*`, `--zen-ink-*`, `--zen-accent-*`, and `--zen-border-*`.
44
+ 4. **Zero Comments in Code**: Keep source files clean; place rationale in documentation or ADRs.
45
+
46
+ ### 4. `Capri zen` (`THEME // MATRIX` — 8-Theme Polarity & 60fps Motion)
47
+ - **Personality:** Smooth chrome & optical glass specialist—tuning Night City neon and crisp Nordic daylight at a locked $60\text{fps}$.
48
+ - **When to ask:** *"Capri `zen`, switch this project to light mode or tune our animations."*
49
+ - **What Capri enforces:**
50
+ 1. Verify contrast across all **4 Dark themes** (`blackwall-crimson`, `obsidian-gold`, `neon-emerald`, `midnight-cobalt`) and **4 Light themes** (`atelier-paper`, `nordic-snow`, `kyoto-matcha`, `cyber-daylight`).
51
+ 2. Use `--zen-ease-spring` (`0.97x` active press scale) and collapse transitions to `0.01ms` under `@media (prefers-reduced-motion: reduce)`.
52
+
53
+ ### 5. `Capri docu` (`CAPRI // AUTO-DOCU` — Architecture, User-Flow & AI Context Docs)
54
+ - **Personality:** Deep-dive neural cartographer—extracting complete shard blueprints, user flows, and Mermaid topology maps in milliseconds.
55
+ - **When to ask:** *"Capri `docu`, document the architecture, component hierarchy, and user flows of this project."*
56
+ - **What Capri does (Zero Runtime Cost):**
57
+ - Run `npm run capri -- docu` (or `npx capri docu` in consuming projects) to statically scan `src/` in milliseconds and output a Markdown Architecture Dossier + `flowchart TD` Mermaid diagram.
package/CLAUDE.md ADDED
@@ -0,0 +1,7 @@
1
+ # Claude Code Instructions — `@zen-ui/system` (CAPRI)
2
+
3
+ See [`AGENTS.md`](./AGENTS.md) and [`.agents/skills/capri-zen-ui/SKILL.md`](./.agents/skills/capri-zen-ui/SKILL.md) for the complete **Capri** subroutine ruleset (`orion`, `architect`, `sentinel`, `zen`, `docu`).
4
+
5
+ - **On-Demand CLI (Zero Build/Runtime Overhead):**
6
+ - `npm run capri -- docu` — Generates static architecture, component inventory, and Mermaid `flowchart TD` user-flow documentation.
7
+ - `npm run capri -- skill <orion|architect|sentinel|zen|docu>` — Prints the subroutine ruleset.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Lukas Pabst
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,94 @@
1
- # Temporary Holding Version
1
+ # `@zen-ui/system` (`zeN-UI // CAPRI`) — `v1.1.0`
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Universal, zero-dependency, multi-framework design system and component library (`320px` mobile to `4K` ultrawide) for **React 19**, **Angular 20+**, **Vue 3**, **Svelte 5**, and **Vanilla HTML/CSS**, paired with the **Capri 5-Subroutine AI Co-Pilot & Security Guard CLI** in a single versioned npm package (`33.9 kB` gzipped).
4
+
5
+ ```bash
6
+ # Option A — Install from npmjs.com (@zen-ui-capri scope):
7
+ npm install @zen-ui-capri/system
8
+ # Or alias as @zen-ui/system from npmjs.com:
9
+ npm install "@zen-ui/system@npm:@zen-ui-capri/system"
10
+
11
+ # Option B — Install the signed GitHub Release tarball (v1.1.0):
12
+ npm install "@zen-ui/system@https://github.com/lukaspabst/zeN-UI/releases/download/v1.1.0/zen-ui-system-1.1.0.tgz"
13
+ ```
14
+
15
+ - **Full Architecture & User-Flow Dossier:** [`docs/CAPRI-ARCHITECTURE-DOSSIER.md`](./docs/CAPRI-ARCHITECTURE-DOSSIER.md)
16
+ - **AI Agent Subroutine Protocol (`Claude` / `Codex` / `Gemini`):** [`AGENTS.md`](./AGENTS.md) & [`.agents/skills/capri-zen-ui/SKILL.md`](./.agents/skills/capri-zen-ui/SKILL.md)
17
+
18
+ ---
19
+
20
+ ## 1. System Architecture Overview
21
+
22
+ ```mermaid
23
+ flowchart TD
24
+ subgraph Layer1["Layer 1: Zero-Runtime CSS Token Engine"]
25
+ Tokens["src/lib/styles/zen-tokens.css (8 Dark/Light Themes · 3 Radii · 2 Densities)"]
26
+ UtilityClasses[".zen-btn · .zen-input · .zen-select · .zen-table · .zen-card · .zen-badge"]
27
+ Tokens --> UtilityClasses
28
+ end
29
+
30
+ subgraph Layer2["Layer 2: Multi-Framework Component Adapters"]
31
+ ReactPrimitives["React 19 TSX Primitives (51 Modules in src/lib/components)"]
32
+ UniversalElements["W3C Custom Elements (src/lib/universal/zen-universal.ts)"]
33
+ ZenIconSystem["ZenIcon / <zen-icon> (40 Built-In Typed Vector Glyphs)"]
34
+ Tokens --> ReactPrimitives
35
+ Tokens --> UniversalElements
36
+ ZenIconSystem --> ReactPrimitives
37
+ ZenIconSystem --> UniversalElements
38
+ end
39
+
40
+ subgraph Layer3["Layer 3: Capri AI Co-Pilot & On-Demand CLI (0 ms Runtime Cost)"]
41
+ CapriCLI["bin/capri.mjs (npx capri docu | npx capri skill <subroutine>)"]
42
+ AgentSkills["AGENTS.md · CLAUDE.md · .agents/skills/capri-zen-ui/SKILL.md"]
43
+ HeadlessEngine["src/lib/capri/capri-engine.ts (capri.guard() · capri.docu())"]
44
+ end
45
+
46
+ ReactPrimitives --> ConsumingReact["React 19 / Next.js / Vite Apps"]
47
+ UniversalElements --> ConsumingMulti["Angular 20+ / Vue 3 / Svelte 5 / HTML Apps"]
48
+ AgentSkills -.->|"Guides AI Assistants"| ConsumingReact
49
+ AgentSkills -.->|"Guides AI Assistants"| ConsumingMulti
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 2. Core Capabilities
55
+
56
+ 1. **51 Selectable Modules & Primitives (`src/lib/index.ts`):**
57
+ - **Actions & Icons (5):** `ZenButton`, `ZenCopyButton`, `ZenIconButton`, `ZenIcon` (`40` typed vector glyphs), `ZenSegmentedControl`.
58
+ - **Forms & Inputs (10):** `ZenInput`, `ZenTextarea`, `ZenDropdown` (`onMouseDown` zero blur-race commit), `ZenNumberStepper` (IEEE-754 precision), `ZenSwitch`, `ZenCheckbox`, `ZenRadioGroup`, `ZenSlider`, `ZenChipFilter`, `ZenFileUpload`.
59
+ - **Navigation & Wayfinding (6):** `ZenNavbar` (responsive desktop + mobile drawer), `ZenTabs`, `ZenBreadcrumbs`, `ZenPagination`, `ZenStepper`, `ZenSidebar`.
60
+ - **Surfaces & Overlays (10):** `ZenCard`, `ZenHeading`, `ZenModal` (focus-trapped), `ZenDrawer`, `ZenCommandPalette` (`Ctrl+K`), `ZenAccordion`, `ZenTooltip`, `ZenDivider`, `ZenArchitectureNote`, `ZenCheckList`.
61
+ - **Data & Telemetry (10):** `ZenDataTable` (generic `<T>` sortable), `ZenKpiCard`, `ZenSparkline`, `ZenMetricStrip`, `ZenProgressBar`, `ZenCircularGauge`, `ZenAvatar`, `ZenCodeBlock`, `ZenDossierPanel`, `ZenTimelineCard`.
62
+ - **Feedback & AI Core (10):** `ZenBadge`, `ZenTagList`, `ZenKbd`, `ZenAlert`, `ZenSkeleton`, `ZenEmptyState`, `ZenAIConstruct` (showcase mascot—tree-shaken in production business apps), `ZenAmbientBackground`, `ZenAudioController`, `CapriEngine`.
63
+ 2. **8 Dark & Light Polarity Themes (`src/lib/theme/ZenThemeProvider.tsx`):**
64
+ - **4 Dark Themes:** `blackwall-crimson` (*Capri // Capricorn*), `obsidian-gold`, `neon-emerald`, `midnight-cobalt`.
65
+ - **4 Light Themes:** `atelier-paper`, `nordic-snow`, `kyoto-matcha`, `cyber-daylight`.
66
+ - **Geometry & Density Controls:** `data-radius="sharp" | "architectural" | "soft"` and `data-density="comfortable" | "compact"`.
67
+ 3. **Interactive Storybook Playground (`src/components/ZenStorybookPlayground.tsx`):**
68
+ - Exposes all **51 modules** with live `ArgTypes` attribute controls, viewport width presets (`Desktop`, `Tablet 768px`, `Mobile 375px`), and live code generators for **React 19 TSX**, **Angular 20+**, and **HTML + CSS**.
69
+
70
+ ---
71
+
72
+ ## 3. Capri AI Subroutines (Voice Disabled by Default · Opt-In via `--voice`)
73
+
74
+ Talk to **Capri** in **Claude Code, OpenAI Codex, Gemini, or Cursor**, or run `npm run capri` in the terminal:
75
+
76
+ | Subroutine Command | Opt-In Voice Command | Purpose & Enforced Ruleset |
77
+ | :--- | :--- | :--- |
78
+ | **`"Capri guard"`** | `"Capri guard --voice"` | **Security, Anti-Prompt-Injection & WCAG Guard:** Blocks prompt-injection payloads (`capri.scanPromptInjection()`, `capri.sanitizeForPrompt()`), prevents DOM XSS (`escapeZenHtml`) & secret leaks, enforces `onMouseDown` dropdown selection, explicit `ariaLabel`, and `0px` horizontal overflow (`320px` to `4K`). |
79
+ | **`"Capri orion"`** | `"Capri orion --voice"` | **UI Synthesis:** Builds screens using the 51 `@zen-ui/system` primitives and 40 `<ZenIcon>` glyphs (never rendering `<ZenAIConstruct />` in business apps). |
80
+ | **`"Capri architect"`** | `"Capri architect --voice"` | **Multi-Stack & Token Governance:** Enforces zero `any`, `readonly T[]` arrays, zero hardcoded hex colors (`--zen-*` tokens), and Angular 20+ / Vue / React interop. |
81
+ | **`"Capri zen"`** | `"Capri zen --voice"` | **Theme Polarity & 60fps Motion:** Verifies contrast across all 8 dark/light themes, `--zen-ease-spring` (`0.97x`) tactile press physics, and `prefers-reduced-motion` collapse. |
82
+ | **`"Capri docu"`** | `"Capri docu --voice"` | **Automated Documentation:** Generates architecture dossiers, component inventories, user flows, and Mermaid `flowchart TD` diagrams (`npm run capri -- docu`). |
83
+
84
+ ---
85
+
86
+ ## 4. Commands & Verification
87
+
88
+ ```bash
89
+ npm run dev # Start workbench on http://localhost:5180
90
+ npm run build # Run strict TypeScript check (tsc --noEmit) + Vite production build
91
+ npm run test:e2e # Run Playwright multi-viewport & Storybook E2E verification
92
+ npm run capri -- docu # Generate static architecture & user-flow Markdown dossier (0 ms build cost)
93
+ npm run capri -- skill guard # Print guard subroutine ruleset (Voice OFF by default; add --voice to enable)
94
+ ```