@rune-kit/rune 2.2.1 → 2.2.2
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 +39 -13
- package/compiler/bin/rune.js +26 -4
- package/docs/ANTIGRAVITY-GAP-ANALYSIS.md +369 -0
- package/docs/ARCHITECTURE.md +332 -0
- package/docs/COMMUNITY-PACKS.md +109 -0
- package/docs/CONTRIBUTING-L4.md +215 -0
- package/docs/CROSS-IDE-ANALYSIS.md +164 -0
- package/docs/EXTENSION-TEMPLATE.md +108 -0
- package/docs/MESH-RULES.md +34 -0
- package/docs/MULTI-PLATFORM.md +804 -0
- package/docs/SKILL-DEPTH-AUDIT.md +191 -0
- package/docs/SKILL-TEMPLATE.md +72 -0
- package/docs/TRADE-MATRIX.md +327 -0
- package/docs/VERSIONING.md +91 -0
- package/docs/VISION.md +263 -0
- package/docs/assets/demo-subtitles.srt +215 -0
- package/docs/assets/end-card.html +276 -0
- package/docs/assets/mesh-diagram.html +654 -0
- package/docs/assets/thumbnail.html +295 -0
- package/docs/guides/cli.md +403 -0
- package/docs/guides/index.html +1346 -0
- package/docs/index.html +674 -0
- package/docs/references/claudekit-analysis.md +414 -0
- package/docs/references/voltagent-analysis.md +189 -0
- package/docs/script.js +277 -0
- package/docs/skills/index.html +832 -0
- package/docs/style.css +583 -0
- package/docs/video-demo-plan.md +172 -0
- package/extensions/ui/PACK.md +2 -0
- package/extensions/ui/skills/design-decision.md +10 -0
- package/extensions/ui/skills/palette-picker.md +11 -0
- package/hooks/.gitkeep +0 -0
- package/hooks/auto-format/index.cjs +48 -0
- package/hooks/context-watch/index.cjs +68 -0
- package/hooks/hooks.json +99 -0
- package/hooks/metrics-collector/index.cjs +42 -0
- package/hooks/post-session-reflect/index.cjs +153 -0
- package/hooks/pre-compact/index.cjs +95 -0
- package/hooks/pre-tool-guard/index.cjs +68 -0
- package/hooks/run-hook +17 -0
- package/hooks/run-hook.cjs +16 -0
- package/hooks/run-hook.cmd +1 -0
- package/hooks/secrets-scan/index.cjs +100 -0
- package/hooks/session-start/index.cjs +65 -0
- package/hooks/typecheck/index.cjs +65 -0
- package/package.json +9 -4
- package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -0
- package/references/ui-pro-max-data/charts.csv +26 -0
- package/references/ui-pro-max-data/colors.csv +162 -0
- package/references/ui-pro-max-data/styles.csv +85 -0
- package/references/ui-pro-max-data/typography.csv +74 -0
- package/references/ui-pro-max-data/ui-reasoning.csv +162 -0
- package/references/ui-pro-max-data/ux-guidelines.csv +100 -0
- package/skills/ba/SKILL.md +10 -0
- package/skills/completion-gate/SKILL.md +34 -1
- package/skills/context-engine/SKILL.md +13 -0
- package/skills/cook/SKILL.md +71 -0
- package/skills/debug/SKILL.md +56 -1
- package/skills/design/SKILL.md +11 -0
- package/skills/fix/SKILL.md +26 -1
- package/skills/plan/SKILL.md +23 -6
- package/skills/review/SKILL.md +2 -0
- package/skills/skill-forge/SKILL.md +38 -3
- package/skills/test/SKILL.md +10 -1
- package/skills/verification/SKILL.md +60 -2
package/docs/index.html
ADDED
|
@@ -0,0 +1,674 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Rune — Less skills. Deeper connections.</title>
|
|
7
|
+
<meta name="description" content="58-skill mesh ecosystem for AI coding assistants. Works on Claude Code, Cursor, Windsurf, and any AI IDE.">
|
|
8
|
+
<meta property="og:title" content="Rune — AI Skill Mesh">
|
|
9
|
+
<meta property="og:description" content="58 skills, 200+ mesh connections, 8 platforms. From idea to production.">
|
|
10
|
+
<meta property="og:image" content="https://raw.githubusercontent.com/rune-kit/rune/master/assets/banner.svg">
|
|
11
|
+
<meta property="og:type" content="website">
|
|
12
|
+
<meta property="og:url" content="https://rune-kit.github.io/rune">
|
|
13
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
14
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
15
|
+
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
|
|
16
|
+
<link rel="stylesheet" href="style.css">
|
|
17
|
+
</head>
|
|
18
|
+
<body>
|
|
19
|
+
<!-- NAV -->
|
|
20
|
+
<nav class="nav">
|
|
21
|
+
<div class="nav-inner">
|
|
22
|
+
<a href="#" class="nav-logo">
|
|
23
|
+
<span class="logo-rune">◆</span> Rune
|
|
24
|
+
</a>
|
|
25
|
+
<div class="nav-links">
|
|
26
|
+
<a href="#architecture">Architecture</a>
|
|
27
|
+
<a href="#workflows">Workflows</a>
|
|
28
|
+
<a href="guides/">Guides</a>
|
|
29
|
+
<a href="#pricing">Pricing</a>
|
|
30
|
+
<div class="nav-controls">
|
|
31
|
+
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle light/dark mode" title="Toggle theme">☾</button>
|
|
32
|
+
<div class="lang-dropdown" id="lang-dropdown">
|
|
33
|
+
<button class="lang-toggle" id="lang-btn" aria-label="Translate page" title="Translate page">
|
|
34
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10A15.3 15.3 0 0 1 12 2z"/></svg>
|
|
35
|
+
</button>
|
|
36
|
+
<div class="lang-menu" id="lang-menu" hidden>
|
|
37
|
+
<button data-lang="">English</button>
|
|
38
|
+
<button data-lang="vi">Tiếng Việt</button>
|
|
39
|
+
<button data-lang="ja">日本語</button>
|
|
40
|
+
<button data-lang="ko">한국어</button>
|
|
41
|
+
<button data-lang="zh-CN">中文(简)</button>
|
|
42
|
+
<button data-lang="zh-TW">中文(繁)</button>
|
|
43
|
+
<button data-lang="fr">Français</button>
|
|
44
|
+
<button data-lang="de">Deutsch</button>
|
|
45
|
+
<button data-lang="es">Español</button>
|
|
46
|
+
<button data-lang="pt">Português</button>
|
|
47
|
+
<button data-lang="ru">Русский</button>
|
|
48
|
+
<button data-lang="th">ไทย</button>
|
|
49
|
+
<button data-lang="id">Bahasa</button>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
<a href="https://github.com/rune-kit/rune" class="btn btn-sm" target="_blank" rel="noopener">GitHub</a>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</nav>
|
|
57
|
+
|
|
58
|
+
<!-- HERO -->
|
|
59
|
+
<section class="hero">
|
|
60
|
+
<div class="hero-mesh" aria-hidden="true">
|
|
61
|
+
<canvas id="mesh-canvas"></canvas>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="hero-content">
|
|
64
|
+
<p class="hero-badge">v2.2.1 — 58 skills • 8 platforms • MIT</p>
|
|
65
|
+
<h1>Less skills.<br><span class="accent">Deeper connections.</span></h1>
|
|
66
|
+
<p class="hero-sub">A mesh ecosystem for AI coding assistants. Skills call each other bidirectionally, forming resilient workflows that adapt when things go wrong.</p>
|
|
67
|
+
<div class="hero-actions">
|
|
68
|
+
<a href="#install" class="btn btn-primary">Get Started</a>
|
|
69
|
+
<a href="https://github.com/rune-kit/rune" class="btn btn-ghost" target="_blank" rel="noopener">View Source</a>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</section>
|
|
73
|
+
|
|
74
|
+
<!-- PROBLEM -->
|
|
75
|
+
<section class="section" id="problem">
|
|
76
|
+
<div class="container">
|
|
77
|
+
<h2>Why a Mesh?</h2>
|
|
78
|
+
<p class="section-sub">Most skill ecosystems are either too many isolated skills or rigid pipelines. Rune is neither.</p>
|
|
79
|
+
<div class="compare-grid">
|
|
80
|
+
<div class="compare-card compare-bad">
|
|
81
|
+
<h3>Pipeline</h3>
|
|
82
|
+
<pre class="compare-diagram">A → B → C → D
|
|
83
|
+
<span class="text-loss">✖ B fails = stuck</span></pre>
|
|
84
|
+
<p>Linear. If one step fails, everything stops.</p>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="compare-card compare-bad">
|
|
87
|
+
<h3>Hub-Spoke</h3>
|
|
88
|
+
<pre class="compare-diagram">A → HUB → C
|
|
89
|
+
<span class="text-loss">✖ HUB fails = stuck</span></pre>
|
|
90
|
+
<p>Central bottleneck. Single point of failure.</p>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="compare-card compare-good">
|
|
93
|
+
<h3>Mesh</h3>
|
|
94
|
+
<pre class="compare-diagram">A ↔ B ↔ C
|
|
95
|
+
↕ ↕
|
|
96
|
+
D ↔ E ↔ F
|
|
97
|
+
<span class="text-profit">✔ B fails = A→D→E→C</span></pre>
|
|
98
|
+
<p>Resilient. Skills route around failures automatically.</p>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</section>
|
|
103
|
+
|
|
104
|
+
<!-- ARCHITECTURE -->
|
|
105
|
+
<section class="section section-dark" id="architecture">
|
|
106
|
+
<div class="container">
|
|
107
|
+
<h2>5-Layer Architecture</h2>
|
|
108
|
+
<p class="section-sub">Each layer has a clear responsibility. Skills only call downward (with documented exceptions).</p>
|
|
109
|
+
<div class="layers">
|
|
110
|
+
<div class="layer layer-0">
|
|
111
|
+
<div class="layer-label">L0</div>
|
|
112
|
+
<div class="layer-content">
|
|
113
|
+
<strong>Router</strong>
|
|
114
|
+
<span class="layer-count">1 skill</span>
|
|
115
|
+
<p>Meta-enforcement. Routes every action to the correct skill.</p>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="layer layer-1">
|
|
119
|
+
<div class="layer-label">L1</div>
|
|
120
|
+
<div class="layer-content">
|
|
121
|
+
<strong>Orchestrators</strong>
|
|
122
|
+
<span class="layer-count">5 skills</span>
|
|
123
|
+
<p>cook • team • launch • rescue • scaffold</p>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
<div class="layer layer-2">
|
|
127
|
+
<div class="layer-label">L2</div>
|
|
128
|
+
<div class="layer-content">
|
|
129
|
+
<strong>Workflow Hubs</strong>
|
|
130
|
+
<span class="layer-count">27 skills</span>
|
|
131
|
+
<p>plan • debug • fix • test • review • sentinel • design • ba • docs • and 18 more</p>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="layer layer-3">
|
|
135
|
+
<div class="layer-label">L3</div>
|
|
136
|
+
<div class="layer-content">
|
|
137
|
+
<strong>Utilities</strong>
|
|
138
|
+
<span class="layer-count">25 skills</span>
|
|
139
|
+
<p>research • problem-solver • verification • git • session-bridge • and 20 more</p>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="layer layer-4">
|
|
143
|
+
<div class="layer-label">L4</div>
|
|
144
|
+
<div class="layer-content">
|
|
145
|
+
<strong>Extension Packs</strong>
|
|
146
|
+
<span class="layer-count">14 packs</span>
|
|
147
|
+
<p>Domain-specific: trading, SaaS, mobile, AI/ML, gamedev, Zalo, and 8 more</p>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
</section>
|
|
153
|
+
|
|
154
|
+
<!-- WORKFLOWS -->
|
|
155
|
+
<section class="section" id="workflows">
|
|
156
|
+
<div class="container">
|
|
157
|
+
<h2>Key Workflows</h2>
|
|
158
|
+
<p class="section-sub">Orchestrators coordinate the mesh into end-to-end workflows.</p>
|
|
159
|
+
<div class="workflow-grid">
|
|
160
|
+
<div class="workflow-card">
|
|
161
|
+
<h3><code>/rune cook</code></h3>
|
|
162
|
+
<p class="workflow-desc">Build any feature with TDD discipline</p>
|
|
163
|
+
<div class="workflow-phases">
|
|
164
|
+
<div class="phase"><span class="phase-num">0</span> RESUME — detect existing plans</div>
|
|
165
|
+
<div class="phase"><span class="phase-num">1</span> UNDERSTAND — scout + ba</div>
|
|
166
|
+
<div class="phase"><span class="phase-num">2</span> PLAN — master plan + phase files</div>
|
|
167
|
+
<div class="phase"><span class="phase-num">3</span> TEST — failing tests first</div>
|
|
168
|
+
<div class="phase"><span class="phase-num">4</span> IMPLEMENT — write code</div>
|
|
169
|
+
<div class="phase"><span class="phase-num">5</span> QUALITY — preflight + sentinel + review</div>
|
|
170
|
+
<div class="phase"><span class="phase-num">6</span> VERIFY — verification + hallucination-guard</div>
|
|
171
|
+
<div class="phase"><span class="phase-num">7</span> COMMIT — semantic git commit</div>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
<div class="workflow-card">
|
|
175
|
+
<h3><code>/rune rescue</code></h3>
|
|
176
|
+
<p class="workflow-desc">Refactor legacy code safely</p>
|
|
177
|
+
<div class="workflow-phases">
|
|
178
|
+
<div class="phase"><span class="phase-num">0</span> RECON — autopsy health score</div>
|
|
179
|
+
<div class="phase"><span class="phase-num">1</span> SAFETY NET — characterization tests</div>
|
|
180
|
+
<div class="phase"><span class="phase-num">2</span> SURGERY — 1 module per session</div>
|
|
181
|
+
<div class="phase"><span class="phase-num">3</span> CLEANUP — remove legacy markers</div>
|
|
182
|
+
<div class="phase"><span class="phase-num">4</span> VERIFY — before vs after score</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="workflow-card">
|
|
186
|
+
<h3><code>/rune team</code></h3>
|
|
187
|
+
<p class="workflow-desc">Parallel multi-agent execution</p>
|
|
188
|
+
<div class="workflow-phases">
|
|
189
|
+
<div class="phase"><span class="phase-num">1</span> DECOMPOSE — DAG analysis</div>
|
|
190
|
+
<div class="phase"><span class="phase-num">2</span> ASSIGN — worktree per stream</div>
|
|
191
|
+
<div class="phase"><span class="phase-num">3</span> EXECUTE — parallel agents</div>
|
|
192
|
+
<div class="phase"><span class="phase-num">4</span> MERGE — conflict resolution</div>
|
|
193
|
+
<div class="phase"><span class="phase-num">5</span> VALIDATE — completion-gate</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
198
|
+
</section>
|
|
199
|
+
|
|
200
|
+
<!-- FEATURES -->
|
|
201
|
+
<section class="section section-dark" id="features">
|
|
202
|
+
<div class="container">
|
|
203
|
+
<h2>Built Different</h2>
|
|
204
|
+
<div class="features-grid">
|
|
205
|
+
<div class="feature-card">
|
|
206
|
+
<div class="feature-icon">⚙</div>
|
|
207
|
+
<h3>Phase-Aware Execution</h3>
|
|
208
|
+
<p>Master plan + phase files. One phase per session. Any model executes accurately. Resumes across sessions automatically.</p>
|
|
209
|
+
</div>
|
|
210
|
+
<div class="feature-card">
|
|
211
|
+
<div class="feature-icon">⚠</div>
|
|
212
|
+
<h3>Cognitive Bias Detection</h3>
|
|
213
|
+
<p>12 biases checked before every analysis. Reversibility filter, pre-mortem, MECE decomposition. Structured reasoning, not gut feelings.</p>
|
|
214
|
+
</div>
|
|
215
|
+
<div class="feature-card">
|
|
216
|
+
<div class="feature-icon">★</div>
|
|
217
|
+
<h3>Cost Intelligence</h3>
|
|
218
|
+
<p>Every skill auto-selects the optimal model. Haiku for scanning, Sonnet for code, Opus for architecture. ~$0.05-0.15 per feature.</p>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="feature-card">
|
|
221
|
+
<div class="feature-icon">♻</div>
|
|
222
|
+
<h3>Mesh Resilience</h3>
|
|
223
|
+
<p>200+ connections. If debug fails, problem-solver takes over. If scout fails, research + docs-seeker route around. Max depth 8, max 2 visits.</p>
|
|
224
|
+
</div>
|
|
225
|
+
<div class="feature-card">
|
|
226
|
+
<div class="feature-icon">🔒</div>
|
|
227
|
+
<h3>Security Gates</h3>
|
|
228
|
+
<p>sentinel (OWASP, secrets, deps) + sast (static analysis) + integrity-check (prompt injection detection). Gates, not suggestions.</p>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="feature-card">
|
|
231
|
+
<div class="feature-icon">🌐</div>
|
|
232
|
+
<h3>Multi-Platform</h3>
|
|
233
|
+
<p>Same 58 skills compile to Claude Code, Cursor, Windsurf, Antigravity, OpenAI Codex, OpenClaw, and generic. Zero knowledge loss across IDEs.</p>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
</section>
|
|
238
|
+
|
|
239
|
+
<!-- INSTALL -->
|
|
240
|
+
<section class="section" id="install">
|
|
241
|
+
<div class="container">
|
|
242
|
+
<h2>Get Started</h2>
|
|
243
|
+
<div class="install-grid">
|
|
244
|
+
<div class="install-card">
|
|
245
|
+
<h3>Claude Code</h3>
|
|
246
|
+
<p class="install-badge">Native Plugin</p>
|
|
247
|
+
<pre class="code-block"><code>/plugin install rune@rune-kit</code></pre>
|
|
248
|
+
<p>Full mesh: subagents, hooks, adaptive routing, analytics.</p>
|
|
249
|
+
</div>
|
|
250
|
+
<div class="install-card">
|
|
251
|
+
<h3>Cursor / Windsurf / Any IDE</h3>
|
|
252
|
+
<p class="install-badge">Compiled Rules</p>
|
|
253
|
+
<pre class="code-block"><code>npx @rune-kit/rune init</code></pre>
|
|
254
|
+
<p>Auto-detects platform. Compiles all 58 skills to native rule format.</p>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
258
|
+
</section>
|
|
259
|
+
|
|
260
|
+
<!-- PRICING -->
|
|
261
|
+
<section class="section section-dark" id="pricing">
|
|
262
|
+
<div class="container">
|
|
263
|
+
<h2>Pick Your Pack</h2>
|
|
264
|
+
<p class="section-sub">The full development mesh is free forever. Pro and Business add department-specific skills for teams that ship products.</p>
|
|
265
|
+
|
|
266
|
+
<!-- Who needs what -->
|
|
267
|
+
<div class="pricing-personas">
|
|
268
|
+
<div class="persona-card">
|
|
269
|
+
<div class="persona-icon">✍</div>
|
|
270
|
+
<p><strong>Solo dev or open-source contributor?</strong> Free has everything you need. 58 core skills, 14 domain packs, all platforms.</p>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="persona-card">
|
|
273
|
+
<div class="persona-icon">⚙</div>
|
|
274
|
+
<p><strong>Shipping a product with a team?</strong> Pro adds Product, Sales, Data Science, and Support workflows to your AI assistant.</p>
|
|
275
|
+
</div>
|
|
276
|
+
<div class="persona-card">
|
|
277
|
+
<div class="persona-icon">🏢</div>
|
|
278
|
+
<p><strong>Running a company?</strong> Business adds Finance, Legal, HR, and Enterprise Search on top of Pro.</p>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
<div class="pricing-grid pricing-grid-3">
|
|
283
|
+
<!-- FREE -->
|
|
284
|
+
<div class="pricing-card pricing-free">
|
|
285
|
+
<div class="pricing-tier">
|
|
286
|
+
<span class="pricing-badge pricing-badge-free">MIT License</span>
|
|
287
|
+
<h3>Rune</h3>
|
|
288
|
+
<div class="pricing-price">Free<span class="pricing-forever"> forever</span></div>
|
|
289
|
+
</div>
|
|
290
|
+
<p class="pricing-desc">Everything you need to build, test, deploy, and maintain software.</p>
|
|
291
|
+
<p class="pricing-who">Best for: individual developers, open-source projects, learning AI-assisted coding.</p>
|
|
292
|
+
<ul class="pricing-features">
|
|
293
|
+
<li>58 core skills (L0–L3)</li>
|
|
294
|
+
<li>14 domain extension packs</li>
|
|
295
|
+
<li>200+ mesh connections</li>
|
|
296
|
+
<li>5-layer architecture</li>
|
|
297
|
+
<li>Multi-platform compiler (8 targets)</li>
|
|
298
|
+
<li>Phase-aware execution</li>
|
|
299
|
+
<li>Security gates (sentinel, sast)</li>
|
|
300
|
+
<li>Adaptive model routing</li>
|
|
301
|
+
<li>Session persistence</li>
|
|
302
|
+
<li>Context delegation (spawn-agent)</li>
|
|
303
|
+
<li>Community support</li>
|
|
304
|
+
</ul>
|
|
305
|
+
<a href="#install" class="btn btn-primary" style="width:100%">Get Started</a>
|
|
306
|
+
</div>
|
|
307
|
+
|
|
308
|
+
<!-- PRO -->
|
|
309
|
+
<div class="pricing-card pricing-pro">
|
|
310
|
+
<div class="pricing-tier">
|
|
311
|
+
<span class="pricing-badge pricing-badge-pro">Premium</span>
|
|
312
|
+
<h3>Rune Pro</h3>
|
|
313
|
+
<div class="pricing-price">$49<span class="pricing-period"> lifetime</span></div>
|
|
314
|
+
</div>
|
|
315
|
+
<p class="pricing-desc">Business department skills that turn your AI assistant into a cross-functional teammate.</p>
|
|
316
|
+
<p class="pricing-who">Best for: product teams, startups, SaaS companies shipping features to real users.</p>
|
|
317
|
+
<ul class="pricing-features">
|
|
318
|
+
<li><strong>Everything in Free, plus:</strong></li>
|
|
319
|
+
<li>Product Management — PRDs, roadmaps, KPI tracking, release comms</li>
|
|
320
|
+
<li>Sales Enablement — account research, outreach sequences, pipeline review</li>
|
|
321
|
+
<li>Data Science — exploration, advanced SQL, dashboards, ML eval</li>
|
|
322
|
+
<li>Customer Support — ticket triage, knowledge base, escalation</li>
|
|
323
|
+
<li>Business memory layer — stakeholders, glossary, processes</li>
|
|
324
|
+
<li>MCP connector templates — Slack, CRM, Linear, Notion</li>
|
|
325
|
+
<li>All future Pro packs included</li>
|
|
326
|
+
</ul>
|
|
327
|
+
<button class="btn btn-pro" style="width:100%" onclick="openPayment('rune-pro')">Get Rune Pro — $49</button>
|
|
328
|
+
<p class="pricing-note">Pay once, use forever. No subscriptions.</p>
|
|
329
|
+
</div>
|
|
330
|
+
|
|
331
|
+
<!-- BUSINESS -->
|
|
332
|
+
<div class="pricing-card pricing-biz">
|
|
333
|
+
<div class="pricing-tier">
|
|
334
|
+
<span class="pricing-badge pricing-badge-biz">Enterprise</span>
|
|
335
|
+
<h3>Rune Business</h3>
|
|
336
|
+
<div class="pricing-price">$149<span class="pricing-period"> lifetime</span></div>
|
|
337
|
+
</div>
|
|
338
|
+
<p class="pricing-desc">Full department coverage for companies that need AI assistance across every business function.</p>
|
|
339
|
+
<p class="pricing-who">Best for: scaling companies, agencies, enterprises with cross-department AI workflows.</p>
|
|
340
|
+
<ul class="pricing-features">
|
|
341
|
+
<li><strong>Everything in Pro, plus:</strong></li>
|
|
342
|
+
<li>Finance Ops — invoicing, expense tracking, financial reporting</li>
|
|
343
|
+
<li>Legal & Compliance — contract review, policy drafting, audit prep</li>
|
|
344
|
+
<li>HR & Recruiting — job descriptions, candidate screening, onboarding</li>
|
|
345
|
+
<li>Enterprise Search — cross-system knowledge retrieval</li>
|
|
346
|
+
<li>Skill Forge included — build private skills (free in core, enhanced for teams)</li>
|
|
347
|
+
<li>Priority support — direct access to maintainers</li>
|
|
348
|
+
<li>All future Business packs included</li>
|
|
349
|
+
</ul>
|
|
350
|
+
<button class="btn btn-biz" style="width:100%" onclick="openPayment('rune-biz')">Get Rune Business — $149</button>
|
|
351
|
+
<p class="pricing-note">Pay once, use forever. No subscriptions.</p>
|
|
352
|
+
</div>
|
|
353
|
+
</div>
|
|
354
|
+
|
|
355
|
+
<!-- Comparison table -->
|
|
356
|
+
<div class="pricing-compare">
|
|
357
|
+
<h3>Feature Comparison</h3>
|
|
358
|
+
<table class="compare-table">
|
|
359
|
+
<thead>
|
|
360
|
+
<tr>
|
|
361
|
+
<th>Capability</th>
|
|
362
|
+
<th>Free</th>
|
|
363
|
+
<th>Pro <span class="table-price">$49</span></th>
|
|
364
|
+
<th>Business <span class="table-price">$149</span></th>
|
|
365
|
+
</tr>
|
|
366
|
+
</thead>
|
|
367
|
+
<tbody>
|
|
368
|
+
<tr>
|
|
369
|
+
<td>Core dev skills (58)</td>
|
|
370
|
+
<td class="check">✓</td>
|
|
371
|
+
<td class="check">✓</td>
|
|
372
|
+
<td class="check">✓</td>
|
|
373
|
+
</tr>
|
|
374
|
+
<tr>
|
|
375
|
+
<td>Domain packs (14)</td>
|
|
376
|
+
<td class="check">✓</td>
|
|
377
|
+
<td class="check">✓</td>
|
|
378
|
+
<td class="check">✓</td>
|
|
379
|
+
</tr>
|
|
380
|
+
<tr>
|
|
381
|
+
<td>Multi-platform compiler</td>
|
|
382
|
+
<td class="check">✓</td>
|
|
383
|
+
<td class="check">✓</td>
|
|
384
|
+
<td class="check">✓</td>
|
|
385
|
+
</tr>
|
|
386
|
+
<tr>
|
|
387
|
+
<td>Security gates & SAST</td>
|
|
388
|
+
<td class="check">✓</td>
|
|
389
|
+
<td class="check">✓</td>
|
|
390
|
+
<td class="check">✓</td>
|
|
391
|
+
</tr>
|
|
392
|
+
<tr>
|
|
393
|
+
<td>Product Management</td>
|
|
394
|
+
<td class="dash">—</td>
|
|
395
|
+
<td class="check">✓</td>
|
|
396
|
+
<td class="check">✓</td>
|
|
397
|
+
</tr>
|
|
398
|
+
<tr>
|
|
399
|
+
<td>Sales Enablement</td>
|
|
400
|
+
<td class="dash">—</td>
|
|
401
|
+
<td class="check">✓</td>
|
|
402
|
+
<td class="check">✓</td>
|
|
403
|
+
</tr>
|
|
404
|
+
<tr>
|
|
405
|
+
<td>Data Science</td>
|
|
406
|
+
<td class="dash">—</td>
|
|
407
|
+
<td class="check">✓</td>
|
|
408
|
+
<td class="check">✓</td>
|
|
409
|
+
</tr>
|
|
410
|
+
<tr>
|
|
411
|
+
<td>Customer Support</td>
|
|
412
|
+
<td class="dash">—</td>
|
|
413
|
+
<td class="check">✓</td>
|
|
414
|
+
<td class="check">✓</td>
|
|
415
|
+
</tr>
|
|
416
|
+
<tr>
|
|
417
|
+
<td>Business memory layer</td>
|
|
418
|
+
<td class="dash">—</td>
|
|
419
|
+
<td class="check">✓</td>
|
|
420
|
+
<td class="check">✓</td>
|
|
421
|
+
</tr>
|
|
422
|
+
<tr>
|
|
423
|
+
<td>MCP connector templates</td>
|
|
424
|
+
<td class="dash">—</td>
|
|
425
|
+
<td class="check">✓</td>
|
|
426
|
+
<td class="check">✓</td>
|
|
427
|
+
</tr>
|
|
428
|
+
<tr>
|
|
429
|
+
<td>Finance Ops</td>
|
|
430
|
+
<td class="dash">—</td>
|
|
431
|
+
<td class="dash">—</td>
|
|
432
|
+
<td class="check">✓</td>
|
|
433
|
+
</tr>
|
|
434
|
+
<tr>
|
|
435
|
+
<td>Legal & Compliance</td>
|
|
436
|
+
<td class="dash">—</td>
|
|
437
|
+
<td class="dash">—</td>
|
|
438
|
+
<td class="check">✓</td>
|
|
439
|
+
</tr>
|
|
440
|
+
<tr>
|
|
441
|
+
<td>HR & Recruiting</td>
|
|
442
|
+
<td class="dash">—</td>
|
|
443
|
+
<td class="dash">—</td>
|
|
444
|
+
<td class="check">✓</td>
|
|
445
|
+
</tr>
|
|
446
|
+
<tr>
|
|
447
|
+
<td>Enterprise Search</td>
|
|
448
|
+
<td class="dash">—</td>
|
|
449
|
+
<td class="dash">—</td>
|
|
450
|
+
<td class="check">✓</td>
|
|
451
|
+
</tr>
|
|
452
|
+
<tr>
|
|
453
|
+
<td>Skill Forge (build custom skills)</td>
|
|
454
|
+
<td class="check">✓</td>
|
|
455
|
+
<td class="check">✓</td>
|
|
456
|
+
<td class="check">✓</td>
|
|
457
|
+
</tr>
|
|
458
|
+
<tr>
|
|
459
|
+
<td>Priority support</td>
|
|
460
|
+
<td class="dash">—</td>
|
|
461
|
+
<td class="dash">—</td>
|
|
462
|
+
<td class="check">✓</td>
|
|
463
|
+
</tr>
|
|
464
|
+
</tbody>
|
|
465
|
+
</table>
|
|
466
|
+
</div>
|
|
467
|
+
</div>
|
|
468
|
+
</section>
|
|
469
|
+
|
|
470
|
+
<!-- EXTENSIONS -->
|
|
471
|
+
<section class="section" id="extensions">
|
|
472
|
+
<div class="container">
|
|
473
|
+
<h2>Free Extension Packs</h2>
|
|
474
|
+
<p class="section-sub">14 domain-specific packs included with Rune. Install what you need.</p>
|
|
475
|
+
<div class="ext-grid">
|
|
476
|
+
<div class="ext-card"><strong>@rune/ui</strong><span>Frontend</span></div>
|
|
477
|
+
<div class="ext-card"><strong>@rune/backend</strong><span>Backend</span></div>
|
|
478
|
+
<div class="ext-card"><strong>@rune/devops</strong><span>DevOps</span></div>
|
|
479
|
+
<div class="ext-card"><strong>@rune/mobile</strong><span>Mobile</span></div>
|
|
480
|
+
<div class="ext-card"><strong>@rune/security</strong><span>Security</span></div>
|
|
481
|
+
<div class="ext-card"><strong>@rune/trading</strong><span>Fintech</span></div>
|
|
482
|
+
<div class="ext-card"><strong>@rune/saas</strong><span>SaaS</span></div>
|
|
483
|
+
<div class="ext-card"><strong>@rune/ecommerce</strong><span>E-commerce</span></div>
|
|
484
|
+
<div class="ext-card"><strong>@rune/ai-ml</strong><span>AI/ML</span></div>
|
|
485
|
+
<div class="ext-card"><strong>@rune/gamedev</strong><span>Games</span></div>
|
|
486
|
+
<div class="ext-card"><strong>@rune/content</strong><span>Content</span></div>
|
|
487
|
+
<div class="ext-card"><strong>@rune/analytics</strong><span>Growth</span></div>
|
|
488
|
+
<div class="ext-card"><strong>@rune/chrome-ext</strong><span>Browser</span></div>
|
|
489
|
+
<div class="ext-card"><strong>@rune/zalo</strong><span>Messaging</span></div>
|
|
490
|
+
</div>
|
|
491
|
+
</div>
|
|
492
|
+
</section>
|
|
493
|
+
|
|
494
|
+
<!-- NUMBERS -->
|
|
495
|
+
<section class="section" id="numbers">
|
|
496
|
+
<div class="container">
|
|
497
|
+
<div class="stats-grid">
|
|
498
|
+
<div class="stat">
|
|
499
|
+
<span class="stat-num" data-target="58">0</span>
|
|
500
|
+
<span class="stat-label">Core Skills</span>
|
|
501
|
+
</div>
|
|
502
|
+
<div class="stat">
|
|
503
|
+
<span class="stat-num" data-target="206">0</span>
|
|
504
|
+
<span class="stat-label">Cross-References</span>
|
|
505
|
+
</div>
|
|
506
|
+
<div class="stat">
|
|
507
|
+
<span class="stat-num" data-target="14">0</span>
|
|
508
|
+
<span class="stat-label">Extension Packs</span>
|
|
509
|
+
</div>
|
|
510
|
+
<div class="stat">
|
|
511
|
+
<span class="stat-num" data-target="8">0</span>
|
|
512
|
+
<span class="stat-label">Platforms</span>
|
|
513
|
+
</div>
|
|
514
|
+
</div>
|
|
515
|
+
</div>
|
|
516
|
+
</section>
|
|
517
|
+
|
|
518
|
+
<!-- FOOTER -->
|
|
519
|
+
<footer class="footer">
|
|
520
|
+
<div class="container footer-inner">
|
|
521
|
+
<p><span class="logo-rune">◆</span> Rune — Less skills. Deeper connections.</p>
|
|
522
|
+
<div class="footer-links">
|
|
523
|
+
<a href="https://github.com/rune-kit/rune" target="_blank" rel="noopener">GitHub</a>
|
|
524
|
+
<a href="https://github.com/rune-kit/rune/blob/master/LICENSE" target="_blank" rel="noopener">MIT License</a>
|
|
525
|
+
<a href="https://github.com/rune-kit/rune/issues" target="_blank" rel="noopener">Issues</a>
|
|
526
|
+
</div>
|
|
527
|
+
</div>
|
|
528
|
+
</footer>
|
|
529
|
+
|
|
530
|
+
<!-- Payment Modal -->
|
|
531
|
+
<div id="pay-modal" class="pay-modal" hidden>
|
|
532
|
+
<div class="pay-backdrop" onclick="closePayment()"></div>
|
|
533
|
+
<div class="pay-dialog">
|
|
534
|
+
<!-- Step 1: Choose payment method -->
|
|
535
|
+
<div id="pay-step-1" class="pay-step">
|
|
536
|
+
<button class="pay-close" onclick="closePayment()" aria-label="Close">×</button>
|
|
537
|
+
<h3 id="pay-title">Get Rune Pro</h3>
|
|
538
|
+
<p class="pay-subtitle">Choose your payment method</p>
|
|
539
|
+
<div class="pay-options">
|
|
540
|
+
<button class="pay-option" onclick="showVNPayment()">
|
|
541
|
+
<span class="pay-option-flag">🇻🇳</span>
|
|
542
|
+
<div class="pay-option-info">
|
|
543
|
+
<strong>Vietnam</strong>
|
|
544
|
+
<span>Bank Transfer (VietQR)</span>
|
|
545
|
+
<span class="pay-option-price" id="pay-price-vn">1,190,000 VND</span>
|
|
546
|
+
</div>
|
|
547
|
+
<span class="pay-option-arrow">→</span>
|
|
548
|
+
</button>
|
|
549
|
+
<a id="pay-sponsor-link" href="https://github.com/sponsors/rune-kit" target="_blank" rel="noopener" class="pay-option">
|
|
550
|
+
<span class="pay-option-flag">🌐</span>
|
|
551
|
+
<div class="pay-option-info">
|
|
552
|
+
<strong>International</strong>
|
|
553
|
+
<span>GitHub Sponsors (Stripe)</span>
|
|
554
|
+
<span class="pay-option-price" id="pay-price-intl">$49 USD</span>
|
|
555
|
+
</div>
|
|
556
|
+
<span class="pay-option-arrow">→</span>
|
|
557
|
+
</a>
|
|
558
|
+
</div>
|
|
559
|
+
</div>
|
|
560
|
+
|
|
561
|
+
<!-- Step 2: VN — GitHub username -->
|
|
562
|
+
<div id="pay-step-2" class="pay-step" hidden>
|
|
563
|
+
<button class="pay-close" onclick="closePayment()" aria-label="Close">×</button>
|
|
564
|
+
<button class="pay-back" onclick="showPayStep(1)" aria-label="Back">← Back</button>
|
|
565
|
+
<h3 id="pay-title-2">Get Rune Pro</h3>
|
|
566
|
+
<p class="pay-subtitle" id="pay-amount-2">1,190,000 VND (~$49 USD)</p>
|
|
567
|
+
<label class="pay-label" for="pay-github">GitHub Username</label>
|
|
568
|
+
<input type="text" id="pay-github" class="pay-input" placeholder="your-github-username" autocomplete="off" spellcheck="false" />
|
|
569
|
+
<label class="pay-label" for="pay-email">Email <span style="color:var(--text-muted)">(optional)</span></label>
|
|
570
|
+
<input type="email" id="pay-email" class="pay-input" placeholder="you@example.com" />
|
|
571
|
+
<button id="pay-submit" class="btn btn-pro" style="width:100%;margin-top:16px" onclick="createOrder()">Continue to Payment</button>
|
|
572
|
+
<p class="pay-error" id="pay-error" hidden></p>
|
|
573
|
+
</div>
|
|
574
|
+
|
|
575
|
+
<!-- Step 3: VN — QR Code -->
|
|
576
|
+
<div id="pay-step-3" class="pay-step" hidden>
|
|
577
|
+
<button class="pay-close" onclick="closePayment()" aria-label="Close">×</button>
|
|
578
|
+
<h3>Scan to Pay</h3>
|
|
579
|
+
<p class="pay-subtitle">Transfer the exact amount with the code below</p>
|
|
580
|
+
<div class="pay-qr">
|
|
581
|
+
<img id="pay-qr-img" alt="VietQR Payment" />
|
|
582
|
+
</div>
|
|
583
|
+
<div class="pay-details">
|
|
584
|
+
<div class="pay-detail-row"><span>Bank</span><strong>VPBank</strong></div>
|
|
585
|
+
<div class="pay-detail-row"><span>Account</span><strong class="pay-mono">04162263666</strong></div>
|
|
586
|
+
<div class="pay-detail-row"><span>Amount</span><strong class="pay-mono" id="pay-detail-amount"></strong></div>
|
|
587
|
+
<div class="pay-detail-row"><span>Content</span><strong class="pay-mono" id="pay-detail-code"></strong></div>
|
|
588
|
+
</div>
|
|
589
|
+
<div class="pay-status" id="pay-status">
|
|
590
|
+
<span class="pay-spinner"></span> Waiting for payment...
|
|
591
|
+
</div>
|
|
592
|
+
<p class="pay-hint">Open your banking app → Scan QR or transfer manually → We'll detect it automatically</p>
|
|
593
|
+
</div>
|
|
594
|
+
|
|
595
|
+
<!-- Step 4: Success -->
|
|
596
|
+
<div id="pay-step-4" class="pay-step" hidden>
|
|
597
|
+
<div class="pay-success-icon">✓</div>
|
|
598
|
+
<h3>Payment Received!</h3>
|
|
599
|
+
<p class="pay-subtitle">A GitHub invitation has been sent to <strong id="pay-success-user"></strong></p>
|
|
600
|
+
<p class="pay-hint">Check your email for the invitation to <code>rune-kit/rune-pro</code></p>
|
|
601
|
+
<button class="btn btn-primary" style="width:100%;margin-top:20px" onclick="closePayment()">Done</button>
|
|
602
|
+
</div>
|
|
603
|
+
</div>
|
|
604
|
+
</div>
|
|
605
|
+
|
|
606
|
+
<script src="script.js"></script>
|
|
607
|
+
|
|
608
|
+
<!-- Theme toggle -->
|
|
609
|
+
<script>
|
|
610
|
+
(function initTheme() {
|
|
611
|
+
const toggle = document.getElementById('theme-toggle');
|
|
612
|
+
const stored = localStorage.getItem('rune-theme');
|
|
613
|
+
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
614
|
+
const theme = stored || (prefersDark ? 'dark' : 'dark'); // default dark
|
|
615
|
+
|
|
616
|
+
if (theme === 'light') {
|
|
617
|
+
document.documentElement.setAttribute('data-theme', 'light');
|
|
618
|
+
toggle.innerHTML = '☀'; // sun
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
toggle.addEventListener('click', () => {
|
|
622
|
+
const isLight = document.documentElement.getAttribute('data-theme') === 'light';
|
|
623
|
+
if (isLight) {
|
|
624
|
+
document.documentElement.removeAttribute('data-theme');
|
|
625
|
+
toggle.innerHTML = '☾'; // moon
|
|
626
|
+
localStorage.setItem('rune-theme', 'dark');
|
|
627
|
+
} else {
|
|
628
|
+
document.documentElement.setAttribute('data-theme', 'light');
|
|
629
|
+
toggle.innerHTML = '☀'; // sun
|
|
630
|
+
localStorage.setItem('rune-theme', 'light');
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
})();
|
|
634
|
+
</script>
|
|
635
|
+
|
|
636
|
+
<!-- Language Switcher (Google Translate via cookie) -->
|
|
637
|
+
<script>
|
|
638
|
+
(() => {
|
|
639
|
+
const btn = document.getElementById('lang-btn');
|
|
640
|
+
const menu = document.getElementById('lang-menu');
|
|
641
|
+
const wrap = document.getElementById('lang-dropdown');
|
|
642
|
+
|
|
643
|
+
btn.addEventListener('click', () => {
|
|
644
|
+
const open = !menu.hidden;
|
|
645
|
+
menu.hidden = open;
|
|
646
|
+
btn.setAttribute('aria-expanded', String(!open));
|
|
647
|
+
});
|
|
648
|
+
|
|
649
|
+
document.addEventListener('click', (e) => {
|
|
650
|
+
if (!wrap.contains(e.target)) menu.hidden = true;
|
|
651
|
+
});
|
|
652
|
+
|
|
653
|
+
menu.addEventListener('click', (e) => {
|
|
654
|
+
const lang = e.target.dataset.lang;
|
|
655
|
+
if (lang === undefined) return;
|
|
656
|
+
menu.hidden = true;
|
|
657
|
+
if (!lang) {
|
|
658
|
+
// Reset to English
|
|
659
|
+
document.cookie = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/';
|
|
660
|
+
document.cookie = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=.' + location.hostname;
|
|
661
|
+
location.reload();
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
664
|
+
document.cookie = 'googtrans=/en/' + lang + '; path=/';
|
|
665
|
+
document.cookie = 'googtrans=/en/' + lang + '; path=/; domain=.' + location.hostname;
|
|
666
|
+
location.reload();
|
|
667
|
+
});
|
|
668
|
+
})();
|
|
669
|
+
</script>
|
|
670
|
+
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
|
|
671
|
+
<script>function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'en', autoDisplay: false }, '_gt_dummy'); }</script>
|
|
672
|
+
<div id="_gt_dummy" style="display:none"></div>
|
|
673
|
+
</body>
|
|
674
|
+
</html>
|