@rune-kit/rune 2.8.0 → 2.11.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.
- package/LICENSE +21 -21
- package/README.md +68 -34
- package/agents/adversary.md +27 -0
- package/agents/architect.md +19 -29
- package/agents/asset-creator.md +18 -4
- package/agents/audit.md +25 -4
- package/agents/autopsy.md +19 -4
- package/agents/ba.md +35 -0
- package/agents/brainstorm.md +31 -4
- package/agents/browser-pilot.md +21 -4
- package/agents/coder.md +21 -29
- package/agents/completion-gate.md +20 -4
- package/agents/constraint-check.md +18 -4
- package/agents/context-engine.md +22 -4
- package/agents/context-pack.md +32 -0
- package/agents/cook.md +41 -4
- package/agents/db.md +19 -4
- package/agents/debug.md +33 -4
- package/agents/dependency-doctor.md +20 -4
- package/agents/deploy.md +27 -4
- package/agents/design.md +22 -4
- package/agents/doc-processor.md +27 -0
- package/agents/docs-seeker.md +19 -4
- package/agents/docs.md +31 -0
- package/agents/fix.md +37 -4
- package/agents/git.md +29 -0
- package/agents/hallucination-guard.md +20 -4
- package/agents/incident.md +21 -4
- package/agents/integrity-check.md +18 -4
- package/agents/journal.md +19 -4
- package/agents/launch.md +32 -4
- package/agents/logic-guardian.md +26 -11
- package/agents/marketing.md +23 -4
- package/agents/mcp-builder.md +26 -0
- package/agents/neural-memory.md +30 -0
- package/agents/onboard.md +22 -4
- package/agents/perf.md +21 -4
- package/agents/plan.md +29 -4
- package/agents/preflight.md +22 -4
- package/agents/problem-solver.md +20 -4
- package/agents/rescue.md +23 -4
- package/agents/research.md +19 -4
- package/agents/researcher.md +19 -29
- package/agents/retro.md +32 -0
- package/agents/review-intake.md +20 -4
- package/agents/review.md +32 -4
- package/agents/reviewer.md +20 -28
- package/agents/safeguard.md +19 -4
- package/agents/sast.md +18 -4
- package/agents/scaffold.md +41 -0
- package/agents/scanner.md +19 -28
- package/agents/scope-guard.md +18 -4
- package/agents/scout.md +23 -4
- package/agents/sentinel-env.md +26 -0
- package/agents/sentinel.md +33 -4
- package/agents/sequential-thinking.md +20 -4
- package/agents/session-bridge.md +24 -4
- package/agents/skill-forge.md +22 -4
- package/agents/skill-router.md +26 -4
- package/agents/slides.md +24 -0
- package/agents/surgeon.md +19 -4
- package/agents/team.md +30 -4
- package/agents/test.md +36 -4
- package/agents/trend-scout.md +17 -4
- package/agents/verification.md +20 -4
- package/agents/video-creator.md +20 -4
- package/agents/watchdog.md +19 -4
- package/agents/worktree.md +17 -4
- package/commands/rune.md +168 -168
- package/compiler/__tests__/analytics.test.js +370 -0
- package/compiler/adapters/openclaw.js +2 -2
- package/compiler/analytics.js +385 -0
- package/compiler/bin/rune.js +68 -2
- package/compiler/dashboard.js +883 -0
- package/compiler/transforms/branding.js +1 -1
- package/contexts/dev.md +34 -34
- package/contexts/research.md +43 -43
- package/contexts/review.md +55 -55
- package/extensions/ai-ml/PACK.md +88 -88
- package/extensions/ai-ml/skills/ai-agents.md +172 -172
- package/extensions/ai-ml/skills/code-sandbox.md +187 -187
- package/extensions/ai-ml/skills/deep-research.md +146 -146
- package/extensions/ai-ml/skills/embedding-search.md +66 -66
- package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
- package/extensions/ai-ml/skills/llm-architect.md +125 -125
- package/extensions/ai-ml/skills/llm-integration.md +64 -64
- package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
- package/extensions/ai-ml/skills/rag-patterns.md +66 -66
- package/extensions/ai-ml/skills/web-extraction.md +114 -114
- package/extensions/analytics/PACK.md +92 -92
- package/extensions/analytics/skills/ab-testing.md +72 -72
- package/extensions/analytics/skills/dashboard-patterns.md +83 -83
- package/extensions/analytics/skills/data-validation.md +68 -68
- package/extensions/analytics/skills/funnel-analysis.md +81 -81
- package/extensions/analytics/skills/sql-patterns.md +57 -57
- package/extensions/analytics/skills/statistical-analysis.md +79 -79
- package/extensions/analytics/skills/tracking-setup.md +71 -71
- package/extensions/backend/PACK.md +104 -104
- package/extensions/backend/skills/api-patterns.md +84 -84
- package/extensions/backend/skills/async-pipeline.md +193 -193
- package/extensions/backend/skills/auth-patterns.md +97 -97
- package/extensions/backend/skills/background-jobs.md +133 -133
- package/extensions/backend/skills/caching-patterns.md +108 -108
- package/extensions/backend/skills/cli-generation.md +133 -133
- package/extensions/backend/skills/database-patterns.md +87 -87
- package/extensions/backend/skills/middleware-patterns.md +104 -104
- package/extensions/chrome-ext/PACK.md +93 -93
- package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
- package/extensions/chrome-ext/skills/cws-publish.md +104 -104
- package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
- package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
- package/extensions/chrome-ext/skills/ext-storage.md +133 -133
- package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
- package/extensions/content/PACK.md +96 -96
- package/extensions/content/skills/blog-patterns.md +88 -88
- package/extensions/content/skills/cms-integration.md +131 -131
- package/extensions/content/skills/content-scoring.md +107 -107
- package/extensions/content/skills/i18n.md +83 -83
- package/extensions/content/skills/mdx-authoring.md +137 -137
- package/extensions/content/skills/reference.md +1014 -1014
- package/extensions/content/skills/seo-patterns.md +67 -67
- package/extensions/content/skills/video-repurpose.md +153 -153
- package/extensions/devops/PACK.md +101 -101
- package/extensions/devops/skills/chaos-testing.md +67 -67
- package/extensions/devops/skills/ci-cd.md +75 -75
- package/extensions/devops/skills/docker.md +58 -58
- package/extensions/devops/skills/edge-serverless.md +163 -163
- package/extensions/devops/skills/infra-as-code.md +158 -158
- package/extensions/devops/skills/kubernetes.md +110 -110
- package/extensions/devops/skills/monitoring.md +57 -57
- package/extensions/devops/skills/server-setup.md +64 -64
- package/extensions/devops/skills/ssl-domain.md +42 -42
- package/extensions/ecommerce/PACK.md +116 -116
- package/extensions/ecommerce/skills/cart-system.md +79 -79
- package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
- package/extensions/ecommerce/skills/order-management.md +126 -126
- package/extensions/ecommerce/skills/payment-integration.md +472 -472
- package/extensions/ecommerce/skills/shopify-dev.md +69 -69
- package/extensions/ecommerce/skills/subscription-billing.md +93 -93
- package/extensions/ecommerce/skills/tax-compliance.md +117 -117
- package/extensions/gamedev/PACK.md +142 -142
- package/extensions/gamedev/skills/asset-pipeline.md +74 -74
- package/extensions/gamedev/skills/audio-system.md +129 -129
- package/extensions/gamedev/skills/camera-system.md +87 -87
- package/extensions/gamedev/skills/ecs.md +98 -98
- package/extensions/gamedev/skills/game-loops.md +72 -72
- package/extensions/gamedev/skills/input-system.md +199 -199
- package/extensions/gamedev/skills/multiplayer.md +180 -180
- package/extensions/gamedev/skills/particles.md +105 -105
- package/extensions/gamedev/skills/physics-engine.md +89 -89
- package/extensions/gamedev/skills/scene-management.md +146 -146
- package/extensions/gamedev/skills/threejs-patterns.md +90 -90
- package/extensions/gamedev/skills/webgl.md +71 -71
- package/extensions/mobile/PACK.md +106 -106
- package/extensions/mobile/skills/app-store-connect.md +152 -152
- package/extensions/mobile/skills/app-store-prep.md +66 -66
- package/extensions/mobile/skills/deep-linking.md +109 -109
- package/extensions/mobile/skills/flutter.md +60 -60
- package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
- package/extensions/mobile/skills/native-bridge.md +66 -66
- package/extensions/mobile/skills/ota-updates.md +97 -97
- package/extensions/mobile/skills/push-notifications.md +111 -111
- package/extensions/mobile/skills/react-native.md +82 -82
- package/extensions/saas/PACK.md +116 -116
- package/extensions/saas/skills/billing-integration.md +200 -200
- package/extensions/saas/skills/feature-flags.md +130 -130
- package/extensions/saas/skills/multi-tenant.md +103 -103
- package/extensions/saas/skills/onboarding-flow.md +139 -139
- package/extensions/saas/skills/subscription-flow.md +95 -95
- package/extensions/saas/skills/team-management.md +144 -144
- package/extensions/security/PACK.md +99 -99
- package/extensions/security/skills/api-security.md +140 -140
- package/extensions/security/skills/compliance.md +68 -68
- package/extensions/security/skills/owasp-audit.md +64 -64
- package/extensions/security/skills/pentest-patterns.md +77 -77
- package/extensions/security/skills/secret-mgmt.md +65 -65
- package/extensions/security/skills/supply-chain.md +65 -65
- package/extensions/trading/PACK.md +80 -80
- package/extensions/trading/skills/chart-components.md +55 -55
- package/extensions/trading/skills/experiment-loop.md +125 -125
- package/extensions/trading/skills/fintech-patterns.md +47 -47
- package/extensions/trading/skills/indicator-library.md +58 -58
- package/extensions/trading/skills/quant-analysis.md +111 -111
- package/extensions/trading/skills/realtime-data.md +58 -58
- package/extensions/trading/skills/trade-logic.md +104 -104
- package/extensions/ui/PACK.md +130 -130
- package/extensions/ui/skills/a11y-audit.md +91 -91
- package/extensions/ui/skills/animation-patterns.md +127 -106
- package/extensions/ui/skills/component-patterns.md +100 -75
- package/extensions/ui/skills/design-decision.md +108 -108
- package/extensions/ui/skills/design-system.md +68 -68
- package/extensions/ui/skills/landing-patterns.md +155 -155
- package/extensions/ui/skills/palette-picker.md +173 -173
- package/extensions/ui/skills/react-health.md +90 -90
- package/extensions/ui/skills/type-system.md +125 -125
- package/extensions/ui/skills/web-vitals.md +153 -153
- package/extensions/zalo/PACK.md +145 -145
- package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
- package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
- package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
- package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
- package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
- package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
- package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
- package/hooks/auto-format/index.cjs +48 -48
- package/hooks/context-watch/index.cjs +95 -68
- package/hooks/hooks.json +111 -111
- package/hooks/metrics-collector/index.cjs +86 -42
- package/hooks/post-session-reflect/index.cjs +189 -153
- package/hooks/pre-compact/index.cjs +95 -95
- package/hooks/run-hook.cmd +1 -1
- package/hooks/secrets-scan/index.cjs +100 -100
- package/hooks/session-start/index.cjs +71 -65
- package/hooks/typecheck/index.cjs +65 -65
- package/package.json +63 -63
- package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
- package/references/ui-pro-max-data/charts.csv +26 -26
- package/references/ui-pro-max-data/colors.csv +161 -161
- package/references/ui-pro-max-data/styles.csv +68 -68
- package/references/ui-pro-max-data/typography.csv +74 -74
- package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
- package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
- package/skills/adversary/SKILL.md +283 -283
- package/skills/asset-creator/SKILL.md +157 -157
- package/skills/audit/SKILL.md +148 -2
- package/skills/autopsy/SKILL.md +335 -259
- package/skills/autopsy/references/repo-analysis-patterns.md +113 -0
- package/skills/ba/SKILL.md +72 -2
- package/skills/brainstorm/SKILL.md +342 -341
- package/skills/browser-pilot/SKILL.md +168 -168
- package/skills/constraint-check/SKILL.md +165 -165
- package/skills/context-engine/SKILL.md +404 -404
- package/skills/cook/SKILL.md +917 -834
- package/skills/cook/references/output-format.md +33 -0
- package/skills/db/SKILL.md +273 -272
- package/skills/debug/SKILL.md +465 -443
- package/skills/dependency-doctor/SKILL.md +265 -235
- package/skills/deploy/SKILL.md +274 -231
- package/skills/design/DESIGN-REFERENCE.md +365 -365
- package/skills/design/SKILL.md +589 -482
- package/skills/doc-processor/SKILL.md +254 -254
- package/skills/docs/SKILL.md +374 -373
- package/skills/docs-seeker/SKILL.md +177 -177
- package/skills/fix/SKILL.md +330 -308
- package/skills/git/SKILL.md +339 -339
- package/skills/graft/SKILL.md +352 -0
- package/skills/graft/references/challenge-framework.md +98 -0
- package/skills/graft/references/mode-decision.md +44 -0
- package/skills/hallucination-guard/SKILL.md +219 -219
- package/skills/incident/SKILL.md +254 -251
- package/skills/integrity-check/SKILL.md +169 -169
- package/skills/journal/SKILL.md +240 -238
- package/skills/launch/SKILL.md +344 -342
- package/skills/logic-guardian/SKILL.md +251 -251
- package/skills/marketing/SKILL.md +290 -245
- package/skills/mcp-builder/SKILL.md +425 -423
- package/skills/mcp-builder/references/auto-discovery-pattern.md +169 -0
- package/skills/neural-memory/SKILL.md +362 -362
- package/skills/onboard/SKILL.md +404 -403
- package/skills/perf/SKILL.md +346 -346
- package/skills/plan/SKILL.md +433 -370
- package/skills/plan/references/feature-map.md +84 -0
- package/skills/preflight/SKILL.md +415 -396
- package/skills/problem-solver/SKILL.md +380 -284
- package/skills/rescue/SKILL.md +474 -450
- package/skills/retro/SKILL.md +5 -1
- package/skills/review/SKILL.md +612 -535
- package/skills/review-intake/SKILL.md +249 -249
- package/skills/safeguard/SKILL.md +200 -200
- package/skills/sast/SKILL.md +190 -190
- package/skills/scaffold/SKILL.md +328 -286
- package/skills/scope-guard/SKILL.md +180 -162
- package/skills/scout/SKILL.md +263 -263
- package/skills/sentinel/SKILL.md +382 -353
- package/skills/sentinel-env/SKILL.md +254 -254
- package/skills/sequential-thinking/SKILL.md +234 -234
- package/skills/session-bridge/SKILL.md +543 -397
- package/skills/skill-forge/SKILL.md +581 -539
- package/skills/skill-router/{skill.md → SKILL.md} +30 -2
- package/skills/surgeon/SKILL.md +215 -215
- package/skills/team/SKILL.md +556 -514
- package/skills/test/SKILL.md +614 -587
- package/skills/trend-scout/SKILL.md +145 -145
- package/skills/verification/SKILL.md +326 -325
- package/skills/video-creator/SKILL.md +201 -201
- package/skills/watchdog/SKILL.md +168 -168
- package/skills/worktree/SKILL.md +140 -140
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "design-system"
|
|
3
|
-
pack: "@rune/ui"
|
|
4
|
-
description: "Generate and enforce design system tokens — colors, typography, spacing, shadows, border radius. Detects existing ad-hoc values and consolidates them into a structured token file with full dark/light theme support."
|
|
5
|
-
model: sonnet
|
|
6
|
-
tools: [Read, Edit, Write, Grep, Glob, Bash]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# design-system
|
|
10
|
-
|
|
11
|
-
Generate and enforce design system tokens — colors, typography, spacing, shadows, border radius. Detects existing ad-hoc values and consolidates them into a structured token file with full dark/light theme support.
|
|
12
|
-
|
|
13
|
-
#### Workflow
|
|
14
|
-
|
|
15
|
-
**Step 1 — Detect existing tokens**
|
|
16
|
-
Use Grep to scan for hardcoded color values (`#[0-9a-fA-F]{3,6}`, `rgb(`, `hsl(`), spacing (`px`, `rem`), and font sizes across all CSS, Tailwind config, and component files. Build an inventory of values in use.
|
|
17
|
-
|
|
18
|
-
**Step 2 — Generate token file**
|
|
19
|
-
From the inventory, produce a CSS custom properties file (or `tailwind.config` theme extension). Group tokens into semantic layers: primitive → semantic → component. Flag duplicates and near-duplicates (e.g., `#1a1a2e` vs `#1a1a2f`).
|
|
20
|
-
|
|
21
|
-
**Step 3 — Enforce consistency**
|
|
22
|
-
Re-run Grep after token file is written. Any hardcoded value that has a matching token is flagged as a violation. Output a replacement diff for each violation.
|
|
23
|
-
|
|
24
|
-
**Step 4 — Dark/light theme toggle**
|
|
25
|
-
Emit a `[data-theme]`-based theme switcher. Semantic tokens point to different primitives per theme. No JavaScript duplication — CSS handles the switch; JS only toggles the attribute.
|
|
26
|
-
|
|
27
|
-
#### Example
|
|
28
|
-
|
|
29
|
-
```css
|
|
30
|
-
/* tokens.css — generated by design-system skill */
|
|
31
|
-
:root,
|
|
32
|
-
[data-theme="light"] {
|
|
33
|
-
/* Primitive */
|
|
34
|
-
--color-slate-950: #020617;
|
|
35
|
-
--color-slate-900: #0f172a;
|
|
36
|
-
--color-slate-100: #f1f5f9;
|
|
37
|
-
--color-emerald-500: #10b981;
|
|
38
|
-
--space-4: 1rem;
|
|
39
|
-
--radius-md: 0.5rem;
|
|
40
|
-
|
|
41
|
-
/* Semantic */
|
|
42
|
-
--bg-base: var(--color-slate-100);
|
|
43
|
-
--bg-card: #ffffff;
|
|
44
|
-
--text-primary: var(--color-slate-950);
|
|
45
|
-
--color-primary: var(--color-emerald-500);
|
|
46
|
-
--border-color: rgba(0, 0, 0, 0.1);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
[data-theme="dark"] {
|
|
50
|
-
--bg-base: var(--color-slate-950);
|
|
51
|
-
--bg-card: var(--color-slate-900);
|
|
52
|
-
--text-primary: #f8fafc;
|
|
53
|
-
--color-primary: var(--color-emerald-500);
|
|
54
|
-
--border-color: rgba(255, 255, 255, 0.08);
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
```ts
|
|
59
|
-
// theme-toggle.ts — minimal toggle, no flash on reload
|
|
60
|
-
const stored = localStorage.getItem('theme') ?? 'dark'
|
|
61
|
-
document.documentElement.setAttribute('data-theme', stored)
|
|
62
|
-
|
|
63
|
-
export function toggleTheme() {
|
|
64
|
-
const next = document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'
|
|
65
|
-
document.documentElement.setAttribute('data-theme', next)
|
|
66
|
-
localStorage.setItem('theme', next)
|
|
67
|
-
}
|
|
68
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: "design-system"
|
|
3
|
+
pack: "@rune/ui"
|
|
4
|
+
description: "Generate and enforce design system tokens — colors, typography, spacing, shadows, border radius. Detects existing ad-hoc values and consolidates them into a structured token file with full dark/light theme support."
|
|
5
|
+
model: sonnet
|
|
6
|
+
tools: [Read, Edit, Write, Grep, Glob, Bash]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# design-system
|
|
10
|
+
|
|
11
|
+
Generate and enforce design system tokens — colors, typography, spacing, shadows, border radius. Detects existing ad-hoc values and consolidates them into a structured token file with full dark/light theme support.
|
|
12
|
+
|
|
13
|
+
#### Workflow
|
|
14
|
+
|
|
15
|
+
**Step 1 — Detect existing tokens**
|
|
16
|
+
Use Grep to scan for hardcoded color values (`#[0-9a-fA-F]{3,6}`, `rgb(`, `hsl(`), spacing (`px`, `rem`), and font sizes across all CSS, Tailwind config, and component files. Build an inventory of values in use.
|
|
17
|
+
|
|
18
|
+
**Step 2 — Generate token file**
|
|
19
|
+
From the inventory, produce a CSS custom properties file (or `tailwind.config` theme extension). Group tokens into semantic layers: primitive → semantic → component. Flag duplicates and near-duplicates (e.g., `#1a1a2e` vs `#1a1a2f`).
|
|
20
|
+
|
|
21
|
+
**Step 3 — Enforce consistency**
|
|
22
|
+
Re-run Grep after token file is written. Any hardcoded value that has a matching token is flagged as a violation. Output a replacement diff for each violation.
|
|
23
|
+
|
|
24
|
+
**Step 4 — Dark/light theme toggle**
|
|
25
|
+
Emit a `[data-theme]`-based theme switcher. Semantic tokens point to different primitives per theme. No JavaScript duplication — CSS handles the switch; JS only toggles the attribute.
|
|
26
|
+
|
|
27
|
+
#### Example
|
|
28
|
+
|
|
29
|
+
```css
|
|
30
|
+
/* tokens.css — generated by design-system skill */
|
|
31
|
+
:root,
|
|
32
|
+
[data-theme="light"] {
|
|
33
|
+
/* Primitive */
|
|
34
|
+
--color-slate-950: #020617;
|
|
35
|
+
--color-slate-900: #0f172a;
|
|
36
|
+
--color-slate-100: #f1f5f9;
|
|
37
|
+
--color-emerald-500: #10b981;
|
|
38
|
+
--space-4: 1rem;
|
|
39
|
+
--radius-md: 0.5rem;
|
|
40
|
+
|
|
41
|
+
/* Semantic */
|
|
42
|
+
--bg-base: var(--color-slate-100);
|
|
43
|
+
--bg-card: #ffffff;
|
|
44
|
+
--text-primary: var(--color-slate-950);
|
|
45
|
+
--color-primary: var(--color-emerald-500);
|
|
46
|
+
--border-color: rgba(0, 0, 0, 0.1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
[data-theme="dark"] {
|
|
50
|
+
--bg-base: var(--color-slate-950);
|
|
51
|
+
--bg-card: var(--color-slate-900);
|
|
52
|
+
--text-primary: #f8fafc;
|
|
53
|
+
--color-primary: var(--color-emerald-500);
|
|
54
|
+
--border-color: rgba(255, 255, 255, 0.08);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
// theme-toggle.ts — minimal toggle, no flash on reload
|
|
60
|
+
const stored = localStorage.getItem('theme') ?? 'dark'
|
|
61
|
+
document.documentElement.setAttribute('data-theme', stored)
|
|
62
|
+
|
|
63
|
+
export function toggleTheme() {
|
|
64
|
+
const next = document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'
|
|
65
|
+
document.documentElement.setAttribute('data-theme', next)
|
|
66
|
+
localStorage.setItem('theme', next)
|
|
67
|
+
}
|
|
68
|
+
```
|
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "landing-patterns"
|
|
3
|
-
pack: "@rune/ui"
|
|
4
|
-
description: "Landing page section patterns — 12 section archetypes with HTML structure hints, Tailwind classes, responsive rules, and conversion-focused copy guidance. Anti-AI design rules enforced throughout."
|
|
5
|
-
model: sonnet
|
|
6
|
-
tools: [Read, Edit, Write, Grep, Glob, Bash]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# landing-patterns
|
|
10
|
-
|
|
11
|
-
Landing page section patterns — 12 section archetypes with HTML structure hints, Tailwind classes, responsive rules, and conversion-focused copy guidance. Anti-AI design rules enforced throughout.
|
|
12
|
-
|
|
13
|
-
#### Workflow
|
|
14
|
-
|
|
15
|
-
**Step 1 — Identify page goal**
|
|
16
|
-
Classify: acquisition (email capture / waitlist) | conversion (paid plan) | brand (awareness) | product (feature showcase). Goal determines section priority and CTA placement.
|
|
17
|
-
|
|
18
|
-
**Step 2 — Select section sequence**
|
|
19
|
-
From the section library below, compose a sequence. Recommended base: Hero → Social Proof → Features → How It Works → Testimonials → Pricing → FAQ → CTA Footer. Adjust by goal.
|
|
20
|
-
|
|
21
|
-
**Step 3 — Apply style**
|
|
22
|
-
Pull palette from `palette-picker` and fonts from `type-system`. Apply Anti-AI design rules (see below). Each section gets a distinct visual treatment — do NOT apply the same background/card style to every section.
|
|
23
|
-
|
|
24
|
-
**Step 4 — Responsive audit**
|
|
25
|
-
Every section must work at 375px (mobile), 768px (tablet), 1280px (desktop). Check text wrapping, CTA tap targets (≥ 44px), and image aspect ratios.
|
|
26
|
-
|
|
27
|
-
**Step 5 — Conversion check**
|
|
28
|
-
Verify: primary CTA visible above the fold; social proof within first 2 sections; pricing section has a clear default/recommended plan; FAQ addresses the top 3 objections.
|
|
29
|
-
|
|
30
|
-
#### Section Library
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
Hero Variants:
|
|
34
|
-
split-hero Left text + right image/video. NOT centered formula.
|
|
35
|
-
asymmetric-hero 60/40 split. Offset grid. Works for SaaS.
|
|
36
|
-
cinematic-hero Full-bleed video/image background. Text overlay. Gaming / brand.
|
|
37
|
-
|
|
38
|
-
Social Proof:
|
|
39
|
-
logo-strip Horizontal scrolling logos. Grayscale → color on hover.
|
|
40
|
-
stats-bar 3–4 large numbers (e.g., "12,000+ teams"). Mono font.
|
|
41
|
-
testimonial-grid Asymmetric card sizes. NOT uniform grid.
|
|
42
|
-
quote-hero Single large pull-quote with avatar. Editorial feel.
|
|
43
|
-
|
|
44
|
-
Features:
|
|
45
|
-
bento-grid Mixed-size cards. Large hero card + smaller supporting.
|
|
46
|
-
alternating-rows Icon + text, alternating left/right. Classic but effective.
|
|
47
|
-
feature-tabs Tab navigation for feature groups. Reduces scroll length.
|
|
48
|
-
|
|
49
|
-
Conversion:
|
|
50
|
-
pricing-toggle Monthly / annual toggle. Recommended tier visually elevated.
|
|
51
|
-
pricing-comparison Feature matrix table. Clear checkmarks, no feature bloat.
|
|
52
|
-
cta-split Left: value reminder. Right: form or button. High conversion.
|
|
53
|
-
floating-cta Sticky bar at bottom on mobile. Dismissable.
|
|
54
|
-
|
|
55
|
-
Discovery:
|
|
56
|
-
faq-accordion Expandable Q&A. Addresses objections in copy, not just features.
|
|
57
|
-
how-it-works 3-step numbered sequence. Icon per step. Progress line optional.
|
|
58
|
-
waitlist-capture Email input + social proof count. ("Join 3,200 on waitlist")
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
#### Example — Split Hero (Anti-AI compliant)
|
|
62
|
-
|
|
63
|
-
```tsx
|
|
64
|
-
// ANTI-AI RULES APPLIED:
|
|
65
|
-
// ✅ Split layout — NOT centered hero formula
|
|
66
|
-
// ✅ Custom brand color — NOT default indigo/violet
|
|
67
|
-
// ✅ Phosphor Icons — NOT Lucide
|
|
68
|
-
// ✅ Asymmetric layout — NOT uniform sections
|
|
69
|
-
// ✅ No gradient blob
|
|
70
|
-
|
|
71
|
-
import { ArrowRight, CheckCircle } from '@phosphor-icons/react'
|
|
72
|
-
|
|
73
|
-
export function SplitHero() {
|
|
74
|
-
return (
|
|
75
|
-
<section className="min-h-screen grid lg:grid-cols-[1fr_1.2fr] items-center gap-0">
|
|
76
|
-
{/* Left — copy */}
|
|
77
|
-
<div className="px-8 py-20 lg:px-16 lg:py-0 max-w-xl">
|
|
78
|
-
<span className="inline-flex items-center gap-2 text-sm font-medium text-[var(--primary)] mb-6">
|
|
79
|
-
<CheckCircle weight="fill" size={16} aria-hidden="true" />
|
|
80
|
-
Now in public beta
|
|
81
|
-
</span>
|
|
82
|
-
<h1 className="font-display text-h1 font-bold text-[var(--text-primary)] mb-6 leading-tight">
|
|
83
|
-
Shipping fast starts<br />
|
|
84
|
-
<em className="not-italic text-[var(--primary)]">before the sprint</em>
|
|
85
|
-
</h1>
|
|
86
|
-
<p className="text-[var(--text-secondary)] text-body leading-relaxed mb-8 max-w-md">
|
|
87
|
-
Rune wires your AI coding assistant to a mesh of
|
|
88
|
-
</p>
|
|
89
|
-
<div className="flex flex-wrap gap-3">
|
|
90
|
-
<a
|
|
91
|
-
href="/signup"
|
|
92
|
-
className="inline-flex items-center gap-2 px-6 py-3 rounded-lg bg-[var(--primary)] text-white font-semibold text-sm hover:opacity-90 transition-opacity focus-visible:ring-2 focus-visible:ring-[var(--primary)] focus-visible:ring-offset-2"
|
|
93
|
-
>
|
|
94
|
-
Get started free
|
|
95
|
-
<ArrowRight size={16} aria-hidden="true" />
|
|
96
|
-
</a>
|
|
97
|
-
<a
|
|
98
|
-
href="/docs"
|
|
99
|
-
className="inline-flex items-center gap-2 px-6 py-3 rounded-lg border border-[var(--border)] text-[var(--text-primary)] font-semibold text-sm hover:bg-[var(--bg-card)] transition-colors"
|
|
100
|
-
>
|
|
101
|
-
Read the docs
|
|
102
|
-
</a>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
|
|
106
|
-
{/* Right — visual (product screenshot or illustration) */}
|
|
107
|
-
<div className="relative h-full min-h-[60vh] bg-[var(--bg-card)] overflow-hidden">
|
|
108
|
-
{/* Replace with actual product screenshot */}
|
|
109
|
-
<div className="absolute inset-0 flex items-center justify-center text-[var(--text-secondary)]">
|
|
110
|
-
Product visual
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
</section>
|
|
114
|
-
)
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
#### Example — Bento Grid Features
|
|
119
|
-
|
|
120
|
-
```tsx
|
|
121
|
-
// Bento: asymmetric sizing breaks the uniform grid anti-pattern
|
|
122
|
-
export function BentoFeatures() {
|
|
123
|
-
return (
|
|
124
|
-
<section className="py-24 px-6">
|
|
125
|
-
<div className="max-w-5xl mx-auto">
|
|
126
|
-
<h2 className="font-display text-h2 font-semibold text-[var(--text-primary)] mb-12 text-center">
|
|
127
|
-
One mesh. Every workflow.
|
|
128
|
-
</h2>
|
|
129
|
-
{/* Intentionally unequal grid — NOT uniform cards */}
|
|
130
|
-
<div className="grid grid-cols-2 lg:grid-cols-3 gap-4 auto-rows-[200px]">
|
|
131
|
-
{/* Hero card — spans 2 cols × 2 rows */}
|
|
132
|
-
<div className="col-span-2 row-span-2 rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-8 flex flex-col justify-end">
|
|
133
|
-
<p className="text-xs font-medium text-[var(--primary)] mb-2 uppercase tracking-wide">Orchestration</p>
|
|
134
|
-
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-2">cook — your AI project manager</h3>
|
|
135
|
-
<p className="text-sm text-[var(--text-secondary)]">Phases your work, delegates to the right skill, and escalates when stuck.</p>
|
|
136
|
-
</div>
|
|
137
|
-
{/* Small cards fill remaining cells */}
|
|
138
|
-
<div className="rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-6 flex flex-col justify-between">
|
|
139
|
-
<p className="text-xs font-medium text-[var(--text-secondary)] uppercase tracking-wide">55 Skills</p>
|
|
140
|
-
<p className="text-2xl font-bold font-mono text-[var(--text-primary)]">5 layers</p>
|
|
141
|
-
</div>
|
|
142
|
-
<div className="rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-6">
|
|
143
|
-
<p className="text-xs font-medium text-[var(--text-secondary)] uppercase tracking-wide mb-2">Platforms</p>
|
|
144
|
-
<p className="text-sm text-[var(--text-primary)]">Claude Code · Cursor · Windsurf · Antigravity</p>
|
|
145
|
-
</div>
|
|
146
|
-
<div className="col-span-2 rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-6">
|
|
147
|
-
<p className="text-xs font-medium text-[var(--text-secondary)] uppercase tracking-wide mb-2">Open source</p>
|
|
148
|
-
<p className="text-sm text-[var(--text-primary)]">MIT license. Self-host or install in 30 seconds.</p>
|
|
149
|
-
</div>
|
|
150
|
-
</div>
|
|
151
|
-
</div>
|
|
152
|
-
</section>
|
|
153
|
-
)
|
|
154
|
-
}
|
|
155
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: "landing-patterns"
|
|
3
|
+
pack: "@rune/ui"
|
|
4
|
+
description: "Landing page section patterns — 12 section archetypes with HTML structure hints, Tailwind classes, responsive rules, and conversion-focused copy guidance. Anti-AI design rules enforced throughout."
|
|
5
|
+
model: sonnet
|
|
6
|
+
tools: [Read, Edit, Write, Grep, Glob, Bash]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# landing-patterns
|
|
10
|
+
|
|
11
|
+
Landing page section patterns — 12 section archetypes with HTML structure hints, Tailwind classes, responsive rules, and conversion-focused copy guidance. Anti-AI design rules enforced throughout.
|
|
12
|
+
|
|
13
|
+
#### Workflow
|
|
14
|
+
|
|
15
|
+
**Step 1 — Identify page goal**
|
|
16
|
+
Classify: acquisition (email capture / waitlist) | conversion (paid plan) | brand (awareness) | product (feature showcase). Goal determines section priority and CTA placement.
|
|
17
|
+
|
|
18
|
+
**Step 2 — Select section sequence**
|
|
19
|
+
From the section library below, compose a sequence. Recommended base: Hero → Social Proof → Features → How It Works → Testimonials → Pricing → FAQ → CTA Footer. Adjust by goal.
|
|
20
|
+
|
|
21
|
+
**Step 3 — Apply style**
|
|
22
|
+
Pull palette from `palette-picker` and fonts from `type-system`. Apply Anti-AI design rules (see below). Each section gets a distinct visual treatment — do NOT apply the same background/card style to every section.
|
|
23
|
+
|
|
24
|
+
**Step 4 — Responsive audit**
|
|
25
|
+
Every section must work at 375px (mobile), 768px (tablet), 1280px (desktop). Check text wrapping, CTA tap targets (≥ 44px), and image aspect ratios.
|
|
26
|
+
|
|
27
|
+
**Step 5 — Conversion check**
|
|
28
|
+
Verify: primary CTA visible above the fold; social proof within first 2 sections; pricing section has a clear default/recommended plan; FAQ addresses the top 3 objections.
|
|
29
|
+
|
|
30
|
+
#### Section Library
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Hero Variants:
|
|
34
|
+
split-hero Left text + right image/video. NOT centered formula.
|
|
35
|
+
asymmetric-hero 60/40 split. Offset grid. Works for SaaS.
|
|
36
|
+
cinematic-hero Full-bleed video/image background. Text overlay. Gaming / brand.
|
|
37
|
+
|
|
38
|
+
Social Proof:
|
|
39
|
+
logo-strip Horizontal scrolling logos. Grayscale → color on hover.
|
|
40
|
+
stats-bar 3–4 large numbers (e.g., "12,000+ teams"). Mono font.
|
|
41
|
+
testimonial-grid Asymmetric card sizes. NOT uniform grid.
|
|
42
|
+
quote-hero Single large pull-quote with avatar. Editorial feel.
|
|
43
|
+
|
|
44
|
+
Features:
|
|
45
|
+
bento-grid Mixed-size cards. Large hero card + smaller supporting.
|
|
46
|
+
alternating-rows Icon + text, alternating left/right. Classic but effective.
|
|
47
|
+
feature-tabs Tab navigation for feature groups. Reduces scroll length.
|
|
48
|
+
|
|
49
|
+
Conversion:
|
|
50
|
+
pricing-toggle Monthly / annual toggle. Recommended tier visually elevated.
|
|
51
|
+
pricing-comparison Feature matrix table. Clear checkmarks, no feature bloat.
|
|
52
|
+
cta-split Left: value reminder. Right: form or button. High conversion.
|
|
53
|
+
floating-cta Sticky bar at bottom on mobile. Dismissable.
|
|
54
|
+
|
|
55
|
+
Discovery:
|
|
56
|
+
faq-accordion Expandable Q&A. Addresses objections in copy, not just features.
|
|
57
|
+
how-it-works 3-step numbered sequence. Icon per step. Progress line optional.
|
|
58
|
+
waitlist-capture Email input + social proof count. ("Join 3,200 on waitlist")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### Example — Split Hero (Anti-AI compliant)
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
// ANTI-AI RULES APPLIED:
|
|
65
|
+
// ✅ Split layout — NOT centered hero formula
|
|
66
|
+
// ✅ Custom brand color — NOT default indigo/violet
|
|
67
|
+
// ✅ Phosphor Icons — NOT Lucide
|
|
68
|
+
// ✅ Asymmetric layout — NOT uniform sections
|
|
69
|
+
// ✅ No gradient blob
|
|
70
|
+
|
|
71
|
+
import { ArrowRight, CheckCircle } from '@phosphor-icons/react'
|
|
72
|
+
|
|
73
|
+
export function SplitHero() {
|
|
74
|
+
return (
|
|
75
|
+
<section className="min-h-screen grid lg:grid-cols-[1fr_1.2fr] items-center gap-0">
|
|
76
|
+
{/* Left — copy */}
|
|
77
|
+
<div className="px-8 py-20 lg:px-16 lg:py-0 max-w-xl">
|
|
78
|
+
<span className="inline-flex items-center gap-2 text-sm font-medium text-[var(--primary)] mb-6">
|
|
79
|
+
<CheckCircle weight="fill" size={16} aria-hidden="true" />
|
|
80
|
+
Now in public beta
|
|
81
|
+
</span>
|
|
82
|
+
<h1 className="font-display text-h1 font-bold text-[var(--text-primary)] mb-6 leading-tight">
|
|
83
|
+
Shipping fast starts<br />
|
|
84
|
+
<em className="not-italic text-[var(--primary)]">before the sprint</em>
|
|
85
|
+
</h1>
|
|
86
|
+
<p className="text-[var(--text-secondary)] text-body leading-relaxed mb-8 max-w-md">
|
|
87
|
+
Rune wires your AI coding assistant to a mesh of 62 skills so you spend time building, not prompting.
|
|
88
|
+
</p>
|
|
89
|
+
<div className="flex flex-wrap gap-3">
|
|
90
|
+
<a
|
|
91
|
+
href="/signup"
|
|
92
|
+
className="inline-flex items-center gap-2 px-6 py-3 rounded-lg bg-[var(--primary)] text-white font-semibold text-sm hover:opacity-90 transition-opacity focus-visible:ring-2 focus-visible:ring-[var(--primary)] focus-visible:ring-offset-2"
|
|
93
|
+
>
|
|
94
|
+
Get started free
|
|
95
|
+
<ArrowRight size={16} aria-hidden="true" />
|
|
96
|
+
</a>
|
|
97
|
+
<a
|
|
98
|
+
href="/docs"
|
|
99
|
+
className="inline-flex items-center gap-2 px-6 py-3 rounded-lg border border-[var(--border)] text-[var(--text-primary)] font-semibold text-sm hover:bg-[var(--bg-card)] transition-colors"
|
|
100
|
+
>
|
|
101
|
+
Read the docs
|
|
102
|
+
</a>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
{/* Right — visual (product screenshot or illustration) */}
|
|
107
|
+
<div className="relative h-full min-h-[60vh] bg-[var(--bg-card)] overflow-hidden">
|
|
108
|
+
{/* Replace with actual product screenshot */}
|
|
109
|
+
<div className="absolute inset-0 flex items-center justify-center text-[var(--text-secondary)]">
|
|
110
|
+
Product visual
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</section>
|
|
114
|
+
)
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### Example — Bento Grid Features
|
|
119
|
+
|
|
120
|
+
```tsx
|
|
121
|
+
// Bento: asymmetric sizing breaks the uniform grid anti-pattern
|
|
122
|
+
export function BentoFeatures() {
|
|
123
|
+
return (
|
|
124
|
+
<section className="py-24 px-6">
|
|
125
|
+
<div className="max-w-5xl mx-auto">
|
|
126
|
+
<h2 className="font-display text-h2 font-semibold text-[var(--text-primary)] mb-12 text-center">
|
|
127
|
+
One mesh. Every workflow.
|
|
128
|
+
</h2>
|
|
129
|
+
{/* Intentionally unequal grid — NOT uniform cards */}
|
|
130
|
+
<div className="grid grid-cols-2 lg:grid-cols-3 gap-4 auto-rows-[200px]">
|
|
131
|
+
{/* Hero card — spans 2 cols × 2 rows */}
|
|
132
|
+
<div className="col-span-2 row-span-2 rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-8 flex flex-col justify-end">
|
|
133
|
+
<p className="text-xs font-medium text-[var(--primary)] mb-2 uppercase tracking-wide">Orchestration</p>
|
|
134
|
+
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-2">cook — your AI project manager</h3>
|
|
135
|
+
<p className="text-sm text-[var(--text-secondary)]">Phases your work, delegates to the right skill, and escalates when stuck.</p>
|
|
136
|
+
</div>
|
|
137
|
+
{/* Small cards fill remaining cells */}
|
|
138
|
+
<div className="rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-6 flex flex-col justify-between">
|
|
139
|
+
<p className="text-xs font-medium text-[var(--text-secondary)] uppercase tracking-wide">55 Skills</p>
|
|
140
|
+
<p className="text-2xl font-bold font-mono text-[var(--text-primary)]">5 layers</p>
|
|
141
|
+
</div>
|
|
142
|
+
<div className="rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-6">
|
|
143
|
+
<p className="text-xs font-medium text-[var(--text-secondary)] uppercase tracking-wide mb-2">Platforms</p>
|
|
144
|
+
<p className="text-sm text-[var(--text-primary)]">Claude Code · Cursor · Windsurf · Antigravity</p>
|
|
145
|
+
</div>
|
|
146
|
+
<div className="col-span-2 rounded-xl bg-[var(--bg-card)] border border-[var(--border)] p-6">
|
|
147
|
+
<p className="text-xs font-medium text-[var(--text-secondary)] uppercase tracking-wide mb-2">Open source</p>
|
|
148
|
+
<p className="text-sm text-[var(--text-primary)]">MIT license. Self-host or install in 30 seconds.</p>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
</section>
|
|
153
|
+
)
|
|
154
|
+
}
|
|
155
|
+
```
|