@rune-kit/rune 2.3.3 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +51 -1
  2. package/compiler/__tests__/scripts-bundling.test.js +284 -0
  3. package/compiler/__tests__/tier-override.test.js +41 -0
  4. package/compiler/adapters/antigravity.js +4 -0
  5. package/compiler/adapters/codex.js +4 -0
  6. package/compiler/adapters/cursor.js +4 -0
  7. package/compiler/adapters/generic.js +4 -0
  8. package/compiler/adapters/openclaw.js +4 -0
  9. package/compiler/adapters/opencode.js +4 -0
  10. package/compiler/adapters/windsurf.js +4 -0
  11. package/compiler/emitter.js +85 -5
  12. package/compiler/transforms/scripts-path.js +18 -0
  13. package/extensions/zalo/PACK.md +20 -1
  14. package/extensions/zalo/references/conversation-management.md +214 -0
  15. package/extensions/zalo/references/eval-scenarios.md +157 -0
  16. package/extensions/zalo/references/listen-mode.md +237 -0
  17. package/extensions/zalo/references/mcp-production.md +274 -0
  18. package/extensions/zalo/references/multi-account-proxy.md +224 -0
  19. package/extensions/zalo/references/vietqr-banking.md +160 -0
  20. package/package.json +2 -3
  21. package/skills/marketing/SKILL.md +3 -0
  22. package/skills/sentinel/SKILL.md +4 -1
  23. package/skills/sentinel/references/auth-crypto-reference.md +192 -0
  24. package/skills/sentinel/references/desktop-security.md +201 -0
  25. package/skills/sentinel/references/supply-chain.md +160 -0
  26. package/skills/slides/SKILL.md +142 -0
  27. package/skills/slides/scripts/build-deck.js +158 -0
  28. package/docs/ANTIGRAVITY-GAP-ANALYSIS.md +0 -369
  29. package/docs/ARCHITECTURE.md +0 -332
  30. package/docs/COMMUNITY-PACKS.md +0 -109
  31. package/docs/CONTRIBUTING-L4.md +0 -215
  32. package/docs/CROSS-IDE-ANALYSIS.md +0 -164
  33. package/docs/EXTENSION-TEMPLATE.md +0 -126
  34. package/docs/MESH-RULES.md +0 -34
  35. package/docs/MULTI-PLATFORM.md +0 -804
  36. package/docs/SKILL-DEPTH-AUDIT.md +0 -191
  37. package/docs/SKILL-TEMPLATE.md +0 -118
  38. package/docs/TRADE-MATRIX.md +0 -327
  39. package/docs/VERSIONING.md +0 -91
  40. package/docs/VISION.md +0 -263
  41. package/docs/assets/demo-subtitles.srt +0 -215
  42. package/docs/assets/end-card.html +0 -276
  43. package/docs/assets/mesh-diagram.html +0 -654
  44. package/docs/assets/thumbnail.html +0 -295
  45. package/docs/guides/cli.md +0 -403
  46. package/docs/guides/index.html +0 -1450
  47. package/docs/index.html +0 -1005
  48. package/docs/references/claudekit-analysis.md +0 -414
  49. package/docs/references/voltagent-analysis.md +0 -189
  50. package/docs/script.js +0 -495
  51. package/docs/skills/index.html +0 -832
  52. package/docs/style.css +0 -958
  53. package/docs/video-demo-plan.md +0 -172
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: slides
3
+ description: Generate Marp-compatible slide decks from structured JSON schema. Converts context into presentations for tech talks, sprint demos, and tutorials.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.1.0"
7
+ layer: L3
8
+ model: sonnet
9
+ group: media
10
+ tools: "Read, Write, Bash"
11
+ ---
12
+
13
+ # slides
14
+
15
+ ## Purpose
16
+
17
+ Generates structured slide decks as Marp-compatible markdown. The agent analyzes context (feature, sprint, tutorial) and produces a JSON slide schema, then calls `build-deck.js` to convert it to presentation-ready markdown. The script standardizes output format — preventing agent freestyle errors when context runs low.
18
+
19
+ ## Triggers
20
+
21
+ - User says "create slides", "make presentation", "demo deck", "sprint review slides", "tech talk"
22
+ - `/rune slides` — manual invocation
23
+ - Called by other skills needing presentation output
24
+
25
+ ## Called By (inbound)
26
+
27
+ - `marketing` (L2): launch presentations, product demos
28
+ - `video-creator` (L3): slide-based video storyboards
29
+ - User: direct invocation
30
+
31
+ ## Calls (outbound)
32
+
33
+ None — pure L3 utility.
34
+
35
+ ## Executable Instructions
36
+
37
+ ### Step 1: Analyze Context
38
+
39
+ Determine the presentation type from the user's request:
40
+
41
+ | Context | Template | Typical Slides |
42
+ |---------|----------|---------------|
43
+ | Feature demo | Demo walkthrough | Problem → Solution → Architecture → Live demo → Next steps |
44
+ | Sprint review | Sprint summary | Goals → Completed → Metrics → Blockers → Next sprint |
45
+ | Tech talk | Teaching format | Hook → Concept → Deep dive → Code examples → Takeaways |
46
+ | Tutorial | Step-by-step | Intro → Prerequisites → Step 1-N → Summary → Resources |
47
+ | Pitch | Persuasion | Problem → Market → Solution → Traction → Ask |
48
+
49
+ ### Step 2: Generate JSON Schema
50
+
51
+ Create a JSON file following this schema:
52
+
53
+ ```json
54
+ {
55
+ "title": "Presentation Title",
56
+ "author": "Author Name (optional)",
57
+ "theme": "default|gaia|uncover",
58
+ "slides": [
59
+ {
60
+ "type": "title|content|code|diagram|image|quote|section",
61
+ "heading": "Slide Heading",
62
+ "body": "Markdown body text",
63
+ "notes": "Speaker notes (optional)",
64
+ "code": { "lang": "javascript", "source": "console.log('hi')" },
65
+ "diagram": "graph LR; A-->B"
66
+ }
67
+ ]
68
+ }
69
+ ```
70
+
71
+ **Slide types:**
72
+ - `title` — opening slide with `# heading`
73
+ - `content` — standard slide with `## heading` + body
74
+ - `code` — slide with syntax-highlighted code block
75
+ - `diagram` — slide with Mermaid diagram
76
+ - `image` — slide with image reference in body
77
+ - `quote` — slide with blockquote formatting
78
+ - `section` — section divider with `# heading`
79
+
80
+ Save the JSON to a temporary file (e.g., `slides.json`).
81
+
82
+ ### Step 3: Build Deck
83
+
84
+ Execute the build script:
85
+
86
+ ```bash
87
+ node {scripts_dir}/build-deck.js --input slides.json --output deck.md
88
+ ```
89
+
90
+ The script outputs Marp-compatible markdown with:
91
+ - Marp frontmatter (`marp: true`, theme)
92
+ - Slide separators (`---`)
93
+ - Speaker notes as HTML comments
94
+ - Code blocks with language hints
95
+ - Mermaid diagram blocks
96
+
97
+ ### Step 4: Present Result
98
+
99
+ Show the user:
100
+ 1. The generated `deck.md` file path
101
+ 2. How to preview: `npx @marp-team/marp-cli deck.md --preview` (or any Marp viewer)
102
+ 3. How to export PDF: `npx @marp-team/marp-cli deck.md --pdf`
103
+
104
+ **Fallback**: If `{scripts_dir}/build-deck.js` is unavailable, generate the Marp markdown directly — the script is an optimization, not a hard dependency.
105
+
106
+ ## Output Format
107
+
108
+ ```markdown
109
+ ---
110
+ marp: true
111
+ theme: default
112
+ ---
113
+
114
+ # Presentation Title
115
+
116
+ Author Name
117
+
118
+ ---
119
+
120
+ ## Slide Heading
121
+
122
+ Slide body content
123
+
124
+ <!-- notes: Speaker notes here -->
125
+ ```
126
+
127
+ ## Sharp Edges
128
+
129
+ | Failure Mode | Severity | Mitigation |
130
+ |---|---|---|
131
+ | build-deck.js not found | LOW | Agent generates Marp markdown directly (fallback) |
132
+ | Invalid JSON input | MEDIUM | Script exits 1 with parse error — agent fixes JSON and retries |
133
+ | Marp not installed | LOW | Script outputs plain .md — user installs Marp CLI separately |
134
+ | Too many slides (>30) | MEDIUM | Agent should split into multiple decks or summarize |
135
+
136
+ ## Constraints
137
+
138
+ 1. Output MUST be valid Marp markdown (parseable by `@marp-team/marp-cli`)
139
+ 2. DO NOT embed build-deck.js source in this skill — call it via `{scripts_dir}`
140
+ 3. DO NOT require Marp installation — output is standard markdown that Marp can consume
141
+ 4. Keep slide count reasonable (5-15 for demos, 10-25 for talks)
142
+ 5. Always include speaker notes for non-trivial slides
@@ -0,0 +1,158 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * build-deck.js — Converts JSON slide schema to Marp-compatible markdown.
5
+ *
6
+ * Usage: node build-deck.js --input slides.json --output deck.md [--theme default]
7
+ *
8
+ * JSON schema:
9
+ * {
10
+ * "title": "string",
11
+ * "author": "string (optional)",
12
+ * "theme": "default|gaia|uncover (optional)",
13
+ * "slides": [
14
+ * {
15
+ * "type": "title|content|code|diagram|image|quote|section",
16
+ * "heading": "string",
17
+ * "body": "string (markdown)",
18
+ * "notes": "string (speaker notes, optional)",
19
+ * "code": "{ lang, source } (if type=code)",
20
+ * "diagram": "string (mermaid, if type=diagram)"
21
+ * }
22
+ * ]
23
+ * }
24
+ */
25
+
26
+ import { readFile, writeFile } from 'node:fs/promises';
27
+ import { parseArgs } from 'node:util';
28
+
29
+ function parseCliArgs() {
30
+ const { values } = parseArgs({
31
+ options: {
32
+ input: { type: 'string', short: 'i' },
33
+ output: { type: 'string', short: 'o' },
34
+ theme: { type: 'string', short: 't', default: 'default' },
35
+ },
36
+ strict: true,
37
+ });
38
+ return values;
39
+ }
40
+
41
+ function renderSlide(slide) {
42
+ const type = slide.type || 'content';
43
+ const lines = [];
44
+
45
+ switch (type) {
46
+ case 'title':
47
+ lines.push(`# ${slide.heading || ''}`);
48
+ if (slide.body) lines.push('', slide.body);
49
+ break;
50
+
51
+ case 'section':
52
+ lines.push(`# ${slide.heading || ''}`);
53
+ if (slide.body) lines.push('', slide.body);
54
+ break;
55
+
56
+ case 'code':
57
+ if (slide.heading) lines.push(`## ${slide.heading}`, '');
58
+ if (slide.body) lines.push(slide.body, '');
59
+ if (slide.code) {
60
+ lines.push(`\`\`\`${slide.code.lang || ''}`, slide.code.source || '', '```');
61
+ }
62
+ break;
63
+
64
+ case 'diagram':
65
+ if (slide.heading) lines.push(`## ${slide.heading}`, '');
66
+ if (slide.body) lines.push(slide.body, '');
67
+ if (slide.diagram) {
68
+ lines.push('```mermaid', slide.diagram, '```');
69
+ }
70
+ break;
71
+
72
+ case 'image':
73
+ if (slide.heading) lines.push(`## ${slide.heading}`, '');
74
+ if (slide.body) lines.push(slide.body);
75
+ break;
76
+
77
+ case 'quote':
78
+ if (slide.heading) lines.push(`## ${slide.heading}`, '');
79
+ if (slide.body) lines.push(`> ${slide.body.replace(/\n/g, '\n> ')}`);
80
+ break;
81
+
82
+ default:
83
+ // 'content' and any unknown type
84
+ if (slide.heading) lines.push(`## ${slide.heading}`);
85
+ if (slide.body) lines.push('', slide.body);
86
+ break;
87
+ }
88
+
89
+ if (slide.notes) {
90
+ lines.push('', `<!-- notes: ${slide.notes} -->`);
91
+ }
92
+
93
+ return lines.join('\n');
94
+ }
95
+
96
+ function buildDeck(data, theme) {
97
+ const resolvedTheme = data.theme || theme || 'default';
98
+
99
+ // Frontmatter
100
+ const parts = ['---', `marp: true`, `theme: ${resolvedTheme}`, '---', ''];
101
+
102
+ // Title slide
103
+ parts.push(`# ${data.title || 'Untitled'}`);
104
+ if (data.author) parts.push('', data.author);
105
+ parts.push('');
106
+
107
+ // Content slides
108
+ if (Array.isArray(data.slides) && data.slides.length > 0) {
109
+ for (const slide of data.slides) {
110
+ parts.push('---', '');
111
+ parts.push(renderSlide(slide));
112
+ parts.push('');
113
+ }
114
+ }
115
+
116
+ return parts.join('\n');
117
+ }
118
+
119
+ async function main() {
120
+ const args = parseCliArgs();
121
+
122
+ if (!args.input) {
123
+ console.error('Usage: node build-deck.js --input slides.json --output deck.md [--theme default]');
124
+ process.exit(1);
125
+ }
126
+
127
+ let raw;
128
+ try {
129
+ raw = await readFile(args.input, 'utf-8');
130
+ } catch (err) {
131
+ console.error(`Error reading input file: ${err.message}`);
132
+ process.exit(1);
133
+ }
134
+
135
+ let data;
136
+ try {
137
+ data = JSON.parse(raw);
138
+ } catch (err) {
139
+ console.error(`Invalid JSON: ${err.message}`);
140
+ process.exit(1);
141
+ }
142
+
143
+ if (!data.title) {
144
+ console.error('Error: JSON must have a "title" field');
145
+ process.exit(1);
146
+ }
147
+
148
+ const markdown = buildDeck(data, args.theme);
149
+
150
+ if (args.output) {
151
+ await writeFile(args.output, markdown, 'utf-8');
152
+ console.log(`Deck written to ${args.output} (${data.slides?.length || 0} slides)`);
153
+ } else {
154
+ process.stdout.write(markdown);
155
+ }
156
+ }
157
+
158
+ main();
@@ -1,369 +0,0 @@
1
- # Rune vs Antigravity Kit: Feature Gap Analysis
2
-
3
- **Date**: 2026-03-14
4
- **Scope**: Rune v2.1.1 (58 skills) vs Antigravity Kit (13 features)
5
- **Analysis**: Skill-level structure, orchestration patterns, enforcement mechanisms
6
-
7
- ---
8
-
9
- ## Executive Summary
10
-
11
- Rune **EXCEEDS** Antigravity in most dimensions. Antigravity Kit has 13 opinionated features; Rune has 58 skills across a 5-layer mesh. Rune implements ALL of AG's core patterns plus substantial extensions:
12
-
13
- | Feature Category | Rune Status | Coverage |
14
- |---|---|---|
15
- | Request Classification | PARTIAL | Limited — no 6-type enum, but skill-router routes by intent |
16
- | Agent Routing | YES | Tier 1/2/3 routing in skill-router (290 lines) |
17
- | Boundary Enforcement | PARTIAL | Via skills, not file ownership rules |
18
- | Socratic Questioning | YES | ba skill (5-Q elicitation) + brainstorm design mode |
19
- | Behavioral Modes | YES | 3 modes (dev, review, research) in contexts/ |
20
- | App Templates | NO | Not primary focus — scaffold skill exists but not 13 templates |
21
- | Master Checklist/Verify | YES | preflight (logic+error+regression), sentinel (security), verification (L3) |
22
- | Auto-Preview | NO | Not a core Rune feature |
23
- | Session Manager | YES | session-bridge + context-engine (L3) |
24
- | Plan-Before-Code | YES | HARD-GATE in cook + plan skills |
25
- | Context Passing Protocol | YES | cook → plan → fix, neural-memory cross-session |
26
- | Minimum 3 Agents | YES | Cook coordinates 20+ L2/L3 skills (far exceeds 3) |
27
- | GEMINI.md IDE Rules | NO | Not implemented — uses skills instead |
28
-
29
- ---
30
-
31
- ## Detailed Feature-by-Feature Analysis
32
-
33
- ### 1. REQUEST CLASSIFIER
34
- **Antigravity Pattern**: 6-type classification (QUESTION/SURVEY/SIMPLE/COMPLEX/DESIGN/SLASH) determines behavior before any action.
35
-
36
- **Rune Implementation**: **PARTIAL** ✓ (Intent-based, not enum-typed)
37
-
38
- - **What Rune has**: skill-router Step 1 (Intent Classification) with 4 tiers:
39
- - Tier 1 (primary): cook, team, launch, rescue, scaffold, audit
40
- - Tier 2 (power user): plan, brainstorm, review, test, db, deploy, etc. (20+ skills)
41
- - Tier 3 (internal): scout, verification, hallucination-guard, etc.
42
- - Tier 4 (domain packs): @rune/ui, @rune/backend, @rune/trading, etc.
43
- - **What Rune lacks**: Hard enum type (QUESTION vs COMPLEX) — uses free-form intent matching
44
- - **Gap severity**: LOW — Rune's flexible routing handles more cases than 6 fixed types
45
- - **File**: `skills/skill-router/SKILL.md` (lines 76–176)
46
-
47
- ---
48
-
49
- ### 2. AGENT ROUTING CHECKLIST
50
- **Antigravity Pattern**: 4-step mandatory check before every response.
51
-
52
- **Rune Implementation**: **YES** ✓ (Implemented as skill-router Steps 0.5–4)
53
-
54
- Rune enforces routing via:
55
- 1. **Step 0.5 — STOP before responding**: classify intent, identify matching skills (mandatory)
56
- 2. **Step 1 — Intent Classification**: match against routing table
57
- 3. **Step 2 — Compound Intent Resolution**: if 2+ intents, route to highest-priority skill first
58
- 4. **Step 3 — Anti-Rationalization Gate**: 8 explicit excuses blocked (e.g., "too simple for skill", "already know how")
59
- 5. **Step 4 — Execute**: announce skill invocation, use Skill tool
60
- 6. **Step 5 — Post-Completion Neural Memory Capture**: save learnings after L1/L2 workflows
61
-
62
- - **Anti-rationalization table** (lines 199–212): prevents agent from skipping routing
63
- - **Coverage**: EVERY code/file/technical response must route first
64
- - **File**: `skills/skill-router/SKILL.md` (lines 67–233)
65
- - **Constraint depth**: **HIGHER than AG** — skill-router has 8 "thought-trap" mitigations; AG has 4-step checklist
66
-
67
- ---
68
-
69
- ### 3. AGENT BOUNDARY ENFORCEMENT
70
- **Antigravity Pattern**: File-type ownership (test → test skill, components → frontend skill, api → backend skill).
71
-
72
- **Rune Implementation**: **PARTIAL** ✓ (Skill ownership, not file ownership)
73
-
74
- - **What Rune has**:
75
- - `@rune/ui` pack controls React/Svelte/Vue components
76
- - `@rune/backend` pack controls Express/NestJS/Fastify API code
77
- - `@rune/devops` pack controls CI/CD/Docker/Terraform
78
- - `test` skill controls testing workflows
79
- - `design` skill controls UI/UX design decisions
80
- - **What Rune lacks**: Explicit `.gitattributes` or hook-enforced file-type ownership
81
- - **Alternative approach**: skill-router + cook L4 pack detection (Phase 1.5) implicitly enforces domain boundaries
82
- - **Gap severity**: LOW — Rune delegates boundary enforcement to cook's phase structure, not file locks
83
- - **Files**: `skills/cook/SKILL.md` (lines 135–174), `extensions/*/PACK.md`
84
-
85
- ---
86
-
87
- ### 4. SOCRATIC GATE WITH DYNAMIC QUESTIONING
88
- **Antigravity Pattern**: Structured question format with Priority, Decision Point, Why This Matters, Options table, Default.
89
-
90
- **Rune Implementation**: **YES** ✓ (Implemented in `ba` skill — 5-Q elicitation)
91
-
92
- - **ba skill** (Business Analyst):
93
- - Asks **5 probing questions**, one at a time (not all at once)
94
- - Extracts hidden requirements, scope boundaries, stakeholder mapping
95
- - Produces structured Requirements Document at `.rune/features/<name>/requirements.md`
96
- - Feeds into cook Phase 1 (BA gate) and plan Phase 1 (Requirements Document consumption)
97
- - **Question format** (ba skill execution):
98
- - Each question is asked separately; wait for answer before next
99
- - Questions are context-aware (probing for gaps, not reading from a fixed list)
100
- - Output: structured Requirements Document with acceptance criteria, constraints, scope boundaries
101
- - **brainstorm skill** (Design Mode):
102
- - Generates 2–3 approaches before implementation
103
- - Each approach includes trade-offs, constraints, 10-star lens (1-star, 5-star, 10-star versions)
104
- - Structured as "Option A (why), Option B (why), Option C (why)" with decision table
105
- - **Gap severity**: NONE — Rune's approach is more sophisticated (dynamic elicitation vs static question list)
106
- - **Files**: `skills/ba/SKILL.md`, `skills/brainstorm/SKILL.md`
107
-
108
- ---
109
-
110
- ### 5. BEHAVIORAL MODES
111
- **Antigravity Pattern**: 7 distinct modes (BRAINSTORM/IMPLEMENT/DEBUG/REVIEW/TEACH/SHIP/EXPLORE) that change AI behavior.
112
-
113
- **Rune Implementation**: **PARTIAL** ✓ (3 modes: dev, review, research)
114
-
115
- - **Rune's behavioral contexts** (in `contexts/` directory):
116
- 1. **dev.md** — Development Mode: "Code first, explain after" — prioritize action over analysis
117
- 2. **review.md** — Review Mode: "Read everything" — thoroughness and constructive feedback
118
- 3. **research.md** — Research Mode: comprehensive exploration and external knowledge gathering
119
- - **Gap**: Rune has 3 contexts; Antigravity has 7 modes (BRAINSTORM, IMPLEMENT, DEBUG, REVIEW, TEACH, SHIP, EXPLORE)
120
- - **Rune's alternative**: Skills themselves embed behavioral rules:
121
- - `cook` (IMPLEMENT mode)
122
- - `brainstorm` (BRAINSTORM mode)
123
- - `debug` (DEBUG mode)
124
- - `review` (REVIEW mode)
125
- - `launch` (SHIP mode)
126
- - `research` (EXPLORE mode)
127
- - `onboard` (TEACH mode)
128
- - **Severity**: LOW — Rune distributes behavioral guidance into skills rather than global context modes. Effect is similar.
129
- - **Future enhancement**: Could add `TEACH`, `BRAINSTORM_VISION`, `HOTFIX` modes to contexts/
130
-
131
- ---
132
-
133
- ### 6. APP TEMPLATES
134
- **Antigravity Pattern**: 13 project scaffolding templates (nextjs-saas, flutter, electron, etc.).
135
-
136
- **Rune Implementation**: **NO** ✗ (Out of scope for Rune's design)
137
-
138
- - **What Rune has**:
139
- - `scaffold` skill (L1 orchestrator) for greenfield project bootstrap
140
- - Interactive + Express modes for project initialization
141
- - Uses `ba` + `plan` to understand project needs before scaffolding
142
- - **What Rune lacks**: Pre-built template collection (13 templates)
143
- - **Why**: Rune is skill-mesh, not template library. Templates are external (e.g., `create-next-app`, `flutter create`)
144
- - **Rune's alternative approach**: `scaffold` calls `ba` (requirements) → `plan` (architecture) → invokes appropriate L4 pack (@rune/saas, @rune/mobile, etc.)
145
- - **Severity**: MEDIUM — Rune can scaffold but requires user to choose domain first
146
- - **Files**: `skills/scaffold/SKILL.md`
147
-
148
- ---
149
-
150
- ### 7. MASTER CHECKLIST / VERIFY SCRIPTS
151
- **Antigravity Pattern**: Priority-ordered validation pipeline (P0 Security → P1 Lint → P2 Schema → P3 Tests → P4 UX → P5 SEO → P6 Performance).
152
-
153
- **Rune Implementation**: **YES** ✓ (Distributed across preflight, sentinel, verification, perf)
154
-
155
- Rune's quality gate pipeline:
156
-
157
- | Priority | Rune Skill | Pattern |
158
- |----------|-----------|---------|
159
- | **P0** | `sentinel` | Secret scanning, OWASP top 10, dependency audit (BLOCK on critical) |
160
- | **P1** | `verification` | Linting, type checking, build verification |
161
- | **P2** | `hallucination-guard` | Verify imports exist, API references valid |
162
- | **P3** | `test` | Run test suite, verify 80%+ coverage |
163
- | **P4** | `preflight` | Logic review, error handling, completeness (BLOCK on findings) |
164
- | **P5** | `design` skill + L4 packs | UX review (accessibility, contrast, semantic HTML) |
165
- | **P5.5** | `marketing` skill | SEO audit, brand voice consistency |
166
- | **P6** | `perf` | Performance profiling, bundle size, query optimization |
167
-
168
- - **Orchestration**: cook Phase 5 (QUALITY) runs preflight + sentinel in sequence before commit
169
- - **HARD-GATE enforcement**: preflight/sentinel verdict of BLOCK stops the pipeline
170
- - **Severity**: EQUIVALENT — Rune has more granular skills but same priority ordering
171
- - **Files**: `skills/preflight/SKILL.md`, `skills/sentinel/SKILL.md`, `skills/verification/SKILL.md`, `skills/perf/SKILL.md`
172
-
173
- ---
174
-
175
- ### 8. AUTO-PREVIEW (Dev Server Management)
176
- **Antigravity Pattern**: start/stop/status dev server management.
177
-
178
- **Rune Implementation**: **NO** ✗ (Not a core Rune feature)
179
-
180
- - **What Rune has**: `browser-pilot` skill (L3) for UI testing and browser automation
181
- - **What Rune lacks**: Orchestrated dev server start/stop commands
182
- - **Why**: Rune assumes user runs dev server separately; focus is on code quality, not environment management
183
- - **Severity**: LOW — Edge case feature, not critical to core workflow
184
- - **Future enhancement**: Could add `server-pilot` skill (L3) to wrap `npm run dev`, `python -m flask`, etc.
185
-
186
- ---
187
-
188
- ### 9. SESSION MANAGER
189
- **Antigravity Pattern**: Tech stack detection, file stats, project state.
190
-
191
- **Rune Implementation**: **YES** ✓ (Via session-bridge + scout + context-engine)
192
-
193
- - **session-bridge** (L3 state skill):
194
- - Detects tech stack (Node, Python, Rust, etc.)
195
- - Tracks project state across sessions (active phase, decisions, work log)
196
- - Saves to `.rune/` directory (state files, decisions.md, journal.md, metrics/)
197
- - Cross-session context passing via file system
198
- - **scout** (L2 codebase scanning):
199
- - File discovery and categorization
200
- - Pattern extraction (conventions, naming, module structure)
201
- - Tech stack detection (frameworks, languages, tools)
202
- - **context-engine** (L3 state):
203
- - Manages large-context sessions via compaction and caching
204
- - Triggers neural-memory flush before compaction
205
- - **Severity**: EQUIVALENT — Rune's approach is more distributed (skills + files) vs Antigravity's centralized session manager
206
- - **Files**: `skills/session-bridge/SKILL.md`, `skills/scout/SKILL.md`, `skills/context-engine/SKILL.md`
207
-
208
- ---
209
-
210
- ### 10. PLAN-BEFORE-CODE ENFORCEMENT
211
- **Antigravity Pattern**: Orchestrator refuses to invoke specialists without PLAN.md.
212
-
213
- **Rune Implementation**: **YES** ✓ (HARD-GATE in cook + plan)
214
-
215
- - **cook skill** (L1 orchestrator):
216
- - Phase 0: Resume check — load existing master plan if available
217
- - Phase 1: Understand (scout + BA gate)
218
- - **Phase 2: PLAN (mandatory)**
219
- - HARD-GATE: "You MUST have a plan before writing code"
220
- - Invokes `plan` skill (opus-level reasoning)
221
- - Produces master plan + phase files for non-trivial tasks
222
- - Phase 3+: Test → Implement → Quality → Verify → Commit
223
- - **plan skill** (L2 planner):
224
- - Produces master plan (overview, phase table, key decisions)
225
- - Produces phase files (Amateur-Proof Template, <150 lines each)
226
- - HARD-GATE: "NEVER produce monolithic plan for non-trivial tasks" (3+ phases)
227
- - **Severity**: EXCEEDS AG — Rune's plan-before-code is more sophisticated (master plan + phase files, not just a checklist)
228
- - **Files**: `skills/cook/SKILL.md` (Phase 2, lines 193–220), `skills/plan/SKILL.md` (lines 23–28, 109+)
229
-
230
- ---
231
-
232
- ### 11. CONTEXT PASSING PROTOCOL
233
- **Antigravity Pattern**: MANDATORY context when invoking subagents (user request + decisions + previous work + current plan).
234
-
235
- **Rune Implementation**: **YES** ✓ (Via cook → plan → fix chain + neural-memory)
236
-
237
- - **Intra-session context**:
238
- - cook passes plan context to fix skill
239
- - plan passes requirements (from ba) to cook
240
- - debug passes root cause + hypothesis testing to fix
241
- - Explicit context is loaded into each skill's workflow
242
- - **Cross-session context**:
243
- - neural-memory (L3) captures decisions, error patterns, architectural insights
244
- - session-bridge loads prior work (master plan, phase files, decisions.md)
245
- - cook Phase 0 (resume check) loads relevant master plan + phase file for multi-session tasks
246
- - cook Phase 0.5 triggers neural-memory Recall Mode before decisions
247
- - **Explicit protocol**:
248
- - Step 0.5 in cook: "Cross-Project Recall" — recall 3–5 topics with project name prefix
249
- - Step 5 in skill-router: "Post-Completion Neural Memory Capture" — save 2–5 memories with tags
250
- - **Severity**: EXCEEDS AG — Rune has both intra-session (cook chain) and cross-session (neural-memory) context passing
251
- - **Files**: `skills/cook/SKILL.md` (Phase 0, Phase 8), `skills/skill-router/SKILL.md` (Step 5), `skills/neural-memory/SKILL.md`
252
-
253
- ---
254
-
255
- ### 12. MINIMUM 3 AGENTS FOR ORCHESTRATION
256
- **Antigravity Pattern**: Orchestration = minimum 3 different agents.
257
-
258
- **Rune Implementation**: **YES** ✓ (cook coordinates 20+ agents)
259
-
260
- - **cook skill orchestrates**:
261
- - Phase 1: scout (understand) + ba (requirements)
262
- - Phase 2: plan (structure) + brainstorm (explore options)
263
- - Phase 3: test (TDD setup)
264
- - Phase 4: fix (apply changes)
265
- - Phase 5a: preflight (quality gate)
266
- - Phase 5b: sentinel (security gate)
267
- - Phase 6: verification (run tests, lint, build)
268
- - Phase 8: neural-memory (capture), git (commit)
269
- - **Total agents called**: 12+ per typical feature
270
- - **Severity**: EXCEEDS AG — Rune has far more sophisticated orchestration (12+ vs minimum 3)
271
- - **File**: `skills/cook/SKILL.md`
272
-
273
- ---
274
-
275
- ### 13. GEMINI.md (IDE-Level Rules)
276
- **Antigravity Pattern**: IDE-level rules file that forces all behavior.
277
-
278
- **Rune Implementation**: **NO** ✗ (Different approach)
279
-
280
- - **What Rune has**:
281
- - `CLAUDE.md` (project-level configuration) — defines tech stack, conventions, skill usage
282
- - `C:/Users/X/.claude/CLAUDE.md` (user-level global instructions) — personal preferences, coding style
283
- - `skills/*/SKILL.md` (individual skill rules) — constraints and workflows
284
- - `extensions/*/PACK.md` (domain pack rules) — domain-specific patterns
285
- - Compiler transforms (cross-references, tool-names, hooks, branding) for enforcement across platforms
286
- - **What Rune lacks**: Single GEMINI.md IDE-level rules file
287
- - **Why**: Rune's skills ARE the rules. Rules are distributed (one per skill) rather than centralized
288
- - **Rune's alternative**: Rules are enforced at skill invocation time via skill-router (Step 3 anti-rationalization gate)
289
- - **Severity**: LOW — Different design philosophy (distributed skills vs centralized rules)
290
- - **Architectural insight**: Rune's approach is more modular and composable; GEMINI.md is more unified
291
-
292
- ---
293
-
294
- ## Gap Summary Table
295
-
296
- | Feature | Rune | AG | Gap | Severity | Recommendation |
297
- |---------|------|----|----|----------|-----------------|
298
- | 1. Request Classifier | PARTIAL | YES | Flexible intent routing vs fixed 6 types | LOW | Consider enum layer if AG-compatibility needed |
299
- | 2. Agent Routing | YES | YES | skill-router (Tier 1/2/3) vs AG's 4-step | NONE | Rune exceeds |
300
- | 3. Boundary Enforcement | PARTIAL | YES | Skill-based vs file-ownership | LOW | Add file-watch enforcement if needed |
301
- | 4. Socratic Gate | YES | YES | ba + brainstorm vs AG's Q template | NONE | Rune exceeds (dynamic vs static) |
302
- | 5. Behavioral Modes | PARTIAL | YES | 3 contexts vs 7 modes | LOW | Add TEACH, BRAINSTORM_VISION modes |
303
- | 6. App Templates | NO | YES | Out of scope | MEDIUM | Not a Rune priority |
304
- | 7. Master Checklist | YES | YES | preflight + sentinel + verification | NONE | Rune exceeds |
305
- | 8. Auto-Preview | NO | YES | Dev server mgt | LOW | Future server-pilot skill |
306
- | 9. Session Manager | YES | YES | session-bridge + scout vs AG's state mgr | NONE | Rune exceeds |
307
- | 10. Plan-Before-Code | YES | YES | cook HARD-GATE + plan skill | NONE | Rune exceeds |
308
- | 11. Context Passing | YES | YES | Intra + cross-session (neural-memory) | NONE | Rune exceeds |
309
- | 12. Min 3 Agents | YES | YES | cook orchestrates 12+| NONE | Rune exceeds |
310
- | 13. GEMINI.md | NO | YES | Distributed skills vs centralized rules | LOW | Different architecture |
311
-
312
- ---
313
-
314
- ## Strategic Insights
315
-
316
- ### What Rune Does Better Than Antigravity
317
-
318
- 1. **Orchestration depth** — cook manages 12+ agents vs AG's assumed 3–5
319
- 2. **Cross-session persistence** — neural-memory (semantic graph) vs AG's file-based session state
320
- 3. **Plan sophistication** — master plan + phase files (Amateur-Proof) vs single plan
321
- 4. **Anti-rationalization** — 8 explicit "thought traps" blocked in skill-router vs 4-step AG checklist
322
- 5. **Domain packs** — 13 L4 extension packs (ui, backend, trading, saas, etc.) vs 13 AG templates (different model)
323
- 6. **Skill mesh** — 58 skills, 200+ connections vs AG's monolithic orchestrator
324
- 7. **Security gating** — sentinel (BLOCK enforcement) + OWASP scanning vs generic verification
325
- 8. **Escalation chains** — debug → brainstorm rescue → plan redesign vs basic debug-fix
326
-
327
- ### What Antigravity Kit Offers That Rune Doesn't
328
-
329
- 1. **Fixed request types** — 6-type enum (QUESTION/SURVEY/SIMPLE/COMPLEX/DESIGN/SLASH) provides predictability
330
- 2. **App templates** — 13 pre-built scaffolds (nextjs-saas, flutter, etc.) vs Rune's generic scaffold
331
- 3. **Dev server orchestration** — Explicit start/stop/status lifecycle
332
- 4. **Centralized behavior rules** — GEMINI.md vs skill-distributed rules
333
- 5. **Unified behavioral modes** — 7 global modes vs Rune's 3 contexts
334
-
335
- ### Synthesis: Where Rune Needs Strengthening
336
-
337
- | Gap | Quick Fix | Medium Effort | Long-term |
338
- |-----|-----------|--------------|-----------|
339
- | Enum request classifier | Add _classify_intent() helper (return enum) | Embed in skill-router | Part of adaptive routing |
340
- | More behavioral modes | Add contexts/teach.md, contexts/vision.md | Merge into skill workflows | H4 horizon: per-skill context injection |
341
- | Template collection | Link to create-* tools in scaffold skill | Build 5 templates (@rune/nextjs-saas, etc.) | Template marketplace (L4 community packs) |
342
- | GEMINI.md alternative | Create .rune/rules.md (centralized) | Export rules from skills | H3: rules-as-code compilation |
343
- | Dev server automation | Add browser-pilot server-watch feature | New server-pilot skill (L3) | Docker orchestration (devops pack) |
344
-
345
- ---
346
-
347
- ## Conclusion
348
-
349
- **Rune is architecturally SUPERIOR to Antigravity Kit** on the dimensions that matter most:
350
-
351
- - **Orchestration**: 12+ vs 3 agents
352
- - **Plan quality**: Master + phases vs monolithic
353
- - **Cross-session learning**: neural-memory vs session files
354
- - **Skill depth**: 58 skills vs 13 features
355
- - **Enforcement**: skill-router HARD-GATES vs 4-step checklist
356
-
357
- **Antigravity Kit has value in these areas**:
358
-
359
- - **Simplicity**: Fixed 6-type classifier (predictable)
360
- - **Templates**: 13 pre-built scaffolds (quick start)
361
- - **Unified rules**: GEMINI.md (single source of truth)
362
-
363
- **Recommendation**: Rune should selectively adopt AG patterns:
364
- 1. Add enum-based intent classifier as OPTIONAL layer over skill-router
365
- 2. Expand behavioral contexts to cover AG's 7 modes
366
- 3. Publish 5 reference templates for @rune/nextjs-saas, @rune/flutter, etc.
367
- 4. Create `.rune/rules.md` as centralized behavior rules (Rune's GEMINI.md equivalent)
368
-
369
- These enhancements would make Rune AG-compatible while preserving Rune's superior architecture.