takomi 2.0.5 → 2.0.7
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/README.md +35 -27
- package/assets/.agent/skills/21st-dev-components/21st-handoff.md +146 -0
- package/assets/.agent/skills/21st-dev-components/SKILL.md +198 -0
- package/assets/.agent/skills/21st-dev-components/references/categories.md +91 -0
- package/assets/.agent/skills/21st-dev-components/references/manual-handoff-template.md +79 -0
- package/assets/.agent/skills/21st-dev-components/references/section-detection-rubric.md +59 -0
- package/assets/.agent/skills/21st-dev-components/scripts/_shared.mjs +304 -0
- package/assets/.agent/skills/21st-dev-components/scripts/build-manual-handoff-template.mjs +115 -0
- package/assets/.agent/skills/21st-dev-components/scripts/fetch-21st-source.mjs +65 -0
- package/assets/.agent/skills/21st-dev-components/scripts/resolve-21st-component.mjs +115 -0
- package/assets/.agent/skills/code-review/SKILL.md +34 -81
- package/assets/.agent/skills/jstar-reviewer/SKILL.md +229 -0
- package/assets/.agent/skills/jstar-reviewer/agents/openai.yaml +7 -0
- package/assets/.agent/skills/takomi/workflows/review_code.md +96 -133
- package/assets/.agent/skills/takomi/workflows/spawn-jstar-code-review.md +161 -121
- package/assets/.agent/workflows/review_code.md +96 -133
- package/assets/.agent/workflows/spawn-jstar-code-review.md +161 -121
- package/package.json +7 -3
- package/src/cli.js +7 -7
- package/src/harness.js +13 -0
package/README.md
CHANGED
|
@@ -50,34 +50,38 @@ Choose your weapons:
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
-
## Codex Takomi Skills (No Slash Required)
|
|
54
|
-
|
|
55
|
-
Takomi now supports a full skill-native protocol path in Codex:
|
|
56
|
-
- Router skill: `takomi`
|
|
57
|
-
- Specialist skills: `takomi-*` (migrated from non-legacy workflows)
|
|
58
|
-
- Backward phrase aliases: `vibe genesis`, `vibe build`, `mode code`, and related prior names
|
|
59
|
-
|
|
60
|
-
Use natural language:
|
|
61
|
-
|
|
62
|
-
```text
|
|
63
|
-
use takomi
|
|
64
|
-
use takomi genesis
|
|
65
|
-
run vibe genesis
|
|
66
|
-
continue build with takomi
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Install the Takomi protocol suite:
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill takomi
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
53
|
+
## Codex Takomi Skills (No Slash Required)
|
|
54
|
+
|
|
55
|
+
Takomi now supports a full skill-native protocol path in Codex:
|
|
56
|
+
- Router skill: `takomi`
|
|
57
|
+
- Specialist skills: `takomi-*` (migrated from non-legacy workflows)
|
|
58
|
+
- Backward phrase aliases: `vibe genesis`, `vibe build`, `mode code`, and related prior names
|
|
59
|
+
|
|
60
|
+
Use natural language:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
use takomi
|
|
64
|
+
use takomi genesis
|
|
65
|
+
run vibe genesis
|
|
66
|
+
continue build with takomi
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Install the Takomi protocol suite:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill takomi
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Original Takomi-authored skills in this bundle include `21st-dev-components`, `takomi`, `global-brand-namer`, `jstar-reviewer`, and the core VibeCode/Takomi workflow skills that ship with the CLI.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
77
79
|
## 📦 Skill Ecosystem
|
|
78
80
|
|
|
79
81
|
Think of skills as specialized team members you can summon on demand. From security audits to AI video generation — there's a skill for that.
|
|
80
82
|
|
|
83
|
+
The published bundle currently ships **68 top-level skills**, including the original `21st-dev-components` workflow for guided 21st.dev integration.
|
|
84
|
+
|
|
81
85
|
### Interactive Search & Install
|
|
82
86
|
```bash
|
|
83
87
|
# Using pnpm
|
|
@@ -90,7 +94,7 @@ npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite
|
|
|
90
94
|
### Core Essentials (Start Here)
|
|
91
95
|
The non-negotiables for daily development:
|
|
92
96
|
```bash
|
|
93
|
-
npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill takomi
|
|
97
|
+
npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill takomi
|
|
94
98
|
```
|
|
95
99
|
|
|
96
100
|
### Convex Development Suite
|
|
@@ -108,7 +112,7 @@ npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill
|
|
|
108
112
|
### The Full Arsenal (Free)
|
|
109
113
|
Everything else — SEO, research, documentation, testing, and beyond:
|
|
110
114
|
```bash
|
|
111
|
-
npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill agent-recovery --skill algorithmic-art --skill audit-website --skill avoid-feature-creep --skill building-native-ui --skill code-review --skill component-analysis --skill context7 --skill convex --skill convex-agents --skill convex-best-practices --skill convex-component-authoring --skill convex-cron-jobs --skill convex-file-storage --skill convex-functions --skill convex-http-actions --skill convex-migrations --skill convex-realtime --skill convex-schema-validator --skill convex-security-audit --skill convex-security-check --skill copywriting --skill crafting-effective-readmes --skill docx --skill domain-name-brainstormer --skill frontend-design --skill gemini --skill git-worktree --skill github-ops --skill google-trends --skill high-fidelity-extraction --skill jules --skill marketing-ideas --skill monorepo-management --skill nextjs-standards --skill optimize-agent-context --skill pdf --skill pptx --skill pricing-strategy --skill programmatic-seo --skill prompt-engineering --skill remotion --skill security-audit --skill seo-ready --skill skill-creator --skill social-content --skill spawn-task --skill stitch --skill subagent-driven-development --skill sync-docs --skill twitter-automation --skill ui-ux-pro-max --skill upgrading-expo --skill webapp-testing --skill web-design-guidelines --skill xlsx --skill youtube-pipeline
|
|
115
|
+
npx -y skills add https://github.com/JStaRFilms/VibeCode-Protocol-Suite --skill 21st-dev-components --skill agent-recovery --skill algorithmic-art --skill audit-website --skill avoid-feature-creep --skill building-native-ui --skill code-review --skill component-analysis --skill context7 --skill convex --skill convex-agents --skill convex-best-practices --skill convex-component-authoring --skill convex-cron-jobs --skill convex-file-storage --skill convex-functions --skill convex-http-actions --skill convex-migrations --skill convex-realtime --skill convex-schema-validator --skill convex-security-audit --skill convex-security-check --skill copywriting --skill crafting-effective-readmes --skill docx --skill domain-name-brainstormer --skill frontend-design --skill gemini --skill git-worktree --skill github-ops --skill global-brand-namer --skill google-trends --skill high-fidelity-extraction --skill jstar-reviewer --skill jules --skill marketing-ideas --skill monorepo-management --skill nextjs-standards --skill optimize-agent-context --skill pdf --skill pptx --skill pricing-strategy --skill programmatic-seo --skill prompt-engineering --skill remotion --skill security-audit --skill seo-ready --skill skill-creator --skill social-content --skill spawn-task --skill stitch --skill subagent-driven-development --skill sync-docs --skill twitter-automation --skill ui-ux-pro-max --skill upgrading-expo --skill webapp-testing --skill web-design-guidelines --skill xlsx --skill youtube-pipeline
|
|
112
116
|
```
|
|
113
117
|
|
|
114
118
|
---
|
|
@@ -126,8 +130,9 @@ Takomi v2.0 introduces the **Global Skills Router** — install skills once, and
|
|
|
126
130
|
| **Antigravity** | `~/.gemini/antigravity/skills/` | `~/.gemini/antigravity/global_workflows/` |
|
|
127
131
|
| **KiloCode** | `~/.kilocode/skills/` | `~/.kilocode/workflows/` |
|
|
128
132
|
| **Windsurf** | `~/.codeium/windsurf/skills/` | `~/.codeium/windsurf/global_workflows/` |
|
|
133
|
+
| **Codex** | `~/.codex/skills/` | _(skills only)_ |
|
|
129
134
|
| **Cursor** | `~/.cursor/skills/` | _(uses rules)_ |
|
|
130
|
-
| **Gemini CLI** | `~/.
|
|
135
|
+
| **Gemini CLI** | `~/.agents/skills/` | _(skills only)_ |
|
|
131
136
|
|
|
132
137
|
### CLI Commands
|
|
133
138
|
|
|
@@ -384,6 +389,7 @@ cp -r path/to/VibeCode-Protocol-Suite/.agent ./
|
|
|
384
389
|
```
|
|
385
390
|
|
|
386
391
|
### For Complex Multi-Agent Projects
|
|
392
|
+
See the Takumi orchestration build plan: `docs/takumi_code_v0.001_plan.md`.
|
|
387
393
|
```bash
|
|
388
394
|
# Use the orchestrator to coordinate multiple specialized agents
|
|
389
395
|
# Type: /mode-orchestrator
|
|
@@ -419,6 +425,8 @@ This is a living system. If you discover improvements:
|
|
|
419
425
|
|
|
420
426
|
## 🙏 Acknowledgements
|
|
421
427
|
|
|
428
|
+
Externally sourced skills in this bundle retain credit to their upstream creators. Takomi-original skills and workflows in this repository, including `21st-dev-components`, remain authored and maintained by J StaR Films Studios.
|
|
429
|
+
|
|
422
430
|
- **Anthropic Skills**: From [anthropics/skills](https://github.com/anthropics/skills) — a massive collection including **Office Suite** (PDF/DOCX/PPTX/XLSX), **Frontend Design**, **Webapp Testing**, **Algorithmic Art**, **Monorepo Management**, and **Skill Creator**.
|
|
423
431
|
- **Inference.sh Skills**: From [inference.sh/skills](https://github.com/inference-sh/skills) — complete media & automation suite including **Marketing Videos**, **Voice Cloning**, **Social Content**, **Twitter Automation**, **Product Photography**, and **Prompt Engineering**.
|
|
424
432
|
- **Marketing Skills**: From [coreyhaines31/marketingskills](https://github.com/coreyhaines31/marketingskills) — the complete marketer's toolkit: **Copywriting**, **Pricing Strategy**, **Social Strategy**, **Programmatic SEO**, and **Marketing Ideas**.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# 21st.dev Manual Handoff
|
|
2
|
+
|
|
3
|
+
Reference URL:
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Page goal:
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Desired page order:
|
|
10
|
+
- header
|
|
11
|
+
- hero
|
|
12
|
+
- features
|
|
13
|
+
- pricing
|
|
14
|
+
- footer
|
|
15
|
+
|
|
16
|
+
General project notes:
|
|
17
|
+
- Framework:
|
|
18
|
+
- Styling stack:
|
|
19
|
+
- Existing component path:
|
|
20
|
+
- Constraints:
|
|
21
|
+
|
|
22
|
+
## header
|
|
23
|
+
|
|
24
|
+
Suggested 21st.dev categories:
|
|
25
|
+
- Announcements (10): https://21st.dev/s/announcement
|
|
26
|
+
- Navigation Menus (11): https://21st.dev/s/navbar-navigation
|
|
27
|
+
- Buttons (130): https://21st.dev/s/button
|
|
28
|
+
- Dropdowns (25): https://21st.dev/s/dropdown
|
|
29
|
+
|
|
30
|
+
Chosen 21st.dev URLs:
|
|
31
|
+
-
|
|
32
|
+
|
|
33
|
+
Copy prompt or notes:
|
|
34
|
+
```md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Component code blocks:
|
|
38
|
+
```tsx
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Dependencies:
|
|
42
|
+
-
|
|
43
|
+
|
|
44
|
+
Placement / styling notes:
|
|
45
|
+
-
|
|
46
|
+
|
|
47
|
+
## hero
|
|
48
|
+
|
|
49
|
+
Suggested 21st.dev categories:
|
|
50
|
+
- Heroes (73): https://21st.dev/s/hero
|
|
51
|
+
- Calls to Action (34): https://21st.dev/s/call-to-action
|
|
52
|
+
- Backgrounds (33): https://21st.dev/s/background
|
|
53
|
+
- Texts (58): https://21st.dev/s/text
|
|
54
|
+
- Images (26): https://21st.dev/s/image
|
|
55
|
+
|
|
56
|
+
Chosen 21st.dev URLs:
|
|
57
|
+
-
|
|
58
|
+
|
|
59
|
+
Copy prompt or notes:
|
|
60
|
+
```md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Component code blocks:
|
|
64
|
+
```tsx
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Dependencies:
|
|
68
|
+
-
|
|
69
|
+
|
|
70
|
+
Placement / styling notes:
|
|
71
|
+
-
|
|
72
|
+
|
|
73
|
+
## features
|
|
74
|
+
|
|
75
|
+
Suggested 21st.dev categories:
|
|
76
|
+
- Features (36): https://21st.dev/s/features
|
|
77
|
+
- Cards (79): https://21st.dev/s/card
|
|
78
|
+
- Icons (10): https://21st.dev/s/icons
|
|
79
|
+
- Numbers (18): https://21st.dev/s/number
|
|
80
|
+
|
|
81
|
+
Chosen 21st.dev URLs:
|
|
82
|
+
-
|
|
83
|
+
|
|
84
|
+
Copy prompt or notes:
|
|
85
|
+
```md
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Component code blocks:
|
|
89
|
+
```tsx
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Dependencies:
|
|
93
|
+
-
|
|
94
|
+
|
|
95
|
+
Placement / styling notes:
|
|
96
|
+
-
|
|
97
|
+
|
|
98
|
+
## pricing
|
|
99
|
+
|
|
100
|
+
Suggested 21st.dev categories:
|
|
101
|
+
- Pricing Sections (17): https://21st.dev/s/pricing-section
|
|
102
|
+
- Comparisons (6): https://21st.dev/s/comparison
|
|
103
|
+
- Cards (79): https://21st.dev/s/card
|
|
104
|
+
- Buttons (130): https://21st.dev/s/button
|
|
105
|
+
|
|
106
|
+
Chosen 21st.dev URLs:
|
|
107
|
+
-
|
|
108
|
+
|
|
109
|
+
Copy prompt or notes:
|
|
110
|
+
```md
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Component code blocks:
|
|
114
|
+
```tsx
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Dependencies:
|
|
118
|
+
-
|
|
119
|
+
|
|
120
|
+
Placement / styling notes:
|
|
121
|
+
-
|
|
122
|
+
|
|
123
|
+
## footer
|
|
124
|
+
|
|
125
|
+
Suggested 21st.dev categories:
|
|
126
|
+
- Footers (14): https://21st.dev/s/footer
|
|
127
|
+
- Links (13): https://21st.dev/s/link
|
|
128
|
+
- Buttons (130): https://21st.dev/s/button
|
|
129
|
+
|
|
130
|
+
Chosen 21st.dev URLs:
|
|
131
|
+
-
|
|
132
|
+
|
|
133
|
+
Copy prompt or notes:
|
|
134
|
+
```md
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Component code blocks:
|
|
138
|
+
```tsx
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Dependencies:
|
|
142
|
+
-
|
|
143
|
+
|
|
144
|
+
Placement / styling notes:
|
|
145
|
+
-
|
|
146
|
+
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 21st-dev-components
|
|
3
|
+
description: Use when the user wants to build a React site or app section from 21st.dev components, clone the structure of a reference site with 21st.dev building blocks, browse 21st.dev manually and return copied prompts/code, or says things like "build me a site like this", "use 21st.dev", "copy prompt", "component URL", "hero from 21st", or "match this landing page with ready-made components".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 21st.dev Reference-to-Component Skill
|
|
7
|
+
|
|
8
|
+
This skill routes between two flows:
|
|
9
|
+
|
|
10
|
+
- **Auto mode**: the user provides a reference site URL and wants the agent to inspect it, infer the required sections, choose matching 21st.dev components automatically, and integrate them.
|
|
11
|
+
- **Manual mode**: the user wants guided collection. The agent lists the sections, tells the user what to fetch from 21st.dev, then integrates the returned handoff.
|
|
12
|
+
|
|
13
|
+
Use this skill only for **React-family** projects. If the repo is not React-based, explain that v1 of this skill is React-only and stop.
|
|
14
|
+
|
|
15
|
+
## Bundled Resources
|
|
16
|
+
|
|
17
|
+
- `references/categories.md`
|
|
18
|
+
Use for section-to-category mapping and direct 21st.dev category URLs.
|
|
19
|
+
- `references/manual-handoff-template.md`
|
|
20
|
+
Use when the user is gathering components manually.
|
|
21
|
+
- `references/section-detection-rubric.md`
|
|
22
|
+
Use during Auto mode after crawling the reference site.
|
|
23
|
+
- `scripts/resolve-21st-component.mjs`
|
|
24
|
+
Resolve a 21st.dev component page into normalized metadata.
|
|
25
|
+
- `scripts/fetch-21st-source.mjs`
|
|
26
|
+
Fetch raw source from 21st CDN URLs.
|
|
27
|
+
- `scripts/build-manual-handoff-template.mjs`
|
|
28
|
+
Generate a manual handoff markdown file for the user.
|
|
29
|
+
|
|
30
|
+
## Mode Router
|
|
31
|
+
|
|
32
|
+
### Use Auto mode when
|
|
33
|
+
|
|
34
|
+
- The user gives a live reference site URL.
|
|
35
|
+
- The user says "build me something like this", "clone this layout", or "crawl this site and rebuild it".
|
|
36
|
+
- The user expects the agent to choose components automatically.
|
|
37
|
+
|
|
38
|
+
### Use Manual mode when
|
|
39
|
+
|
|
40
|
+
- The user says they will browse 21st.dev themselves.
|
|
41
|
+
- The user pastes 21st.dev component URLs, copied prompts, code fences, or a markdown handoff file.
|
|
42
|
+
- The user wants the agent to tell them exactly what sections to gather.
|
|
43
|
+
|
|
44
|
+
If Auto mode fails because the site is blocked, brittle, or the 21st lookup is weak, fall back to Manual mode immediately and generate the handoff template instead of dead-ending.
|
|
45
|
+
|
|
46
|
+
## Auto Mode Workflow
|
|
47
|
+
|
|
48
|
+
### Step 1: Crawl the reference site in a browser
|
|
49
|
+
|
|
50
|
+
Use the browser-first workflow from the `webapp-testing` skill. Do not rely only on raw HTML if the page is clearly client-rendered.
|
|
51
|
+
|
|
52
|
+
What to inspect:
|
|
53
|
+
- header / navbar / announcement bars
|
|
54
|
+
- hero block
|
|
55
|
+
- feature grids or card rows
|
|
56
|
+
- social proof / logos
|
|
57
|
+
- testimonials
|
|
58
|
+
- pricing
|
|
59
|
+
- FAQ
|
|
60
|
+
- forms / auth blocks
|
|
61
|
+
- footer
|
|
62
|
+
- app shell elements such as sidebar, table, tabs, or modals
|
|
63
|
+
|
|
64
|
+
Load `references/section-detection-rubric.md` if the page structure is not obvious.
|
|
65
|
+
|
|
66
|
+
### Step 2: Build a page anatomy model
|
|
67
|
+
|
|
68
|
+
Write down the major sections in visual order. For each section, capture:
|
|
69
|
+
- section name
|
|
70
|
+
- rough structure
|
|
71
|
+
- visual tone
|
|
72
|
+
- obvious dependencies such as carousels, motion, video, maps, charts, or forms
|
|
73
|
+
|
|
74
|
+
### Step 3: Map sections to 21st.dev categories
|
|
75
|
+
|
|
76
|
+
Load `references/categories.md` and map each detected section to one or more category slugs.
|
|
77
|
+
|
|
78
|
+
Rules:
|
|
79
|
+
- Match structure first, style second.
|
|
80
|
+
- Use one primary category and optional supporting categories.
|
|
81
|
+
- Decorative elements like shaders, backgrounds, or borders are secondary, not the main section match.
|
|
82
|
+
|
|
83
|
+
### Step 4: Discover and resolve candidate components
|
|
84
|
+
|
|
85
|
+
Search 21st.dev for each mapped category. Once you have likely component URLs:
|
|
86
|
+
|
|
87
|
+
1. Resolve each page:
|
|
88
|
+
```bash
|
|
89
|
+
node scripts/resolve-21st-component.mjs --url "<21st-component-url>" --json
|
|
90
|
+
```
|
|
91
|
+
2. Inspect:
|
|
92
|
+
- dependency count
|
|
93
|
+
- component/demo CDN URLs
|
|
94
|
+
- tags
|
|
95
|
+
- author
|
|
96
|
+
- registry dependency hints
|
|
97
|
+
|
|
98
|
+
### Step 5: Choose the best match automatically
|
|
99
|
+
|
|
100
|
+
Default behavior is **not** to ask the user to choose.
|
|
101
|
+
|
|
102
|
+
Prefer:
|
|
103
|
+
- closest structural match
|
|
104
|
+
- lowest dependency burden
|
|
105
|
+
- compatibility with the current repo
|
|
106
|
+
- easier adaptation to the existing styling system
|
|
107
|
+
|
|
108
|
+
### Step 6: Fetch source and integrate
|
|
109
|
+
|
|
110
|
+
Fetch component/demo source from CDN URLs:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
node scripts/fetch-21st-source.mjs --url "<code-url>" --url "<demo-code-url>" --out-dir tmp/21st
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Then integrate into the repo:
|
|
117
|
+
- adapt file paths to the existing project structure
|
|
118
|
+
- prefer the repo's current component locations
|
|
119
|
+
- prefer existing Tailwind, TypeScript, and shadcn conventions when present
|
|
120
|
+
- if shadcn conventions are absent, adapt rather than forcing `/components/ui`
|
|
121
|
+
- if required dependencies or setup are missing, install/configure them first
|
|
122
|
+
|
|
123
|
+
### Step 7: Report what was selected
|
|
124
|
+
|
|
125
|
+
When you finish, state:
|
|
126
|
+
- which sections were detected
|
|
127
|
+
- which 21st.dev components were selected
|
|
128
|
+
- which dependencies were added
|
|
129
|
+
- any sections that required partial custom adaptation
|
|
130
|
+
|
|
131
|
+
## Manual Mode Workflow
|
|
132
|
+
|
|
133
|
+
### Step 1: Break the page into sections
|
|
134
|
+
|
|
135
|
+
Identify the target sections from the user's request or reference URL:
|
|
136
|
+
- header / navbar
|
|
137
|
+
- hero
|
|
138
|
+
- features
|
|
139
|
+
- testimonials
|
|
140
|
+
- pricing
|
|
141
|
+
- footer
|
|
142
|
+
- sidebar
|
|
143
|
+
- CTA
|
|
144
|
+
- forms
|
|
145
|
+
- tables
|
|
146
|
+
- auth
|
|
147
|
+
- FAQ
|
|
148
|
+
|
|
149
|
+
### Step 2: Tell the user what to collect
|
|
150
|
+
|
|
151
|
+
Use `references/categories.md` to give the exact 21st.dev category links.
|
|
152
|
+
|
|
153
|
+
Generate a checklist file when useful:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
node scripts/build-manual-handoff-template.mjs --sections "header,hero,features,pricing,footer" --out 21st-handoff.md
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Point the user at the template in `references/manual-handoff-template.md` if they want to paste directly in chat instead of using a file.
|
|
160
|
+
|
|
161
|
+
### Step 3: Accept one combined handoff
|
|
162
|
+
|
|
163
|
+
The handoff can contain:
|
|
164
|
+
- 21st.dev URLs
|
|
165
|
+
- copied prompt blocks
|
|
166
|
+
- code fences
|
|
167
|
+
- dependency lists
|
|
168
|
+
- placement notes
|
|
169
|
+
|
|
170
|
+
Do not make the user re-explain the same page structure if the handoff already contains it.
|
|
171
|
+
|
|
172
|
+
### Step 4: Parse and integrate
|
|
173
|
+
|
|
174
|
+
For each returned section:
|
|
175
|
+
- resolve the component URL if present
|
|
176
|
+
- fetch source if needed
|
|
177
|
+
- merge copied prompt/code information with repo context
|
|
178
|
+
- install dependencies
|
|
179
|
+
- adapt imports, component paths, and utility functions to the current repo
|
|
180
|
+
|
|
181
|
+
## Integration Rules
|
|
182
|
+
|
|
183
|
+
- v1 supports React projects broadly.
|
|
184
|
+
- Preserve the repo's existing file layout whenever possible.
|
|
185
|
+
- If Tailwind or TypeScript is missing and the chosen component requires it, explain exactly what must be added before integration.
|
|
186
|
+
- If the component assumes shadcn utilities like `cn` or `@/lib/utils`, either map them to the repo equivalent or add a minimal compatible helper.
|
|
187
|
+
- If one section cannot be matched cleanly, integrate the rest and flag the unmatched section explicitly.
|
|
188
|
+
|
|
189
|
+
## Failure Handling
|
|
190
|
+
|
|
191
|
+
- Bad reference URL or blocked crawl: switch to Manual mode and generate a handoff template.
|
|
192
|
+
- 21st.dev page resolves but source URLs are missing: use the copied prompt path or ask for the component's copied prompt/code only for that section.
|
|
193
|
+
- Non-React target repo: explain the limitation and stop.
|
|
194
|
+
|
|
195
|
+
## Output Defaults
|
|
196
|
+
|
|
197
|
+
- **Auto mode**: inspect, choose, fetch, integrate, report.
|
|
198
|
+
- **Manual mode**: generate checklist, ingest handoff, integrate, report.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# 21st.dev Category Map
|
|
2
|
+
|
|
3
|
+
Use this file when mapping a reference site's sections to 21st.dev buckets or when generating a manual collection checklist.
|
|
4
|
+
|
|
5
|
+
## Landing Page Sections
|
|
6
|
+
|
|
7
|
+
| Section | Primary categories | Secondary categories |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Announcement bar | `announcement` | `badge`, `text`, `link` |
|
|
10
|
+
| Header / Navbar | `navbar-navigation` | `announcement`, `button`, `dropdown`, `menu` |
|
|
11
|
+
| Hero | `hero` | `call-to-action`, `background`, `text`, `image` |
|
|
12
|
+
| Feature grid | `features` | `card`, `icons`, `number` |
|
|
13
|
+
| Social proof / logos | `image` | `icons`, `scroll-area` |
|
|
14
|
+
| Testimonials | `testimonials` | `card`, `carousel` |
|
|
15
|
+
| Pricing | `pricing-section` | `comparison`, `card`, `button` |
|
|
16
|
+
| FAQ | `accordion` | `text` |
|
|
17
|
+
| Footer | `footer` | `link`, `button` |
|
|
18
|
+
|
|
19
|
+
## App / Dashboard Sections
|
|
20
|
+
|
|
21
|
+
| Section | Primary categories | Secondary categories |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| Sidebar | `sidebar` | `menu`, `navbar-navigation`, `scroll-area` |
|
|
24
|
+
| Data table | `table` | `pagination`, `tabs`, `card` |
|
|
25
|
+
| Filters / forms | `form` | `input`, `select`, `radio-group`, `checkbox`, `button` |
|
|
26
|
+
| Dialogs | `modal-dialog` | `popover`, `button`, `toast` |
|
|
27
|
+
| Auth | `sign-in`, `registration-signup` | `form`, `input`, `button` |
|
|
28
|
+
| Chat | `ai-chat` | `input`, `button`, `avatar` |
|
|
29
|
+
|
|
30
|
+
## Raw Category Index
|
|
31
|
+
|
|
32
|
+
| Slug | Label | Count | URL |
|
|
33
|
+
|---|---|---:|---|
|
|
34
|
+
| `announcement` | Announcements | 10 | `https://21st.dev/s/announcement` |
|
|
35
|
+
| `background` | Backgrounds | 33 | `https://21st.dev/s/background` |
|
|
36
|
+
| `border` | Borders | 12 | `https://21st.dev/s/border` |
|
|
37
|
+
| `call-to-action` | Calls to Action | 34 | `https://21st.dev/s/call-to-action` |
|
|
38
|
+
| `comparison` | Comparisons | 6 | `https://21st.dev/s/comparison` |
|
|
39
|
+
| `dock` | Docks | 6 | `https://21st.dev/s/dock` |
|
|
40
|
+
| `features` | Features | 36 | `https://21st.dev/s/features` |
|
|
41
|
+
| `footer` | Footers | 14 | `https://21st.dev/s/footer` |
|
|
42
|
+
| `hero` | Heroes | 73 | `https://21st.dev/s/hero` |
|
|
43
|
+
| `hook` | Hooks | 31 | `https://21st.dev/s/hook` |
|
|
44
|
+
| `image` | Images | 26 | `https://21st.dev/s/image` |
|
|
45
|
+
| `map` | Maps | 2 | `https://21st.dev/s/map` |
|
|
46
|
+
| `navbar-navigation` | Navigation Menus | 11 | `https://21st.dev/s/navbar-navigation` |
|
|
47
|
+
| `pricing-section` | Pricing Sections | 17 | `https://21st.dev/s/pricing-section` |
|
|
48
|
+
| `scroll-area` | Scroll Areas | 24 | `https://21st.dev/s/scroll-area` |
|
|
49
|
+
| `shader` | Shaders | 15 | `https://21st.dev/s/shader` |
|
|
50
|
+
| `testimonials` | Testimonials | 15 | `https://21st.dev/s/testimonials` |
|
|
51
|
+
| `text` | Texts | 58 | `https://21st.dev/s/text` |
|
|
52
|
+
| `video` | Videos | 9 | `https://21st.dev/s/video` |
|
|
53
|
+
| `accordion` | Accordions | 40 | `https://21st.dev/s/accordion` |
|
|
54
|
+
| `ai-chat` | AI Chats | 30 | `https://21st.dev/s/ai-chat` |
|
|
55
|
+
| `alert` | Alerts | 23 | `https://21st.dev/s/alert` |
|
|
56
|
+
| `avatar` | Avatars | 17 | `https://21st.dev/s/avatar` |
|
|
57
|
+
| `badge` | Badges | 25 | `https://21st.dev/s/badge` |
|
|
58
|
+
| `button` | Buttons | 130 | `https://21st.dev/s/button` |
|
|
59
|
+
| `calendar` | Calendars | 34 | `https://21st.dev/s/calendar` |
|
|
60
|
+
| `card` | Cards | 79 | `https://21st.dev/s/card` |
|
|
61
|
+
| `carousel` | Carousels | 16 | `https://21st.dev/s/carousel` |
|
|
62
|
+
| `checkbox` | Checkboxes | 19 | `https://21st.dev/s/checkbox` |
|
|
63
|
+
| `date-picker` | Date Pickers | 12 | `https://21st.dev/s/date-picker` |
|
|
64
|
+
| `modal-dialog` | Dialogs / Modals | 37 | `https://21st.dev/s/modal-dialog` |
|
|
65
|
+
| `dropdown` | Dropdowns | 25 | `https://21st.dev/s/dropdown` |
|
|
66
|
+
| `empty-state` | Empty States | 1 | `https://21st.dev/s/empty-state` |
|
|
67
|
+
| `file-tree` | File Trees | 2 | `https://21st.dev/s/file-tree` |
|
|
68
|
+
| `upload-download` | File Uploads | 7 | `https://21st.dev/s/upload-download` |
|
|
69
|
+
| `form` | Forms | 23 | `https://21st.dev/s/form` |
|
|
70
|
+
| `icons` | Icons | 10 | `https://21st.dev/s/icons` |
|
|
71
|
+
| `input` | Inputs | 102 | `https://21st.dev/s/input` |
|
|
72
|
+
| `link` | Links | 13 | `https://21st.dev/s/link` |
|
|
73
|
+
| `menu` | Menus | 18 | `https://21st.dev/s/menu` |
|
|
74
|
+
| `notification` | Notifications | 5 | `https://21st.dev/s/notification` |
|
|
75
|
+
| `number` | Numbers | 18 | `https://21st.dev/s/number` |
|
|
76
|
+
| `pagination` | Paginations | 20 | `https://21st.dev/s/pagination` |
|
|
77
|
+
| `popover` | Popovers | 23 | `https://21st.dev/s/popover` |
|
|
78
|
+
| `radio-group` | Radio Groups | 22 | `https://21st.dev/s/radio-group` |
|
|
79
|
+
| `select` | Selects | 62 | `https://21st.dev/s/select` |
|
|
80
|
+
| `sidebar` | Sidebars | 10 | `https://21st.dev/s/sidebar` |
|
|
81
|
+
| `sign-in` | Sign Ins | 4 | `https://21st.dev/s/sign-in` |
|
|
82
|
+
| `registration-signup` | Sign ups | 4 | `https://21st.dev/s/registration-signup` |
|
|
83
|
+
| `slider` | Sliders | 45 | `https://21st.dev/s/slider` |
|
|
84
|
+
| `spinner-loader` | Spinner Loaders | 21 | `https://21st.dev/s/spinner-loader` |
|
|
85
|
+
| `table` | Tables | 30 | `https://21st.dev/s/table` |
|
|
86
|
+
| `tabs` | Tabs | 38 | `https://21st.dev/s/tabs` |
|
|
87
|
+
| `chip-tag` | Tags | 6 | `https://21st.dev/s/chip-tag` |
|
|
88
|
+
| `textarea` | Text Areas | 22 | `https://21st.dev/s/textarea` |
|
|
89
|
+
| `toast` | Toasts | 2 | `https://21st.dev/s/toast` |
|
|
90
|
+
| `toggle` | Toggles | 12 | `https://21st.dev/s/toggle` |
|
|
91
|
+
| `tooltip` | Tooltips | 28 | `https://21st.dev/s/tooltip` |
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# 21st.dev Manual Handoff Template
|
|
2
|
+
|
|
3
|
+
Use this structure when the user is gathering 21st.dev pieces manually.
|
|
4
|
+
|
|
5
|
+
## Skeleton
|
|
6
|
+
|
|
7
|
+
Copy this into a markdown file or paste it into chat:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
# 21st.dev Manual Handoff
|
|
11
|
+
|
|
12
|
+
Reference URL:
|
|
13
|
+
https://example.com
|
|
14
|
+
|
|
15
|
+
Page goal:
|
|
16
|
+
Build a React landing page inspired by the reference site.
|
|
17
|
+
|
|
18
|
+
Desired page order:
|
|
19
|
+
- header
|
|
20
|
+
- hero
|
|
21
|
+
- features
|
|
22
|
+
- testimonials
|
|
23
|
+
- pricing
|
|
24
|
+
- footer
|
|
25
|
+
|
|
26
|
+
General project notes:
|
|
27
|
+
- Framework: React / Next.js / Vite
|
|
28
|
+
- Styling stack: Tailwind / CSS modules / other
|
|
29
|
+
- Existing component path:
|
|
30
|
+
- Constraints:
|
|
31
|
+
|
|
32
|
+
## header
|
|
33
|
+
Suggested 21st.dev categories used:
|
|
34
|
+
- https://21st.dev/s/navbar-navigation
|
|
35
|
+
- https://21st.dev/s/announcement
|
|
36
|
+
|
|
37
|
+
Chosen 21st.dev URLs:
|
|
38
|
+
- https://21st.dev/community/components/<author>/<component>/<demo>
|
|
39
|
+
|
|
40
|
+
Copy prompt or notes:
|
|
41
|
+
[Paste the 21st.dev "Copy prompt" block here.]
|
|
42
|
+
|
|
43
|
+
Component code blocks:
|
|
44
|
+
[Paste component source here when needed.]
|
|
45
|
+
|
|
46
|
+
Dependencies:
|
|
47
|
+
- lucide-react
|
|
48
|
+
- framer-motion
|
|
49
|
+
|
|
50
|
+
Placement / styling notes:
|
|
51
|
+
- Use as the top sticky navigation.
|
|
52
|
+
|
|
53
|
+
## hero
|
|
54
|
+
Suggested 21st.dev categories used:
|
|
55
|
+
- https://21st.dev/s/hero
|
|
56
|
+
- https://21st.dev/s/call-to-action
|
|
57
|
+
|
|
58
|
+
Chosen 21st.dev URLs:
|
|
59
|
+
-
|
|
60
|
+
|
|
61
|
+
Copy prompt or notes:
|
|
62
|
+
[Paste copied prompt text here.]
|
|
63
|
+
|
|
64
|
+
Component code blocks:
|
|
65
|
+
[Paste source code here if needed.]
|
|
66
|
+
|
|
67
|
+
Dependencies:
|
|
68
|
+
-
|
|
69
|
+
|
|
70
|
+
Placement / styling notes:
|
|
71
|
+
-
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Rules
|
|
75
|
+
|
|
76
|
+
- Keep one section per page slice.
|
|
77
|
+
- Put every chosen 21st.dev URL in the same document.
|
|
78
|
+
- Include dependency names exactly as shown on 21st.dev or in the copied prompt.
|
|
79
|
+
- If you paste source, include the original filename immediately above the pasted code when possible.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Reference Site Section Detection Rubric
|
|
2
|
+
|
|
3
|
+
Use this when Auto mode crawls a reference site and needs to infer which 21st.dev component families to search.
|
|
4
|
+
|
|
5
|
+
## Detection Order
|
|
6
|
+
|
|
7
|
+
1. Capture the page at the top of the viewport.
|
|
8
|
+
2. Identify the persistent shell first:
|
|
9
|
+
- announcement bar
|
|
10
|
+
- navbar / header
|
|
11
|
+
- sidebar / dock
|
|
12
|
+
3. Walk top to bottom through the main content:
|
|
13
|
+
- hero
|
|
14
|
+
- trust / logos
|
|
15
|
+
- features
|
|
16
|
+
- stats / numbers
|
|
17
|
+
- gallery / image / video blocks
|
|
18
|
+
- testimonials
|
|
19
|
+
- pricing / comparison
|
|
20
|
+
- FAQ / accordion
|
|
21
|
+
- forms / CTA
|
|
22
|
+
- footer
|
|
23
|
+
4. Record both structure and visual traits:
|
|
24
|
+
- column count
|
|
25
|
+
- card density
|
|
26
|
+
- media-heavy or text-heavy
|
|
27
|
+
- dark / light
|
|
28
|
+
- animated / static
|
|
29
|
+
- decorative borders, shaders, or backgrounds
|
|
30
|
+
|
|
31
|
+
## DOM / Visual Heuristics
|
|
32
|
+
|
|
33
|
+
| Signal | Likely section |
|
|
34
|
+
|---|---|
|
|
35
|
+
| Top horizontal bar with few links + logo + CTA | `header`, `navbar` |
|
|
36
|
+
| Large headline + supporting copy + CTA near page top | `hero` |
|
|
37
|
+
| Repeating 3-6 cards with icons or short bullets | `features` |
|
|
38
|
+
| Customer quotes, avatars, star ratings | `testimonials` |
|
|
39
|
+
| Tiered cards with prices, plan names, feature lists | `pricing` |
|
|
40
|
+
| Expand/collapse question rows | `faq` |
|
|
41
|
+
| Long form fields, search, email capture, sign-in area | `form`, `auth` |
|
|
42
|
+
| Fixed left navigation or app shell | `sidebar` |
|
|
43
|
+
| Repeating rows/columns of data | `table`, `dashboard` |
|
|
44
|
+
| Large media, video poster, or carousel | `video`, `gallery`, `carousel` |
|
|
45
|
+
|
|
46
|
+
## Category Mapping Rules
|
|
47
|
+
|
|
48
|
+
- Prefer the exact section category first, then layer supporting categories.
|
|
49
|
+
- For minimalist landing pages, combine `hero` with `text`, `image`, `background`, or `border`.
|
|
50
|
+
- For app-like layouts, combine `sidebar`, `table`, `tabs`, `card`, and `pagination`.
|
|
51
|
+
- If a block is visually impressive but structurally thin, use a decorative category like `background`, `shader`, or `border` in addition to the main section category.
|
|
52
|
+
|
|
53
|
+
## Selection Rules
|
|
54
|
+
|
|
55
|
+
- Match structure before style.
|
|
56
|
+
- Prefer fewer external dependencies when two candidates are equally good.
|
|
57
|
+
- Prefer components whose dependency list fits the target repo.
|
|
58
|
+
- Prefer components whose layout can be adapted without rewriting most of the markup.
|
|
59
|
+
- If the site has a clearly custom section with no close match, fall back to Manual mode for that section only.
|