@rune-kit/rune 2.10.0 → 2.12.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 (240) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +65 -6
  3. package/commands/rune.md +168 -168
  4. package/compiler/__tests__/detect-invariants.test.js +136 -0
  5. package/compiler/__tests__/doctor-mesh.test.js +229 -0
  6. package/compiler/__tests__/hook-dispatch.test.js +91 -0
  7. package/compiler/__tests__/hooks-antigravity.test.js +118 -0
  8. package/compiler/__tests__/hooks-cursor.test.js +139 -0
  9. package/compiler/__tests__/hooks-install.test.js +305 -0
  10. package/compiler/__tests__/hooks-merge.test.js +204 -0
  11. package/compiler/__tests__/hooks-tiers.test.js +519 -0
  12. package/compiler/__tests__/hooks-windsurf.test.js +115 -0
  13. package/compiler/__tests__/inject-claude-md.test.js +152 -0
  14. package/compiler/__tests__/load-invariants.test.js +408 -0
  15. package/compiler/__tests__/onboard-invariants.test.js +240 -0
  16. package/compiler/adapters/hooks/antigravity.js +140 -0
  17. package/compiler/adapters/hooks/claude.js +166 -0
  18. package/compiler/adapters/hooks/cursor.js +191 -0
  19. package/compiler/adapters/hooks/index.js +82 -0
  20. package/compiler/adapters/hooks/tier-emitter.js +182 -0
  21. package/compiler/adapters/hooks/windsurf.js +202 -0
  22. package/compiler/bin/rune.js +196 -6
  23. package/compiler/commands/hook-dispatch.js +87 -0
  24. package/compiler/commands/hooks/install.js +120 -0
  25. package/compiler/commands/hooks/merge.js +211 -0
  26. package/compiler/commands/hooks/presets.js +116 -0
  27. package/compiler/commands/hooks/status.js +112 -0
  28. package/compiler/commands/hooks/tiers.js +221 -0
  29. package/compiler/commands/hooks/uninstall.js +94 -0
  30. package/compiler/doctor.js +236 -0
  31. package/contexts/dev.md +34 -34
  32. package/contexts/research.md +43 -43
  33. package/contexts/review.md +55 -55
  34. package/extensions/ai-ml/PACK.md +88 -88
  35. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  36. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  37. package/extensions/ai-ml/skills/deep-research.md +146 -146
  38. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  39. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  40. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  41. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  42. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  43. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  44. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  45. package/extensions/analytics/PACK.md +92 -92
  46. package/extensions/analytics/skills/ab-testing.md +72 -72
  47. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  48. package/extensions/analytics/skills/data-validation.md +68 -68
  49. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  50. package/extensions/analytics/skills/sql-patterns.md +57 -57
  51. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  52. package/extensions/analytics/skills/tracking-setup.md +71 -71
  53. package/extensions/backend/PACK.md +104 -104
  54. package/extensions/backend/skills/api-patterns.md +84 -84
  55. package/extensions/backend/skills/async-pipeline.md +193 -193
  56. package/extensions/backend/skills/auth-patterns.md +97 -97
  57. package/extensions/backend/skills/background-jobs.md +133 -133
  58. package/extensions/backend/skills/caching-patterns.md +108 -108
  59. package/extensions/backend/skills/cli-generation.md +133 -133
  60. package/extensions/backend/skills/database-patterns.md +87 -87
  61. package/extensions/backend/skills/middleware-patterns.md +104 -104
  62. package/extensions/chrome-ext/PACK.md +93 -93
  63. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  64. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  65. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  66. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  67. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  68. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  69. package/extensions/content/PACK.md +96 -96
  70. package/extensions/content/skills/blog-patterns.md +88 -88
  71. package/extensions/content/skills/cms-integration.md +131 -131
  72. package/extensions/content/skills/content-scoring.md +107 -107
  73. package/extensions/content/skills/i18n.md +83 -83
  74. package/extensions/content/skills/mdx-authoring.md +137 -137
  75. package/extensions/content/skills/reference.md +1014 -1014
  76. package/extensions/content/skills/seo-patterns.md +67 -67
  77. package/extensions/content/skills/video-repurpose.md +153 -153
  78. package/extensions/devops/PACK.md +101 -101
  79. package/extensions/devops/skills/chaos-testing.md +67 -67
  80. package/extensions/devops/skills/ci-cd.md +75 -75
  81. package/extensions/devops/skills/docker.md +58 -58
  82. package/extensions/devops/skills/edge-serverless.md +163 -163
  83. package/extensions/devops/skills/infra-as-code.md +158 -158
  84. package/extensions/devops/skills/kubernetes.md +110 -110
  85. package/extensions/devops/skills/monitoring.md +57 -57
  86. package/extensions/devops/skills/server-setup.md +64 -64
  87. package/extensions/devops/skills/ssl-domain.md +42 -42
  88. package/extensions/ecommerce/PACK.md +116 -116
  89. package/extensions/ecommerce/skills/cart-system.md +79 -79
  90. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  91. package/extensions/ecommerce/skills/order-management.md +126 -126
  92. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  93. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  94. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  95. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  96. package/extensions/gamedev/PACK.md +142 -142
  97. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  98. package/extensions/gamedev/skills/audio-system.md +129 -129
  99. package/extensions/gamedev/skills/camera-system.md +87 -87
  100. package/extensions/gamedev/skills/ecs.md +98 -98
  101. package/extensions/gamedev/skills/game-loops.md +72 -72
  102. package/extensions/gamedev/skills/input-system.md +199 -199
  103. package/extensions/gamedev/skills/multiplayer.md +180 -180
  104. package/extensions/gamedev/skills/particles.md +105 -105
  105. package/extensions/gamedev/skills/physics-engine.md +89 -89
  106. package/extensions/gamedev/skills/scene-management.md +146 -146
  107. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  108. package/extensions/gamedev/skills/webgl.md +71 -71
  109. package/extensions/mobile/PACK.md +106 -106
  110. package/extensions/mobile/skills/app-store-connect.md +152 -152
  111. package/extensions/mobile/skills/app-store-prep.md +66 -66
  112. package/extensions/mobile/skills/deep-linking.md +109 -109
  113. package/extensions/mobile/skills/flutter.md +60 -60
  114. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  115. package/extensions/mobile/skills/native-bridge.md +66 -66
  116. package/extensions/mobile/skills/ota-updates.md +97 -97
  117. package/extensions/mobile/skills/push-notifications.md +111 -111
  118. package/extensions/mobile/skills/react-native.md +82 -82
  119. package/extensions/saas/PACK.md +116 -116
  120. package/extensions/saas/skills/billing-integration.md +200 -200
  121. package/extensions/saas/skills/feature-flags.md +130 -130
  122. package/extensions/saas/skills/multi-tenant.md +103 -103
  123. package/extensions/saas/skills/onboarding-flow.md +139 -139
  124. package/extensions/saas/skills/subscription-flow.md +95 -95
  125. package/extensions/saas/skills/team-management.md +144 -144
  126. package/extensions/security/PACK.md +99 -99
  127. package/extensions/security/skills/api-security.md +140 -140
  128. package/extensions/security/skills/compliance.md +68 -68
  129. package/extensions/security/skills/owasp-audit.md +64 -64
  130. package/extensions/security/skills/pentest-patterns.md +77 -77
  131. package/extensions/security/skills/secret-mgmt.md +65 -65
  132. package/extensions/security/skills/supply-chain.md +65 -65
  133. package/extensions/trading/PACK.md +80 -80
  134. package/extensions/trading/skills/chart-components.md +55 -55
  135. package/extensions/trading/skills/experiment-loop.md +125 -125
  136. package/extensions/trading/skills/fintech-patterns.md +47 -47
  137. package/extensions/trading/skills/indicator-library.md +58 -58
  138. package/extensions/trading/skills/quant-analysis.md +111 -111
  139. package/extensions/trading/skills/realtime-data.md +58 -58
  140. package/extensions/trading/skills/trade-logic.md +104 -104
  141. package/extensions/ui/PACK.md +130 -130
  142. package/extensions/ui/skills/a11y-audit.md +91 -91
  143. package/extensions/ui/skills/animation-patterns.md +127 -127
  144. package/extensions/ui/skills/component-patterns.md +100 -100
  145. package/extensions/ui/skills/design-decision.md +108 -108
  146. package/extensions/ui/skills/design-system.md +68 -68
  147. package/extensions/ui/skills/landing-patterns.md +155 -155
  148. package/extensions/ui/skills/palette-picker.md +173 -173
  149. package/extensions/ui/skills/react-health.md +90 -90
  150. package/extensions/ui/skills/type-system.md +125 -125
  151. package/extensions/ui/skills/web-vitals.md +153 -153
  152. package/extensions/zalo/PACK.md +145 -145
  153. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  154. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  155. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  156. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  157. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  158. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  159. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  160. package/hooks/auto-format/index.cjs +48 -48
  161. package/hooks/hooks.json +111 -111
  162. package/hooks/post-session-reflect/index.cjs +189 -189
  163. package/hooks/pre-compact/index.cjs +95 -95
  164. package/hooks/run-hook.cmd +1 -1
  165. package/hooks/secrets-scan/index.cjs +100 -100
  166. package/hooks/session-start/index.cjs +71 -71
  167. package/hooks/typecheck/index.cjs +65 -65
  168. package/package.json +63 -63
  169. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  170. package/references/ui-pro-max-data/charts.csv +26 -26
  171. package/references/ui-pro-max-data/colors.csv +161 -161
  172. package/references/ui-pro-max-data/styles.csv +68 -68
  173. package/references/ui-pro-max-data/typography.csv +74 -74
  174. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  175. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  176. package/skills/adversary/SKILL.md +283 -283
  177. package/skills/asset-creator/SKILL.md +157 -157
  178. package/skills/audit/SKILL.md +147 -2
  179. package/skills/autopsy/SKILL.md +335 -335
  180. package/skills/ba/SKILL.md +85 -1
  181. package/skills/brainstorm/SKILL.md +380 -342
  182. package/skills/browser-pilot/SKILL.md +169 -168
  183. package/skills/constraint-check/SKILL.md +165 -165
  184. package/skills/context-engine/SKILL.md +408 -404
  185. package/skills/cook/SKILL.md +917 -863
  186. package/skills/db/SKILL.md +273 -273
  187. package/skills/debug/SKILL.md +465 -465
  188. package/skills/dependency-doctor/SKILL.md +265 -235
  189. package/skills/deploy/SKILL.md +274 -231
  190. package/skills/design/DESIGN-REFERENCE.md +365 -365
  191. package/skills/design/SKILL.md +590 -589
  192. package/skills/doc-processor/SKILL.md +254 -254
  193. package/skills/docs/SKILL.md +374 -374
  194. package/skills/docs-seeker/SKILL.md +178 -177
  195. package/skills/fix/SKILL.md +332 -330
  196. package/skills/git/SKILL.md +339 -339
  197. package/skills/hallucination-guard/SKILL.md +220 -219
  198. package/skills/incident/SKILL.md +254 -253
  199. package/skills/integrity-check/SKILL.md +169 -169
  200. package/skills/journal/SKILL.md +241 -240
  201. package/skills/launch/SKILL.md +344 -344
  202. package/skills/logic-guardian/SKILL.md +269 -251
  203. package/skills/marketing/SKILL.md +351 -289
  204. package/skills/mcp-builder/SKILL.md +425 -425
  205. package/skills/neural-memory/SKILL.md +359 -362
  206. package/skills/onboard/SKILL.md +432 -403
  207. package/skills/onboard/references/invariants-template.md +76 -0
  208. package/skills/onboard/scripts/detect-invariants.js +439 -0
  209. package/skills/onboard/scripts/inject-claude-md.js +150 -0
  210. package/skills/onboard/scripts/onboard-invariants.js +194 -0
  211. package/skills/perf/SKILL.md +347 -346
  212. package/skills/plan/SKILL.md +435 -428
  213. package/skills/preflight/SKILL.md +415 -415
  214. package/skills/problem-solver/SKILL.md +380 -284
  215. package/skills/rescue/SKILL.md +474 -474
  216. package/skills/research/SKILL.md +4 -0
  217. package/skills/retro/SKILL.md +3 -1
  218. package/skills/review/SKILL.md +614 -588
  219. package/skills/review-intake/SKILL.md +249 -249
  220. package/skills/safeguard/SKILL.md +200 -200
  221. package/skills/sast/SKILL.md +190 -190
  222. package/skills/scaffold/SKILL.md +328 -287
  223. package/skills/scope-guard/SKILL.md +183 -180
  224. package/skills/scout/SKILL.md +269 -263
  225. package/skills/sentinel/SKILL.md +384 -381
  226. package/skills/sentinel-env/SKILL.md +254 -254
  227. package/skills/sequential-thinking/SKILL.md +234 -234
  228. package/skills/session-bridge/SKILL.md +595 -543
  229. package/skills/session-bridge/scripts/load-invariants.js +397 -0
  230. package/skills/skill-forge/SKILL.md +581 -581
  231. package/skills/skill-router/SKILL.md +3 -0
  232. package/skills/slides/SKILL.md +19 -0
  233. package/skills/surgeon/SKILL.md +215 -215
  234. package/skills/team/SKILL.md +557 -537
  235. package/skills/test/SKILL.md +620 -614
  236. package/skills/trend-scout/SKILL.md +145 -145
  237. package/skills/verification/SKILL.md +334 -326
  238. package/skills/video-creator/SKILL.md +201 -201
  239. package/skills/watchdog/SKILL.md +168 -168
  240. package/skills/worktree/SKILL.md +140 -140
