@jini-ai/agent-plugins 0.6.15-rc.2 → 0.6.16
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.
- package/CHANGELOG.md +18 -0
- package/README.md +21 -50
- package/dist/admin-surfaces/action-tools.js +1 -1
- package/dist/admin-surfaces/external-links.js +2 -1
- package/dist/admin-surfaces/host-validator.js +2 -2
- package/dist/admin-surfaces/settings-value.js +3 -1
- package/dist/admin-surfaces/surface-client.js +13 -5
- package/dist/core/plugin-name.d.ts +11 -0
- package/dist/core/plugin-name.js +19 -0
- package/dist/folder-zip-node.d.ts +21 -0
- package/dist/folder-zip-node.js +85 -3
- package/dist/lifecycle/activation.js +2 -2
- package/dist/lifecycle/automatic-use.js +12 -7
- package/dist/lifecycle/bundled-digests.js +3 -8
- package/dist/lifecycle/bundled-source-archive.d.ts +8 -2
- package/dist/lifecycle/bundled-source-archive.js +17 -8
- package/dist/lifecycle/contribution-loader.js +4 -5
- package/dist/lifecycle/index.d.ts +1 -2
- package/dist/lifecycle/install.js +59 -53
- package/dist/lifecycle/installed-package-index.js +4 -2
- package/dist/lifecycle/manifest.d.ts +1 -9
- package/dist/lifecycle/manifest.js +6 -21
- package/dist/lifecycle/node.js +4 -2
- package/dist/lifecycle/resolve-agent-plugin-refs.js +1 -3
- package/dist/lifecycle/search-projection.js +7 -6
- package/dist/lifecycle/seed-bundled.js +1 -3
- package/dist/lifecycle/skill-file-reader.js +15 -5
- package/dist/lifecycle/tools/capabilities.js +5 -3
- package/dist/lifecycle/tools/projection.js +3 -4
- package/dist/lifecycle/update.js +4 -2
- package/dist/lifecycle/yauzl-archive-reader.js +21 -23
- package/package.json +11 -8
- package/dist/admin-surfaces/action-dispatcher.d.ts.map +0 -1
- package/dist/admin-surfaces/action-dispatcher.js.map +0 -1
- package/dist/admin-surfaces/action-schema.d.ts.map +0 -1
- package/dist/admin-surfaces/action-schema.js.map +0 -1
- package/dist/admin-surfaces/action-tools.d.ts.map +0 -1
- package/dist/admin-surfaces/action-tools.js.map +0 -1
- package/dist/admin-surfaces/callback-field-inbox.d.ts.map +0 -1
- package/dist/admin-surfaces/callback-field-inbox.js.map +0 -1
- package/dist/admin-surfaces/capability-declarations.d.ts.map +0 -1
- package/dist/admin-surfaces/capability-declarations.js.map +0 -1
- package/dist/admin-surfaces/contribution.d.ts.map +0 -1
- package/dist/admin-surfaces/contribution.js.map +0 -1
- package/dist/admin-surfaces/delivery-bindings.d.ts.map +0 -1
- package/dist/admin-surfaces/delivery-bindings.js.map +0 -1
- package/dist/admin-surfaces/descriptor.d.ts.map +0 -1
- package/dist/admin-surfaces/descriptor.js.map +0 -1
- package/dist/admin-surfaces/external-links.d.ts.map +0 -1
- package/dist/admin-surfaces/external-links.js.map +0 -1
- package/dist/admin-surfaces/host-validator.d.ts.map +0 -1
- package/dist/admin-surfaces/host-validator.js.map +0 -1
- package/dist/admin-surfaces/index.d.ts.map +0 -1
- package/dist/admin-surfaces/index.js.map +0 -1
- package/dist/admin-surfaces/protocol.d.ts.map +0 -1
- package/dist/admin-surfaces/protocol.js.map +0 -1
- package/dist/admin-surfaces/sandbox.d.ts.map +0 -1
- package/dist/admin-surfaces/sandbox.js.map +0 -1
- package/dist/admin-surfaces/settings-value.d.ts.map +0 -1
- package/dist/admin-surfaces/settings-value.js.map +0 -1
- package/dist/admin-surfaces/surface-capabilities.d.ts.map +0 -1
- package/dist/admin-surfaces/surface-capabilities.js.map +0 -1
- package/dist/admin-surfaces/surface-client.d.ts.map +0 -1
- package/dist/admin-surfaces/surface-client.js.map +0 -1
- package/dist/admin-surfaces/surface-handlers.d.ts.map +0 -1
- package/dist/admin-surfaces/surface-handlers.js.map +0 -1
- package/dist/admin-surfaces/theme.d.ts.map +0 -1
- package/dist/admin-surfaces/theme.js.map +0 -1
- package/dist/contracts/admin-surface-action-schema.d.ts.map +0 -1
- package/dist/contracts/admin-surface-action-schema.js.map +0 -1
- package/dist/folder-zip-node.d.ts.map +0 -1
- package/dist/folder-zip-node.js.map +0 -1
- package/dist/folder-zip.d.ts.map +0 -1
- package/dist/folder-zip.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lifecycle/activation.d.ts.map +0 -1
- package/dist/lifecycle/activation.js.map +0 -1
- package/dist/lifecycle/automatic-use.d.ts.map +0 -1
- package/dist/lifecycle/automatic-use.js.map +0 -1
- package/dist/lifecycle/bundled-digests.d.ts.map +0 -1
- package/dist/lifecycle/bundled-digests.js.map +0 -1
- package/dist/lifecycle/bundled-source-archive.d.ts.map +0 -1
- package/dist/lifecycle/bundled-source-archive.js.map +0 -1
- package/dist/lifecycle/capability-projection.d.ts.map +0 -1
- package/dist/lifecycle/capability-projection.js.map +0 -1
- package/dist/lifecycle/compatibility-metadata.d.ts.map +0 -1
- package/dist/lifecycle/compatibility-metadata.js.map +0 -1
- package/dist/lifecycle/compatibility.d.ts.map +0 -1
- package/dist/lifecycle/compatibility.js.map +0 -1
- package/dist/lifecycle/contribution-loader.d.ts.map +0 -1
- package/dist/lifecycle/contribution-loader.js.map +0 -1
- package/dist/lifecycle/exports.d.ts.map +0 -1
- package/dist/lifecycle/exports.js.map +0 -1
- package/dist/lifecycle/fetch-archive.d.ts.map +0 -1
- package/dist/lifecycle/fetch-archive.js.map +0 -1
- package/dist/lifecycle/index.d.ts.map +0 -1
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/lifecycle/install-errors.d.ts.map +0 -1
- package/dist/lifecycle/install-errors.js.map +0 -1
- package/dist/lifecycle/install-from-url.d.ts.map +0 -1
- package/dist/lifecycle/install-from-url.js.map +0 -1
- package/dist/lifecycle/install.d.ts.map +0 -1
- package/dist/lifecycle/install.js.map +0 -1
- package/dist/lifecycle/installed-package-index.d.ts.map +0 -1
- package/dist/lifecycle/installed-package-index.js.map +0 -1
- package/dist/lifecycle/installed-package-roots.d.ts.map +0 -1
- package/dist/lifecycle/installed-package-roots.js.map +0 -1
- package/dist/lifecycle/layout.d.ts.map +0 -1
- package/dist/lifecycle/layout.js.map +0 -1
- package/dist/lifecycle/manifest.d.ts.map +0 -1
- package/dist/lifecycle/manifest.js.map +0 -1
- package/dist/lifecycle/mcp-provisioning.d.ts.map +0 -1
- package/dist/lifecycle/mcp-provisioning.js.map +0 -1
- package/dist/lifecycle/node.d.ts.map +0 -1
- package/dist/lifecycle/node.js.map +0 -1
- package/dist/lifecycle/package-paths.d.ts.map +0 -1
- package/dist/lifecycle/package-paths.js.map +0 -1
- package/dist/lifecycle/persistent-state.d.ts.map +0 -1
- package/dist/lifecycle/persistent-state.js.map +0 -1
- package/dist/lifecycle/ports.d.ts.map +0 -1
- package/dist/lifecycle/ports.js.map +0 -1
- package/dist/lifecycle/provider-contribution.d.ts.map +0 -1
- package/dist/lifecycle/provider-contribution.js.map +0 -1
- package/dist/lifecycle/resolve-agent-plugin-refs.d.ts.map +0 -1
- package/dist/lifecycle/resolve-agent-plugin-refs.js.map +0 -1
- package/dist/lifecycle/retire-bundled.d.ts.map +0 -1
- package/dist/lifecycle/retire-bundled.js.map +0 -1
- package/dist/lifecycle/search-projection.d.ts.map +0 -1
- package/dist/lifecycle/search-projection.js.map +0 -1
- package/dist/lifecycle/search.d.ts.map +0 -1
- package/dist/lifecycle/search.js.map +0 -1
- package/dist/lifecycle/seed-bundled.d.ts.map +0 -1
- package/dist/lifecycle/seed-bundled.js.map +0 -1
- package/dist/lifecycle/set-enabled.d.ts.map +0 -1
- package/dist/lifecycle/set-enabled.js.map +0 -1
- package/dist/lifecycle/skill-file-reader.d.ts.map +0 -1
- package/dist/lifecycle/skill-file-reader.js.map +0 -1
- package/dist/lifecycle/tools/capabilities.d.ts.map +0 -1
- package/dist/lifecycle/tools/capabilities.js.map +0 -1
- package/dist/lifecycle/tools/definition.d.ts.map +0 -1
- package/dist/lifecycle/tools/definition.js.map +0 -1
- package/dist/lifecycle/tools/index.d.ts.map +0 -1
- package/dist/lifecycle/tools/index.js.map +0 -1
- package/dist/lifecycle/tools/manifest.d.ts.map +0 -1
- package/dist/lifecycle/tools/manifest.js.map +0 -1
- package/dist/lifecycle/tools/projection.d.ts.map +0 -1
- package/dist/lifecycle/tools/projection.js.map +0 -1
- package/dist/lifecycle/trusted-plugin-files.d.ts.map +0 -1
- package/dist/lifecycle/trusted-plugin-files.js.map +0 -1
- package/dist/lifecycle/types.d.ts.map +0 -1
- package/dist/lifecycle/types.js.map +0 -1
- package/dist/lifecycle/uninstall.d.ts.map +0 -1
- package/dist/lifecycle/uninstall.js.map +0 -1
- package/dist/lifecycle/update-plan.d.ts.map +0 -1
- package/dist/lifecycle/update-plan.js.map +0 -1
- package/dist/lifecycle/update-store.d.ts.map +0 -1
- package/dist/lifecycle/update-store.js.map +0 -1
- package/dist/lifecycle/update.d.ts.map +0 -1
- package/dist/lifecycle/update.js.map +0 -1
- package/dist/lifecycle/yauzl-archive-reader.d.ts.map +0 -1
- package/dist/lifecycle/yauzl-archive-reader.js.map +0 -1
- package/dist/manifest.d.ts.map +0 -1
- package/dist/manifest.js.map +0 -1
- package/ui-ux-design/com.anthropic.claude-code/hooks/hooks.json +0 -4
- package/ui-ux-design/mcp.json +0 -4
- package/ui-ux-design/plugin.json +0 -25
- package/ui-ux-design/skills/frontend-accessibility/SKILL.md +0 -60
- package/ui-ux-design/skills/gstack-design/SKILL.md +0 -53
- package/ui-ux-design/skills/gstack-design/references/consultation.md +0 -30
- package/ui-ux-design/skills/gstack-design/references/html.md +0 -29
- package/ui-ux-design/skills/gstack-design/references/review.md +0 -28
- package/ui-ux-design/skills/gstack-design/references/shotgun.md +0 -33
- package/ui-ux-design/skills/gstack-design/references/upstream-notes.md +0 -23
- package/ui-ux-design/skills/interface-design/ORIGINAL.md +0 -16
- package/ui-ux-design/skills/interface-design/SKILL.md +0 -41
- package/ui-ux-design/skills/interface-design/references/commands/audit.md +0 -40
- package/ui-ux-design/skills/interface-design/references/commands/critique.md +0 -21
- package/ui-ux-design/skills/interface-design/references/commands/extract.md +0 -34
- package/ui-ux-design/skills/interface-design/references/commands/init.md +0 -31
- package/ui-ux-design/skills/interface-design/references/commands/status.md +0 -22
- package/ui-ux-design/skills/interface-design/references/examples/system-precision.md +0 -29
- package/ui-ux-design/skills/interface-design/references/examples/system-warmth.md +0 -29
- package/ui-ux-design/skills/interface-design/references/system-template.md +0 -57
- package/ui-ux-design/skills/shadcn-ui/README.md +0 -244
- package/ui-ux-design/skills/shadcn-ui/SKILL.md +0 -326
- package/ui-ux-design/skills/shadcn-ui/examples/auth-layout.tsx +0 -177
- package/ui-ux-design/skills/shadcn-ui/examples/data-table.tsx +0 -313
- package/ui-ux-design/skills/shadcn-ui/examples/form-pattern.tsx +0 -177
- package/ui-ux-design/skills/shadcn-ui/resources/component-catalog.md +0 -481
- package/ui-ux-design/skills/shadcn-ui/resources/customization-guide.md +0 -516
- package/ui-ux-design/skills/shadcn-ui/resources/migration-guide.md +0 -463
- package/ui-ux-design/skills/shadcn-ui/resources/setup-guide.md +0 -412
- package/ui-ux-design/skills/shadcn-ui/scripts/verify-setup.sh +0 -134
- package/ui-ux-design/skills/ui-ux-design/SKILL.md +0 -77
- package/ui-ux-design/skills/ui-ux-design/references/brand-and-voice.md +0 -72
- package/ui-ux-design/skills/ui-ux-design/references/components-and-states.md +0 -107
- package/ui-ux-design/skills/ui-ux-design/references/delight-and-motion.md +0 -65
- package/ui-ux-design/skills/ui-ux-design/references/foundations.md +0 -144
- package/ui-ux-design/skills/ui-ux-design/references/inclusive-ai-imagery.md +0 -57
- package/ui-ux-design/skills/ui-ux-design/references/kole-jain-uiux-concepts.md +0 -102
- package/ui-ux-design/skills/ui-ux-design/references/openai-frontend-skill.md +0 -139
- package/ui-ux-design/skills/ui-ux-design/references/premium-ui.md +0 -63
- package/ui-ux-design/skills/ui-ux-design/references/research-and-validation.md +0 -78
- package/ui-ux-design/skills/ui-ux-design/references/sam-crawford-premium-websites.md +0 -93
- package/ui-ux-design/skills/ui-ux-design/references/self-made-web-designer-core-skills.md +0 -123
- package/ui-ux-design/skills/ui-ux-design/references/visual-storytelling.md +0 -57
- package/ui-ux-design/skills/vercel-web-design-guidelines/SKILL.md +0 -39
- package/ui-ux-design/skills/web-compliance/SKILL.md +0 -129
- package/ui-ux-design/skills/web-compliance/references/audit-evidence.md +0 -59
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# interface-design:extract
|
|
2
|
-
|
|
3
|
-
Extract a design system from existing UI code.
|
|
4
|
-
|
|
5
|
-
## What to Look For
|
|
6
|
-
|
|
7
|
-
- repeated spacing values
|
|
8
|
-
- repeated radius values
|
|
9
|
-
- common button sizes and padding
|
|
10
|
-
- repeated card treatment
|
|
11
|
-
- depth strategy, especially borders vs shadows
|
|
12
|
-
|
|
13
|
-
## Output Shape
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
Extracted patterns:
|
|
17
|
-
|
|
18
|
-
Spacing:
|
|
19
|
-
Base: 4px
|
|
20
|
-
Scale: 4, 8, 12, 16, 24, 32
|
|
21
|
-
|
|
22
|
-
Depth: Borders-only
|
|
23
|
-
|
|
24
|
-
Patterns:
|
|
25
|
-
Button: 36px h, 12px 16px pad, 6px radius
|
|
26
|
-
Card: 1px border, 16px pad
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Workflow
|
|
30
|
-
|
|
31
|
-
1. Scan UI files.
|
|
32
|
-
2. Aggregate repeated values and component patterns.
|
|
33
|
-
3. Propose a system that matches the dominant pattern set.
|
|
34
|
-
4. Let the user customize before saving.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# interface-design:init
|
|
2
|
-
|
|
3
|
-
Build UI with a craft-first system instead of ad hoc component choices.
|
|
4
|
-
|
|
5
|
-
## Workflow
|
|
6
|
-
|
|
7
|
-
1. Read `SKILL.md`.
|
|
8
|
-
2. Check whether `.interface-design/system.md` already exists.
|
|
9
|
-
3. If it exists, apply the existing direction and patterns.
|
|
10
|
-
4. If it does not exist, infer a direction from the product context and ask for confirmation before locking it in.
|
|
11
|
-
5. Build the UI using the chosen direction.
|
|
12
|
-
6. Offer to save any stable decisions into `.interface-design/system.md`.
|
|
13
|
-
|
|
14
|
-
## Before Building Each Component
|
|
15
|
-
|
|
16
|
-
State the intent and the technical approach before writing code:
|
|
17
|
-
|
|
18
|
-
- who the human is
|
|
19
|
-
- what they need to accomplish
|
|
20
|
-
- what the screen should feel like
|
|
21
|
-
- palette choice and why it fits
|
|
22
|
-
- depth choice and why it fits
|
|
23
|
-
- surfaces and why they fit
|
|
24
|
-
- typography and why it fits
|
|
25
|
-
- spacing base
|
|
26
|
-
|
|
27
|
-
## Guardrails
|
|
28
|
-
|
|
29
|
-
- Do not default to generic UI if the product has a distinct world or tone.
|
|
30
|
-
- Do not skip the system decision step when repeated UI work is likely.
|
|
31
|
-
- Do not narrate internal process to the user unless they need the design decision explained.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# interface-design:status
|
|
2
|
-
|
|
3
|
-
Show the current design system state.
|
|
4
|
-
|
|
5
|
-
## If a System Exists
|
|
6
|
-
|
|
7
|
-
Display:
|
|
8
|
-
|
|
9
|
-
- direction
|
|
10
|
-
- foundation
|
|
11
|
-
- depth
|
|
12
|
-
- spacing base and scale
|
|
13
|
-
- color token count
|
|
14
|
-
- core component patterns
|
|
15
|
-
- last updated timestamp
|
|
16
|
-
|
|
17
|
-
## If No System Exists
|
|
18
|
-
|
|
19
|
-
State that no design system is present yet and suggest:
|
|
20
|
-
|
|
21
|
-
- build a screen to establish patterns
|
|
22
|
-
- run `interface-design:extract` on existing code
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Design System Example - Precision & Density
|
|
2
|
-
|
|
3
|
-
Use this when the interface is a dense dashboard, admin panel, or technical tool.
|
|
4
|
-
|
|
5
|
-
## Direction
|
|
6
|
-
|
|
7
|
-
**Personality:** Precision & Density
|
|
8
|
-
**Foundation:** Cool
|
|
9
|
-
**Depth:** Borders-only
|
|
10
|
-
|
|
11
|
-
## Tokens
|
|
12
|
-
|
|
13
|
-
- Spacing base: 4px
|
|
14
|
-
- Radius scale: 4px, 6px, 8px
|
|
15
|
-
- Font: system-ui or Geist
|
|
16
|
-
- Scale: 11, 12, 13, 14, 16, 18
|
|
17
|
-
- Weights: 400, 500, 600
|
|
18
|
-
|
|
19
|
-
## Patterns
|
|
20
|
-
|
|
21
|
-
- Button: 32px height, compact padding, 4px radius, border-first
|
|
22
|
-
- Card: faint border, 12px padding, 6px radius, no shadow
|
|
23
|
-
- Table cell: 8px 12px padding, tabular numbers
|
|
24
|
-
|
|
25
|
-
## Decision Bias
|
|
26
|
-
|
|
27
|
-
- Prefer information density over decorative lift.
|
|
28
|
-
- Prefer borders and tonal separation over heavy shadows.
|
|
29
|
-
- Use compact sizing for power-user workflows.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Design System Example - Warmth & Approachability
|
|
2
|
-
|
|
3
|
-
Use this when the interface should feel friendly, collaborative, or consumer-oriented.
|
|
4
|
-
|
|
5
|
-
## Direction
|
|
6
|
-
|
|
7
|
-
**Personality:** Warmth & Approachability
|
|
8
|
-
**Foundation:** Warm
|
|
9
|
-
**Depth:** Subtle shadows
|
|
10
|
-
|
|
11
|
-
## Tokens
|
|
12
|
-
|
|
13
|
-
- Spacing base: 4px
|
|
14
|
-
- Radius scale: 8px, 12px, 16px
|
|
15
|
-
- Font: Inter or another approachable UI face
|
|
16
|
-
- Scale: 13, 14, 15, 16, 18, 20, 24
|
|
17
|
-
- Weights: 400, 500, 600
|
|
18
|
-
|
|
19
|
-
## Patterns
|
|
20
|
-
|
|
21
|
-
- Button: 40px height, comfortable padding, 8px radius
|
|
22
|
-
- Card: soft shadow, 20px padding, rounded corners
|
|
23
|
-
- Input: 44px height, generous padding, visible focus state
|
|
24
|
-
|
|
25
|
-
## Decision Bias
|
|
26
|
-
|
|
27
|
-
- Prefer soft depth and generous whitespace.
|
|
28
|
-
- Prefer readable, inviting surfaces over technical density.
|
|
29
|
-
- Use this when the product benefits from calm and friendliness.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Design System Template
|
|
2
|
-
|
|
3
|
-
Use this as the starting shape for `.interface-design/system.md`.
|
|
4
|
-
|
|
5
|
-
## Direction
|
|
6
|
-
|
|
7
|
-
**Personality:** [Precision & Density | Warmth & Approachability | Sophistication & Trust | Boldness & Clarity | Utility & Function | Data & Analysis]
|
|
8
|
-
|
|
9
|
-
**Foundation:** [warm | cool | neutral | tinted]
|
|
10
|
-
|
|
11
|
-
**Depth:** [borders-only | subtle-shadows | layered-shadows]
|
|
12
|
-
|
|
13
|
-
## Tokens
|
|
14
|
-
|
|
15
|
-
### Spacing
|
|
16
|
-
Base: [4px | 8px]
|
|
17
|
-
Scale: [4, 8, 12, 16, 24, 32, 64]
|
|
18
|
-
|
|
19
|
-
### Colors
|
|
20
|
-
```css
|
|
21
|
-
--foreground: [slate-900]
|
|
22
|
-
--secondary: [slate-600]
|
|
23
|
-
--muted: [slate-400]
|
|
24
|
-
--faint: [slate-200]
|
|
25
|
-
--accent: [blue-600]
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Radius
|
|
29
|
-
Scale: [4px, 6px, 8px] (sharp) or [8px, 12px, 16px] (soft)
|
|
30
|
-
|
|
31
|
-
### Typography
|
|
32
|
-
Font: [system | Inter | Geist]
|
|
33
|
-
Scale: 12, 13, 14 (base), 16, 18, 24, 32
|
|
34
|
-
Weights: 400, 500, 600
|
|
35
|
-
|
|
36
|
-
## Patterns
|
|
37
|
-
|
|
38
|
-
### Button Primary
|
|
39
|
-
- Height: 36px
|
|
40
|
-
- Padding: 12px 16px
|
|
41
|
-
- Radius: 6px
|
|
42
|
-
- Font: 14px, 500 weight
|
|
43
|
-
- Usage: primary actions
|
|
44
|
-
|
|
45
|
-
### Card Default
|
|
46
|
-
- Border: 0.5px solid (faint)
|
|
47
|
-
- Padding: 16px
|
|
48
|
-
- Radius: 8px
|
|
49
|
-
- Background: white
|
|
50
|
-
- Usage: content containers
|
|
51
|
-
|
|
52
|
-
## Decisions
|
|
53
|
-
|
|
54
|
-
| Decision | Rationale | Date |
|
|
55
|
-
|---|---|---|
|
|
56
|
-
| Borders-only depth | Dashboard tool, users want density. Shadows add visual weight without information value. | YYYY-MM-DD |
|
|
57
|
-
| 4px spacing base | Tight enough for data tables, divisible by common UI sizes | YYYY-MM-DD |
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
# shadcn/ui Integration Skill
|
|
2
|
-
|
|
3
|
-
## Install
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npx skills add google-labs-code/stitch-skills --skill shadcn-ui --global
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## What It Does
|
|
10
|
-
|
|
11
|
-
This skill provides expert guidance for integrating shadcn/ui components into your React applications. It helps you discover, install, customize, and optimize shadcn/ui components while following best practices.
|
|
12
|
-
|
|
13
|
-
## Example Prompts
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
Help me set up shadcn/ui in my Next.js project
|
|
17
|
-
|
|
18
|
-
Add a data table component with sorting and filtering to my app
|
|
19
|
-
|
|
20
|
-
Show me how to customize the button component with a new variant
|
|
21
|
-
|
|
22
|
-
Create a login form using shadcn/ui components with validation
|
|
23
|
-
|
|
24
|
-
Build a dashboard layout with sidebar navigation using shadcn/ui blocks
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## What is shadcn/ui?
|
|
28
|
-
|
|
29
|
-
shadcn/ui is a collection of beautifully designed, accessible, and customizable components built with:
|
|
30
|
-
- **Radix UI or Base UI**: Unstyled, accessible component primitives
|
|
31
|
-
- **Tailwind CSS**: Utility-first styling framework
|
|
32
|
-
- **TypeScript**: Full type safety
|
|
33
|
-
|
|
34
|
-
**Key Difference**: Unlike traditional component libraries, shadcn/ui copies components directly into your project. This gives you:
|
|
35
|
-
- Full control over the code
|
|
36
|
-
- No version lock-in
|
|
37
|
-
- Complete customization freedom
|
|
38
|
-
- Zero runtime overhead
|
|
39
|
-
|
|
40
|
-
## Skill Structure
|
|
41
|
-
|
|
42
|
-
```text
|
|
43
|
-
skills/shadcn-ui/
|
|
44
|
-
├── SKILL.md — Core instructions & workflow
|
|
45
|
-
├── README.md — This file
|
|
46
|
-
├── examples/ — Example implementations
|
|
47
|
-
│ ├── form-pattern.tsx — Form with validation
|
|
48
|
-
│ ├── data-table.tsx — Advanced table with sorting
|
|
49
|
-
│ └── auth-layout.tsx — Authentication flow
|
|
50
|
-
├── resources/ — Reference documentation
|
|
51
|
-
│ ├── setup-guide.md — Project initialization
|
|
52
|
-
│ ├── component-catalog.md — Component reference
|
|
53
|
-
│ ├── customization-guide.md — Theming patterns
|
|
54
|
-
│ └── migration-guide.md — Migration from other libraries
|
|
55
|
-
└── scripts/ — Utility scripts
|
|
56
|
-
└── verify-setup.sh — Validate project configuration
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## How It Works
|
|
60
|
-
|
|
61
|
-
When activated, the agent follows this workflow:
|
|
62
|
-
|
|
63
|
-
### 1. **Discovery & Planning**
|
|
64
|
-
- Lists available components using shadcn MCP tools
|
|
65
|
-
- Identifies required dependencies
|
|
66
|
-
- Plans component composition strategy
|
|
67
|
-
|
|
68
|
-
### 2. **Setup & Configuration**
|
|
69
|
-
- Verifies or initializes `components.json`
|
|
70
|
-
- Checks Tailwind CSS configuration
|
|
71
|
-
- Validates import aliases and paths
|
|
72
|
-
|
|
73
|
-
### 3. **Component Integration**
|
|
74
|
-
- Retrieves component source code
|
|
75
|
-
- Installs via CLI or manual integration
|
|
76
|
-
- Handles dependency installation
|
|
77
|
-
|
|
78
|
-
### 4. **Customization**
|
|
79
|
-
- Applies theme customization
|
|
80
|
-
- Creates component variants
|
|
81
|
-
- Extends components with custom logic
|
|
82
|
-
|
|
83
|
-
### 5. **Quality Assurance**
|
|
84
|
-
- Validates TypeScript types
|
|
85
|
-
- Checks accessibility compliance
|
|
86
|
-
- Verifies responsive behavior
|
|
87
|
-
|
|
88
|
-
## Prerequisites
|
|
89
|
-
|
|
90
|
-
Your project should have:
|
|
91
|
-
- **React 18+**
|
|
92
|
-
- **Tailwind CSS 3.0+**
|
|
93
|
-
- **TypeScript** (recommended)
|
|
94
|
-
- **Node.js 18+**
|
|
95
|
-
|
|
96
|
-
## Quick Start
|
|
97
|
-
|
|
98
|
-
### For New Projects
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
# Create Next.js project with shadcn/ui
|
|
102
|
-
npx create-next-app@latest my-app
|
|
103
|
-
cd my-app
|
|
104
|
-
npx shadcn@latest init
|
|
105
|
-
|
|
106
|
-
# Add components
|
|
107
|
-
npx shadcn@latest add button
|
|
108
|
-
npx shadcn@latest add card
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### For Existing Projects
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
# Initialize shadcn/ui
|
|
115
|
-
npx shadcn@latest init
|
|
116
|
-
|
|
117
|
-
# Configure when prompted:
|
|
118
|
-
# - Choose style (default/new-york)
|
|
119
|
-
# - Select base color
|
|
120
|
-
# - Configure CSS variables
|
|
121
|
-
# - Set import aliases
|
|
122
|
-
|
|
123
|
-
# Add your first component
|
|
124
|
-
npx shadcn@latest add button
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Available Components
|
|
128
|
-
|
|
129
|
-
shadcn/ui provides 50+ components including:
|
|
130
|
-
|
|
131
|
-
**Layout**: Accordion, Card, Separator, Tabs, Collapsible
|
|
132
|
-
**Forms**: Button, Input, Label, Checkbox, Radio Group, Select, Textarea
|
|
133
|
-
**Data Display**: Table, Badge, Avatar, Progress, Skeleton
|
|
134
|
-
**Overlays**: Dialog, Sheet, Popover, Tooltip, Dropdown Menu
|
|
135
|
-
**Navigation**: Navigation Menu, Tabs, Breadcrumb, Pagination
|
|
136
|
-
**Feedback**: Alert, Alert Dialog, Toast, Command
|
|
137
|
-
|
|
138
|
-
Plus complete **Blocks** like:
|
|
139
|
-
- Authentication forms
|
|
140
|
-
- Dashboard layouts
|
|
141
|
-
- Calendar interfaces
|
|
142
|
-
- Sidebar navigation
|
|
143
|
-
- E-commerce components
|
|
144
|
-
|
|
145
|
-
## Customization Approach
|
|
146
|
-
|
|
147
|
-
### Theme-Level Customization
|
|
148
|
-
Modify CSS variables in `globals.css`:
|
|
149
|
-
```css
|
|
150
|
-
:root {
|
|
151
|
-
--primary: 221.2 83.2% 53.3%;
|
|
152
|
-
--secondary: 210 40% 96.1%;
|
|
153
|
-
/* ... */
|
|
154
|
-
}
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Component-Level Customization
|
|
158
|
-
Components use `class-variance-authority` for variants:
|
|
159
|
-
```typescript
|
|
160
|
-
const buttonVariants = cva(
|
|
161
|
-
"base-classes",
|
|
162
|
-
{
|
|
163
|
-
variants: {
|
|
164
|
-
variant: { default: "...", destructive: "..." },
|
|
165
|
-
size: { default: "...", sm: "..." },
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### Composition
|
|
172
|
-
Create higher-level components:
|
|
173
|
-
```typescript
|
|
174
|
-
// Compose existing components
|
|
175
|
-
export function FeatureCard({ title, description, icon }) {
|
|
176
|
-
return (
|
|
177
|
-
<Card>
|
|
178
|
-
<CardHeader>
|
|
179
|
-
{icon}
|
|
180
|
-
<CardTitle>{title}</CardTitle>
|
|
181
|
-
</CardHeader>
|
|
182
|
-
<CardContent>
|
|
183
|
-
<p>{description}</p>
|
|
184
|
-
</CardContent>
|
|
185
|
-
</Card>
|
|
186
|
-
)
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
## Integration with MCP Tools
|
|
191
|
-
|
|
192
|
-
This skill leverages shadcn MCP server capabilities:
|
|
193
|
-
|
|
194
|
-
- `list_components` - Browse component catalog
|
|
195
|
-
- `get_component` - Retrieve component source
|
|
196
|
-
- `get_component_metadata` - View props and dependencies
|
|
197
|
-
- `get_component_demo` - See usage examples
|
|
198
|
-
- `list_blocks` - Browse UI blocks
|
|
199
|
-
- `get_block` - Retrieve block source with all files
|
|
200
|
-
- `search_items_in_registries` - Find components in custom registries
|
|
201
|
-
|
|
202
|
-
## Best Practices
|
|
203
|
-
|
|
204
|
-
1. **Keep `ui/` pure**: Don't modify components in `components/ui/` directly
|
|
205
|
-
2. **Compose, don't fork**: Create wrapper components instead of editing originals
|
|
206
|
-
3. **Use the CLI**: Let `shadcn add` handle dependencies and updates
|
|
207
|
-
4. **Maintain consistency**: Use the `cn()` utility for all class merging
|
|
208
|
-
5. **Respect accessibility**: Preserve ARIA attributes and keyboard handlers
|
|
209
|
-
6. **Test responsiveness**: shadcn components are responsive by default—keep it that way
|
|
210
|
-
|
|
211
|
-
## Troubleshooting
|
|
212
|
-
|
|
213
|
-
### "Module not found" errors
|
|
214
|
-
Check your `tsconfig.json` includes path aliases:
|
|
215
|
-
```json
|
|
216
|
-
{
|
|
217
|
-
"compilerOptions": {
|
|
218
|
-
"paths": {
|
|
219
|
-
"@/*": ["./src/*"]
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Styles not applying
|
|
226
|
-
- Import `globals.css` in your root layout
|
|
227
|
-
- Verify Tailwind config includes component paths
|
|
228
|
-
- Check CSS variable definitions match component expectations
|
|
229
|
-
|
|
230
|
-
### TypeScript errors
|
|
231
|
-
- Ensure all Radix UI peer dependencies are installed
|
|
232
|
-
- Run `npm install` after adding components via CLI
|
|
233
|
-
- Check that React types are up to date
|
|
234
|
-
|
|
235
|
-
## Further Reading
|
|
236
|
-
|
|
237
|
-
- [Official Documentation](https://ui.shadcn.com)
|
|
238
|
-
- [Component Source](https://github.com/shadcn-ui/ui)
|
|
239
|
-
- [Radix UI Docs](https://www.radix-ui.com)
|
|
240
|
-
- [Tailwind CSS Docs](https://tailwindcss.com)
|
|
241
|
-
|
|
242
|
-
## Notes
|
|
243
|
-
|
|
244
|
-
Runtime guidance lives in `SKILL.md`. Deeper material lives under `resources/`, `examples/`, and `scripts/`.
|