@@ -1,374 +1,374 @@
1
- ---
2
- name: docs
3
- description: Auto-generate and maintain project documentation. Creates README, API docs, architecture docs, changelogs, and keeps them in sync with code changes. The "docs are never outdated" skill.
4
- metadata:
5
- author: runedev
6
- version: "0.3.0"
7
- layer: L2
8
- model: sonnet
9
- group: delivery
10
- tools: "Read, Write, Edit, Glob, Grep"
11
- emit: docs.updated
12
- ---
13
-
14
- # docs
15
-
16
- ## Purpose
17
-
18
- Documentation lifecycle manager. Generates initial project documentation, keeps docs in sync with code changes, produces API references, and auto-generates changelogs. Solves the #1 documentation problem: docs that exist but are outdated.
19
-
20
- <HARD-GATE>
21
- Docs MUST be generated from actual code, not invented. Every statement in generated docs must be traceable to a specific file, function, or configuration in the codebase. If code doesn't exist yet, docs describe the PLAN, not the implementation.
22
- </HARD-GATE>
23
-
24
- ## Triggers
25
-
26
- - Called by `scaffold` Phase 7 for initial documentation generation
27
- - Called by `cook` post-Phase 7 to update docs after feature implementation
28
- - Called by `launch` pre-deploy to ensure docs are current
29
- - `/rune docs init` — first-time documentation generation
30
- - `/rune docs update` — sync docs with recent code changes
31
- - `/rune docs api` — generate API documentation
32
- - `/rune docs changelog` — auto-generate changelog from git history
33
-
34
- ## Calls (outbound)
35
-
36
- - `scout` (L2): scan codebase for documentation targets (routes, exports, components, configs)
37
- - `doc-processor` (L3): generate PDF/DOCX exports if requested
38
- - `git` (L3): read commit history for changelog generation
39
-
40
- ## Called By (inbound)
41
-
42
- - `scaffold` (L1): Phase 7 — generate initial docs for new project
43
- - `cook` (L1): post-implementation — update docs for changed modules
44
- - `launch` (L1): pre-deploy — verify docs are current
45
- - `mcp-builder` (L2): generate MCP server documentation
46
- - User: `/rune docs` direct invocation
47
-
48
- ## Modes
49
-
50
- ### Init Mode — `/rune docs init`
51
-
52
- First-time documentation generation for a project.
53
-
54
- ### Update Mode — `/rune docs update`
55
-
56
- Incremental sync — update only docs affected by recent code changes.
57
-
58
- ### API Mode — `/rune docs api`
59
-
60
- Generate or update API documentation specifically.
61
-
62
- ### Changelog Mode — `/rune docs changelog`
63
-
64
- Auto-generate changelog from git commit history.
65
-
66
- ## Executable Steps
67
-
68
- ### Init Mode
69
-
70
- #### Step 1 — Scan Codebase
71
-
72
- Invoke `rune:scout` to extract:
73
- - Project name, description, tech stack
74
- - Directory structure and key files
75
- - Entry points (main, index, app)
76
- - Public API surface (exports, routes, components)
77
- - Configuration files (.env.example, config patterns)
78
- - Existing docs (if any — merge, don't overwrite)
79
-
80
- #### Step 2 — Generate README.md
81
-
82
- Structure:
83
- ```markdown
84
- # [Project Name]
85
- [One-line description]
86
-
87
- ## Quick Start
88
- [3-5 commands to get running: install, configure, start]
89
-
90
- ## Features
91
- [Bullet list extracted from code — routes, components, capabilities]
92
-
93
- ## Tech Stack
94
- [Detected from package.json, requirements.txt, Cargo.toml, etc.]
95
-
96
- ## Project Structure
97
- [Key directories with one-line descriptions]
98
-
99
- ## Configuration
100
- [Environment variables from .env.example with descriptions]
101
-
102
- ## Development
103
- [Dev server, test, lint, build commands]
104
-
105
- ## API Reference
106
- [Link to API.md if applicable, or inline summary]
107
-
108
- ## License
109
- [Detected from LICENSE file or package.json]
110
- ```
111
-
112
- #### Step 3 — Generate ARCHITECTURE.md (if project has 10+ files)
113
-
114
- Structure:
115
- ```markdown
116
- # Architecture
117
-
118
- ## Overview
119
- [System diagram in text/mermaid — components and data flow]
120
-
121
- ## Key Decisions
122
- [Detected patterns: framework choice, state management, DB, auth approach]
123
-
124
- ## Module Map
125
- [Each top-level directory: purpose, key files, dependencies]
126
-
127
- ## Data Flow
128
- [Request lifecycle or data pipeline description]
129
- ```
130
-
131
- #### Step 4 — Generate API.md (if routes/endpoints detected)
132
-
133
- Scan route files and extract:
134
- - HTTP method + path
135
- - Request parameters (path, query, body)
136
- - Response shape
137
- - Authentication requirements
138
- - Error responses
139
-
140
- Format as markdown table or OpenAPI-compatible reference.
141
-
142
- #### Step 5 — Report
143
-
144
- Present generated docs to user with summary:
145
- - Files generated: [list]
146
- - Coverage: [what's documented vs what exists]
147
- - Gaps: [code areas without docs — suggest next steps]
148
-
149
- ### Update Mode
150
-
151
- #### Step 1 — Detect Changes
152
-
153
- Read `git diff` since last docs update (tracked via git log on doc files or `.rune/docs-sync.json`).
154
-
155
- Identify:
156
- - New files/modules → need new doc sections
157
- - Changed functions/routes → need doc updates
158
- - Deleted code → need doc removal
159
- - New configuration → need config doc update
160
-
161
- #### Step 2 — Update Affected Sections
162
-
163
- For each changed area:
164
- 1. Read the changed code
165
- 2. Find corresponding doc section
166
- 3. Update doc to match current code
167
- 4. If doc section doesn't exist → create it
168
- 5. If code was deleted → remove or mark as deprecated in docs
169
-
170
- <HARD-GATE>
171
- Never silently remove doc content. If code was deleted, mark the doc section as "Removed in [commit]" or ask user before deleting the doc section.
172
- </HARD-GATE>
173
-
174
- #### Step 3 — Generate Changelog Entry
175
-
176
- Delegate to `rune:git changelog` to produce a changelog entry from commits since last docs update.
177
-
178
- #### Step 4 — Cross-Doc Consistency Pass
179
-
180
- > From gstack (garrytan/gstack, 50.9k★): "Cross-document consistency prevents the #2 docs problem: docs that exist but contradict each other."
181
-
182
- After updating any doc, verify consistency across all project documentation:
183
-
184
- | Check | Files | What to Compare |
185
- |-------|-------|----------------|
186
- | **Version numbers** | README, CLAUDE.md, package.json, CHANGELOG | Must all match current version |
187
- | **Feature lists** | README, landing page, CLAUDE.md | Same features listed (may differ in detail level) |
188
- | **Stats** | README, CLAUDE.md, landing page, dashboard | Skill count, test count, signal count must match |
189
- | **Commands** | README, CLAUDE.md, docs/ | Same commands with same flags |
190
- | **Tech stack** | README, ARCHITECTURE.md, CLAUDE.md | Consistent framework/library references |
191
-
192
- ```
193
- Cross-Doc Consistency:
194
- - [x] README.md ↔ CLAUDE.md: versions match, commands match
195
- - [x] README.md ↔ docs/index.html: stats match, features match
196
- - [ ] README.md says "62 skills" but CLAUDE.md says "59" → FIX CLAUDE.md
197
- ```
198
-
199
- **Fix inconsistencies immediately** — don't just report them. Update the stale doc to match the source of truth (usually the code or the most recently updated doc).
200
-
201
- #### Step 5 — Report
202
-
203
- Show user: what was updated, what was added, what was flagged for review. Include Cross-Doc Consistency results.
204
-
205
- ### API Mode
206
-
207
- #### Step 1 — Detect API Framework
208
-
209
- | Framework | Route Pattern | File Pattern |
210
- |-----------|--------------|--------------|
211
- | Express | `router.get/post/put/delete` | `routes/*.ts`, `*.router.ts` |
212
- | FastAPI | `@app.get/post/put/delete` | `routers/*.py`, `main.py` |
213
- | NestJS | `@Get/@Post/@Put/@Delete` | `*.controller.ts` |
214
- | Next.js App | `export async function GET/POST` | `app/**/route.ts` |
215
- | Next.js Pages | `export default function handler` | `pages/api/**/*.ts` |
216
- | SvelteKit | `export function GET/POST` | `src/routes/**/+server.ts` |
217
- | Hono | `app.get/post/put/delete` | `src/*.ts` |
218
-
219
- #### Step 2 — Extract Endpoints
220
-
221
- For each detected route:
222
- - Method (GET, POST, PUT, DELETE, PATCH)
223
- - Path (with parameters highlighted)
224
- - Request: params, query, body shape (from Zod schemas, TypeScript types, Pydantic models)
225
- - Response: shape (from return type or response helper)
226
- - Auth: required? (detect middleware like `authMiddleware`, `@UseGuards`)
227
- - Description: from JSDoc/docstring if available
228
-
229
- #### Step 3 — Generate API Reference
230
-
231
- Format as markdown:
232
- ```markdown
233
- # API Reference
234
-
235
- ## Authentication
236
- [Auth mechanism description]
237
-
238
- ## Endpoints
239
-
240
- ### `POST /api/auth/login`
241
- **Description**: Authenticate user and return tokens
242
- **Auth**: None
243
- **Request Body**:
244
- | Field | Type | Required | Description |
245
- |-------|------|----------|-------------|
246
- | email | string | yes | User email |
247
- | password | string | yes | User password |
248
-
249
- **Response** (200):
250
- ```json
251
- { "token": "string", "refreshToken": "string" }
252
- ```
253
-
254
- **Errors**:
255
- - 401: Invalid credentials
256
- - 422: Validation error
257
- ```
258
-
259
- #### Step 4 — Output
260
-
261
- Save to `docs/API.md` or project-specific location. If OpenAPI requested, generate `openapi.yaml`.
262
-
263
- ### Changelog Mode
264
-
265
- #### Step 1 — Delegate to Git
266
-
267
- Invoke `rune:git changelog` to group commits by type and format as Keep a Changelog.
268
-
269
- #### Step 2 — Enhance
270
-
271
- Add context to raw changelog:
272
- - Link PR numbers to actual descriptions
273
- - Group related changes under feature headers
274
- - Highlight breaking changes prominently
275
-
276
- #### Step 3 — Output
277
-
278
- Append to or update `CHANGELOG.md`.
279
-
280
- ## Output Format
281
-
282
- ### Init Mode Output
283
- Files generated in project root:
284
- - `README.md` — Quick Start, Features, Tech Stack, Structure, Config, Dev Commands
285
- - `ARCHITECTURE.md` — Overview diagram, Key Decisions, Module Map, Data Flow (if 10+ files)
286
- - `docs/API.md` — Endpoint reference with method, path, params, response, auth (if routes detected)
287
-
288
- ### Update Mode Output
289
- Modified doc sections with change summary:
290
- ```
291
- Docs Update Report:
292
- - Updated: [list of doc sections modified]
293
- - Added: [new sections for new code]
294
- - Flagged: [stale sections referencing deleted code]
295
- - Changelog: [entry appended to CHANGELOG.md]
296
- ```
297
-
298
- ### API Mode Output
299
- `docs/API.md` — markdown reference per endpoint:
300
- ```
301
- ### `METHOD /path/:param`
302
- **Description**: [from JSDoc/docstring]
303
- **Auth**: [required/none]
304
- **Request**: [params, query, body table]
305
- **Response**: [shape with status codes]
306
- **Errors**: [error codes and descriptions]
307
- ```
308
-
309
- ### Changelog Mode Output
310
- `CHANGELOG.md` — Keep a Changelog format grouped by: Added, Fixed, Changed, Removed.
311
-
312
- ## Constraints
313
-
314
- 1. MUST generate docs from actual code — never invent features or APIs that don't exist
315
- 2. MUST preserve existing docs — update sections, don't overwrite entire files
316
- 3. MUST detect doc staleness — flag sections that reference deleted/changed code
317
- 4. MUST include Quick Start in every README — users need to get running in < 2 minutes
318
- 5. MUST NOT generate docs for code that doesn't exist yet (unless explicitly creating spec docs)
319
- 6. API docs MUST match actual route signatures — wrong API docs are worse than no docs
320
-
321
- ## Returns
322
-
323
- | Artifact | Format | Location |
324
- |----------|--------|----------|
325
- | README.md | Markdown | project root |
326
- | ARCHITECTURE.md | Markdown | project root (if 10+ files) |
327
- | API reference | Markdown | `docs/API.md` |
328
- | Changelog entry | Markdown (Keep a Changelog) | `CHANGELOG.md` |
329
- | Docs update report | Markdown | inline (chat output) |
330
-
331
- **Scope guardrail:** Documents only what exists in the codebase — never invents features, endpoints, or APIs.
332
-
333
- ## Sharp Edges
334
-
335
- | Failure Mode | Severity | Mitigation |
336
- |---|---|---|
337
- | Inventing API endpoints that don't exist | CRITICAL | Constraint 1: scan actual route files, not guess |
338
- | Overwriting user-written README sections | HIGH | Constraint 2: merge, don't overwrite — detect custom sections |
339
- | Stale docs after code changes | HIGH | Update mode detects diffs and updates affected sections |
340
- | API docs with wrong request/response shapes | HIGH | Extract from Zod/Pydantic/TypeScript types, not from memory |
341
- | Missing Quick Start section | MEDIUM | Constraint 4: every README has Quick Start |
342
- | Changelog with orphan PR links | LOW | Validate PR numbers exist before linking |
343
- | Cross-document inconsistency (README says X, CLAUDE.md says Y) | HIGH | Step 7: Cross-Doc Consistency Pass — verify stats, versions, and feature lists match across all docs |
344
- | Updating one doc but not others (stats drift) | HIGH | After any doc update, sweep all related docs for stale stats — especially README ↔ CLAUDE.md ↔ landing page |
345
-
346
- ## Done When
347
-
348
- ### Init Mode
349
- - Codebase scanned with scout
350
- - README.md generated with Quick Start, Features, Tech Stack, Structure
351
- - ARCHITECTURE.md generated (if 10+ files)
352
- - API.md generated (if routes detected)
353
- - Coverage report presented to user
354
-
355
- ### Update Mode
356
- - Changes since last doc update detected
357
- - Affected doc sections updated
358
- - Changelog entry generated
359
- - Update report presented to user
360
-
361
- ### API Mode
362
- - API framework detected
363
- - All endpoints extracted with method, path, request, response
364
- - API reference generated in markdown
365
- - Saved to docs/API.md
366
-
367
- ### Changelog Mode
368
- - Commits grouped by type
369
- - Formatted as Keep a Changelog
370
- - CHANGELOG.md updated
371
-
372
- ## Cost Profile
373
-
374
- ~2000-5000 tokens input, ~1000-3000 tokens output. Sonnet — documentation requires understanding code patterns but not deep architectural reasoning.
1
+ ---
2
+ name: docs
3
+ description: Auto-generate and maintain project documentation. Creates README, API docs, architecture docs, changelogs, and keeps them in sync with code changes. The "docs are never outdated" skill.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.3.0"
7
+ layer: L2
8
+ model: sonnet
9
+ group: delivery
10
+ tools: "Read, Write, Edit, Glob, Grep"
11
+ emit: docs.updated
12
+ ---
13
+
14
+ # docs
15
+
16
+ ## Purpose
17
+
18
+ Documentation lifecycle manager. Generates initial project documentation, keeps docs in sync with code changes, produces API references, and auto-generates changelogs. Solves the #1 documentation problem: docs that exist but are outdated.
19
+
20
+ <HARD-GATE>
21
+ Docs MUST be generated from actual code, not invented. Every statement in generated docs must be traceable to a specific file, function, or configuration in the codebase. If code doesn't exist yet, docs describe the PLAN, not the implementation.
22
+ </HARD-GATE>
23
+
24
+ ## Triggers
25
+
26
+ - Called by `scaffold` Phase 7 for initial documentation generation
27
+ - Called by `cook` post-Phase 7 to update docs after feature implementation
28
+ - Called by `launch` pre-deploy to ensure docs are current
29
+ - `/rune docs init` — first-time documentation generation
30
+ - `/rune docs update` — sync docs with recent code changes
31
+ - `/rune docs api` — generate API documentation
32
+ - `/rune docs changelog` — auto-generate changelog from git history
33
+
34
+ ## Calls (outbound)
35
+
36
+ - `scout` (L2): scan codebase for documentation targets (routes, exports, components, configs)
37
+ - `doc-processor` (L3): generate PDF/DOCX exports if requested
38
+ - `git` (L3): read commit history for changelog generation
39
+
40
+ ## Called By (inbound)
41
+
42
+ - `scaffold` (L1): Phase 7 — generate initial docs for new project
43
+ - `cook` (L1): post-implementation — update docs for changed modules
44
+ - `launch` (L1): pre-deploy — verify docs are current
45
+ - `mcp-builder` (L2): generate MCP server documentation
46
+ - User: `/rune docs` direct invocation
47
+
48
+ ## Modes
49
+
50
+ ### Init Mode — `/rune docs init`
51
+
52
+ First-time documentation generation for a project.
53
+
54
+ ### Update Mode — `/rune docs update`
55
+
56
+ Incremental sync — update only docs affected by recent code changes.
57
+
58
+ ### API Mode — `/rune docs api`
59
+
60
+ Generate or update API documentation specifically.
61
+
62
+ ### Changelog Mode — `/rune docs changelog`
63
+
64
+ Auto-generate changelog from git commit history.
65
+
66
+ ## Executable Steps
67
+
68
+ ### Init Mode
69
+
70
+ #### Step 1 — Scan Codebase
71
+
72
+ Invoke `rune:scout` to extract:
73
+ - Project name, description, tech stack
74
+ - Directory structure and key files
75
+ - Entry points (main, index, app)
76
+ - Public API surface (exports, routes, components)
77
+ - Configuration files (.env.example, config patterns)
78
+ - Existing docs (if any — merge, don't overwrite)
79
+
80
+ #### Step 2 — Generate README.md
81
+
82
+ Structure:
83
+ ```markdown
84
+ # [Project Name]
85
+ [One-line description]
86
+
87
+ ## Quick Start
88
+ [3-5 commands to get running: install, configure, start]
89
+
90
+ ## Features
91
+ [Bullet list extracted from code — routes, components, capabilities]
92
+
93
+ ## Tech Stack
94
+ [Detected from package.json, requirements.txt, Cargo.toml, etc.]
95
+
96
+ ## Project Structure
97
+ [Key directories with one-line descriptions]
98
+
99
+ ## Configuration
100
+ [Environment variables from .env.example with descriptions]
101
+
102
+ ## Development
103
+ [Dev server, test, lint, build commands]
104
+
105
+ ## API Reference
106
+ [Link to API.md if applicable, or inline summary]
107
+
108
+ ## License
109
+ [Detected from LICENSE file or package.json]
110
+ ```
111
+
112
+ #### Step 3 — Generate ARCHITECTURE.md (if project has 10+ files)
113
+
114
+ Structure:
115
+ ```markdown
116
+ # Architecture
117
+
118
+ ## Overview
119
+ [System diagram in text/mermaid — components and data flow]
120
+
121
+ ## Key Decisions
122
+ [Detected patterns: framework choice, state management, DB, auth approach]
123
+
124
+ ## Module Map
125
+ [Each top-level directory: purpose, key files, dependencies]
126
+
127
+ ## Data Flow
128
+ [Request lifecycle or data pipeline description]
129
+ ```
130
+
131
+ #### Step 4 — Generate API.md (if routes/endpoints detected)
132
+
133
+ Scan route files and extract:
134
+ - HTTP method + path
135
+ - Request parameters (path, query, body)
136
+ - Response shape
137
+ - Authentication requirements
138
+ - Error responses
139
+
140
+ Format as markdown table or OpenAPI-compatible reference.
141
+
142
+ #### Step 5 — Report
143
+
144
+ Present generated docs to user with summary:
145
+ - Files generated: [list]
146
+ - Coverage: [what's documented vs what exists]
147
+ - Gaps: [code areas without docs — suggest next steps]
148
+
149
+ ### Update Mode
150
+
151
+ #### Step 1 — Detect Changes
152
+
153
+ Read `git diff` since last docs update (tracked via git log on doc files or `.rune/docs-sync.json`).
154
+
155
+ Identify:
156
+ - New files/modules → need new doc sections
157
+ - Changed functions/routes → need doc updates
158
+ - Deleted code → need doc removal
159
+ - New configuration → need config doc update
160
+
161
+ #### Step 2 — Update Affected Sections
162
+
163
+ For each changed area:
164
+ 1. Read the changed code
165
+ 2. Find corresponding doc section
166
+ 3. Update doc to match current code
167
+ 4. If doc section doesn't exist → create it
168
+ 5. If code was deleted → remove or mark as deprecated in docs
169
+
170
+ <HARD-GATE>
171
+ Never silently remove doc content. If code was deleted, mark the doc section as "Removed in [commit]" or ask user before deleting the doc section.
172
+ </HARD-GATE>
173
+
174
+ #### Step 3 — Generate Changelog Entry
175
+
176
+ Delegate to `rune:git changelog` to produce a changelog entry from commits since last docs update.
177
+
178
+ #### Step 4 — Cross-Doc Consistency Pass
179
+
180
+ > From gstack (garrytan/gstack, 50.9k★): "Cross-document consistency prevents the #2 docs problem: docs that exist but contradict each other."
181
+
182
+ After updating any doc, verify consistency across all project documentation:
183
+
184
+ | Check | Files | What to Compare |
185
+ |-------|-------|----------------|
186
+ | **Version numbers** | README, CLAUDE.md, package.json, CHANGELOG | Must all match current version |
187
+ | **Feature lists** | README, landing page, CLAUDE.md | Same features listed (may differ in detail level) |
188
+ | **Stats** | README, CLAUDE.md, landing page, dashboard | Skill count, test count, signal count must match |
189
+ | **Commands** | README, CLAUDE.md, docs/ | Same commands with same flags |
190
+ | **Tech stack** | README, ARCHITECTURE.md, CLAUDE.md | Consistent framework/library references |
191
+
192
+ ```
193
+ Cross-Doc Consistency:
194
+ - [x] README.md ↔ CLAUDE.md: versions match, commands match
195
+ - [x] README.md ↔ docs/index.html: stats match, features match
196
+ - [ ] README.md says "62 skills" but CLAUDE.md says "59" → FIX CLAUDE.md
197
+ ```
198
+
199
+ **Fix inconsistencies immediately** — don't just report them. Update the stale doc to match the source of truth (usually the code or the most recently updated doc).
200
+
201
+ #### Step 5 — Report
202
+
203
+ Show user: what was updated, what was added, what was flagged for review. Include Cross-Doc Consistency results.
204
+
205
+ ### API Mode
206
+
207
+ #### Step 1 — Detect API Framework
208
+
209
+ | Framework | Route Pattern | File Pattern |
210
+ |-----------|--------------|--------------|
211
+ | Express | `router.get/post/put/delete` | `routes/*.ts`, `*.router.ts` |
212
+ | FastAPI | `@app.get/post/put/delete` | `routers/*.py`, `main.py` |
213
+ | NestJS | `@Get/@Post/@Put/@Delete` | `*.controller.ts` |
214
+ | Next.js App | `export async function GET/POST` | `app/**/route.ts` |
215
+ | Next.js Pages | `export default function handler` | `pages/api/**/*.ts` |
216
+ | SvelteKit | `export function GET/POST` | `src/routes/**/+server.ts` |
217
+ | Hono | `app.get/post/put/delete` | `src/*.ts` |
218
+
219
+ #### Step 2 — Extract Endpoints
220
+
221
+ For each detected route:
222
+ - Method (GET, POST, PUT, DELETE, PATCH)
223
+ - Path (with parameters highlighted)
224
+ - Request: params, query, body shape (from Zod schemas, TypeScript types, Pydantic models)
225
+ - Response: shape (from return type or response helper)
226
+ - Auth: required? (detect middleware like `authMiddleware`, `@UseGuards`)
227
+ - Description: from JSDoc/docstring if available
228
+
229
+ #### Step 3 — Generate API Reference
230
+
231
+ Format as markdown:
232
+ ```markdown
233
+ # API Reference
234
+
235
+ ## Authentication
236
+ [Auth mechanism description]
237
+
238
+ ## Endpoints
239
+
240
+ ### `POST /api/auth/login`
241
+ **Description**: Authenticate user and return tokens
242
+ **Auth**: None
243
+ **Request Body**:
244
+ | Field | Type | Required | Description |
245
+ |-------|------|----------|-------------|
246
+ | email | string | yes | User email |
247
+ | password | string | yes | User password |
248
+
249
+ **Response** (200):
250
+ ```json
251
+ { "token": "string", "refreshToken": "string" }
252
+ ```
253
+
254
+ **Errors**:
255
+ - 401: Invalid credentials
256
+ - 422: Validation error
257
+ ```
258
+
259
+ #### Step 4 — Output
260
+
261
+ Save to `docs/API.md` or project-specific location. If OpenAPI requested, generate `openapi.yaml`.
262
+
263
+ ### Changelog Mode
264
+
265
+ #### Step 1 — Delegate to Git
266
+
267
+ Invoke `rune:git changelog` to group commits by type and format as Keep a Changelog.
268
+
269
+ #### Step 2 — Enhance
270
+
271
+ Add context to raw changelog:
272
+ - Link PR numbers to actual descriptions
273
+ - Group related changes under feature headers
274
+ - Highlight breaking changes prominently
275
+
276
+ #### Step 3 — Output
277
+
278
+ Append to or update `CHANGELOG.md`.
279
+
280
+ ## Output Format
281
+
282
+ ### Init Mode Output
283
+ Files generated in project root:
284
+ - `README.md` — Quick Start, Features, Tech Stack, Structure, Config, Dev Commands
285
+ - `ARCHITECTURE.md` — Overview diagram, Key Decisions, Module Map, Data Flow (if 10+ files)
286
+ - `docs/API.md` — Endpoint reference with method, path, params, response, auth (if routes detected)
287
+
288
+ ### Update Mode Output
289
+ Modified doc sections with change summary:
290
+ ```
291
+ Docs Update Report:
292
+ - Updated: [list of doc sections modified]
293
+ - Added: [new sections for new code]
294
+ - Flagged: [stale sections referencing deleted code]
295
+ - Changelog: [entry appended to CHANGELOG.md]
296
+ ```
297
+
298
+ ### API Mode Output
299
+ `docs/API.md` — markdown reference per endpoint:
300
+ ```
301
+ ### `METHOD /path/:param`
302
+ **Description**: [from JSDoc/docstring]
303
+ **Auth**: [required/none]
304
+ **Request**: [params, query, body table]
305
+ **Response**: [shape with status codes]
306
+ **Errors**: [error codes and descriptions]
307
+ ```
308
+
309
+ ### Changelog Mode Output
310
+ `CHANGELOG.md` — Keep a Changelog format grouped by: Added, Fixed, Changed, Removed.
311
+
312
+ ## Constraints
313
+
314
+ 1. MUST generate docs from actual code — never invent features or APIs that don't exist
315
+ 2. MUST preserve existing docs — update sections, don't overwrite entire files
316
+ 3. MUST detect doc staleness — flag sections that reference deleted/changed code
317
+ 4. MUST include Quick Start in every README — users need to get running in < 2 minutes
318
+ 5. MUST NOT generate docs for code that doesn't exist yet (unless explicitly creating spec docs)
319
+ 6. API docs MUST match actual route signatures — wrong API docs are worse than no docs
320
+
321
+ ## Returns
322
+
323
+ | Artifact | Format | Location |
324
+ |----------|--------|----------|
325
+ | README.md | Markdown | project root |
326
+ | ARCHITECTURE.md | Markdown | project root (if 10+ files) |
327
+ | API reference | Markdown | `docs/API.md` |
328
+ | Changelog entry | Markdown (Keep a Changelog) | `CHANGELOG.md` |
329
+ | Docs update report | Markdown | inline (chat output) |
330
+
331
+ **Scope guardrail:** Documents only what exists in the codebase — never invents features, endpoints, or APIs.
332
+
333
+ ## Sharp Edges
334
+
335
+ | Failure Mode | Severity | Mitigation |
336
+ |---|---|---|
337
+ | Inventing API endpoints that don't exist | CRITICAL | Constraint 1: scan actual route files, not guess |
338
+ | Overwriting user-written README sections | HIGH | Constraint 2: merge, don't overwrite — detect custom sections |
339
+ | Stale docs after code changes | HIGH | Update mode detects diffs and updates affected sections |
340
+ | API docs with wrong request/response shapes | HIGH | Extract from Zod/Pydantic/TypeScript types, not from memory |
341
+ | Missing Quick Start section | MEDIUM | Constraint 4: every README has Quick Start |
342
+ | Changelog with orphan PR links | LOW | Validate PR numbers exist before linking |
343
+ | Cross-document inconsistency (README says X, CLAUDE.md says Y) | HIGH | Step 7: Cross-Doc Consistency Pass — verify stats, versions, and feature lists match across all docs |
344
+ | Updating one doc but not others (stats drift) | HIGH | After any doc update, sweep all related docs for stale stats — especially README ↔ CLAUDE.md ↔ landing page |
345
+
346
+ ## Done When
347
+
348
+ ### Init Mode
349
+ - Codebase scanned with scout
350
+ - README.md generated with Quick Start, Features, Tech Stack, Structure
351
+ - ARCHITECTURE.md generated (if 10+ files)
352
+ - API.md generated (if routes detected)
353
+ - Coverage report presented to user
354
+
355
+ ### Update Mode
356
+ - Changes since last doc update detected
357
+ - Affected doc sections updated
358
+ - Changelog entry generated
359
+ - Update report presented to user
360
+
361
+ ### API Mode
362
+ - API framework detected
363
+ - All endpoints extracted with method, path, request, response
364
+ - API reference generated in markdown
365
+ - Saved to docs/API.md
366
+
367
+ ### Changelog Mode
368
+ - Commits grouped by type
369
+ - Formatted as Keep a Changelog
370
+ - CHANGELOG.md updated
371
+
372
+ ## Cost Profile
373
+
374
+ ~2000-5000 tokens input, ~1000-3000 tokens output. Sonnet — documentation requires understanding code patterns but not deep architectural reasoning.