@rune-kit/rune 2.10.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +8 -6
  3. package/commands/rune.md +168 -168
  4. package/contexts/dev.md +34 -34
  5. package/contexts/research.md +43 -43
  6. package/contexts/review.md +55 -55
  7. package/extensions/ai-ml/PACK.md +88 -88
  8. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  9. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  10. package/extensions/ai-ml/skills/deep-research.md +146 -146
  11. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  12. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  13. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  14. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  15. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  16. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  17. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  18. package/extensions/analytics/PACK.md +92 -92
  19. package/extensions/analytics/skills/ab-testing.md +72 -72
  20. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  21. package/extensions/analytics/skills/data-validation.md +68 -68
  22. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  23. package/extensions/analytics/skills/sql-patterns.md +57 -57
  24. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  25. package/extensions/analytics/skills/tracking-setup.md +71 -71
  26. package/extensions/backend/PACK.md +104 -104
  27. package/extensions/backend/skills/api-patterns.md +84 -84
  28. package/extensions/backend/skills/async-pipeline.md +193 -193
  29. package/extensions/backend/skills/auth-patterns.md +97 -97
  30. package/extensions/backend/skills/background-jobs.md +133 -133
  31. package/extensions/backend/skills/caching-patterns.md +108 -108
  32. package/extensions/backend/skills/cli-generation.md +133 -133
  33. package/extensions/backend/skills/database-patterns.md +87 -87
  34. package/extensions/backend/skills/middleware-patterns.md +104 -104
  35. package/extensions/chrome-ext/PACK.md +93 -93
  36. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  37. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  38. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  39. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  40. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  41. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  42. package/extensions/content/PACK.md +96 -96
  43. package/extensions/content/skills/blog-patterns.md +88 -88
  44. package/extensions/content/skills/cms-integration.md +131 -131
  45. package/extensions/content/skills/content-scoring.md +107 -107
  46. package/extensions/content/skills/i18n.md +83 -83
  47. package/extensions/content/skills/mdx-authoring.md +137 -137
  48. package/extensions/content/skills/reference.md +1014 -1014
  49. package/extensions/content/skills/seo-patterns.md +67 -67
  50. package/extensions/content/skills/video-repurpose.md +153 -153
  51. package/extensions/devops/PACK.md +101 -101
  52. package/extensions/devops/skills/chaos-testing.md +67 -67
  53. package/extensions/devops/skills/ci-cd.md +75 -75
  54. package/extensions/devops/skills/docker.md +58 -58
  55. package/extensions/devops/skills/edge-serverless.md +163 -163
  56. package/extensions/devops/skills/infra-as-code.md +158 -158
  57. package/extensions/devops/skills/kubernetes.md +110 -110
  58. package/extensions/devops/skills/monitoring.md +57 -57
  59. package/extensions/devops/skills/server-setup.md +64 -64
  60. package/extensions/devops/skills/ssl-domain.md +42 -42
  61. package/extensions/ecommerce/PACK.md +116 -116
  62. package/extensions/ecommerce/skills/cart-system.md +79 -79
  63. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  64. package/extensions/ecommerce/skills/order-management.md +126 -126
  65. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  66. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  67. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  68. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  69. package/extensions/gamedev/PACK.md +142 -142
  70. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  71. package/extensions/gamedev/skills/audio-system.md +129 -129
  72. package/extensions/gamedev/skills/camera-system.md +87 -87
  73. package/extensions/gamedev/skills/ecs.md +98 -98
  74. package/extensions/gamedev/skills/game-loops.md +72 -72
  75. package/extensions/gamedev/skills/input-system.md +199 -199
  76. package/extensions/gamedev/skills/multiplayer.md +180 -180
  77. package/extensions/gamedev/skills/particles.md +105 -105
  78. package/extensions/gamedev/skills/physics-engine.md +89 -89
  79. package/extensions/gamedev/skills/scene-management.md +146 -146
  80. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  81. package/extensions/gamedev/skills/webgl.md +71 -71
  82. package/extensions/mobile/PACK.md +106 -106
  83. package/extensions/mobile/skills/app-store-connect.md +152 -152
  84. package/extensions/mobile/skills/app-store-prep.md +66 -66
  85. package/extensions/mobile/skills/deep-linking.md +109 -109
  86. package/extensions/mobile/skills/flutter.md +60 -60
  87. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  88. package/extensions/mobile/skills/native-bridge.md +66 -66
  89. package/extensions/mobile/skills/ota-updates.md +97 -97
  90. package/extensions/mobile/skills/push-notifications.md +111 -111
  91. package/extensions/mobile/skills/react-native.md +82 -82
  92. package/extensions/saas/PACK.md +116 -116
  93. package/extensions/saas/skills/billing-integration.md +200 -200
  94. package/extensions/saas/skills/feature-flags.md +130 -130
  95. package/extensions/saas/skills/multi-tenant.md +103 -103
  96. package/extensions/saas/skills/onboarding-flow.md +139 -139
  97. package/extensions/saas/skills/subscription-flow.md +95 -95
  98. package/extensions/saas/skills/team-management.md +144 -144
  99. package/extensions/security/PACK.md +99 -99
  100. package/extensions/security/skills/api-security.md +140 -140
  101. package/extensions/security/skills/compliance.md +68 -68
  102. package/extensions/security/skills/owasp-audit.md +64 -64
  103. package/extensions/security/skills/pentest-patterns.md +77 -77
  104. package/extensions/security/skills/secret-mgmt.md +65 -65
  105. package/extensions/security/skills/supply-chain.md +65 -65
  106. package/extensions/trading/PACK.md +80 -80
  107. package/extensions/trading/skills/chart-components.md +55 -55
  108. package/extensions/trading/skills/experiment-loop.md +125 -125
  109. package/extensions/trading/skills/fintech-patterns.md +47 -47
  110. package/extensions/trading/skills/indicator-library.md +58 -58
  111. package/extensions/trading/skills/quant-analysis.md +111 -111
  112. package/extensions/trading/skills/realtime-data.md +58 -58
  113. package/extensions/trading/skills/trade-logic.md +104 -104
  114. package/extensions/ui/PACK.md +130 -130
  115. package/extensions/ui/skills/a11y-audit.md +91 -91
  116. package/extensions/ui/skills/animation-patterns.md +127 -127
  117. package/extensions/ui/skills/component-patterns.md +100 -100
  118. package/extensions/ui/skills/design-decision.md +108 -108
  119. package/extensions/ui/skills/design-system.md +68 -68
  120. package/extensions/ui/skills/landing-patterns.md +155 -155
  121. package/extensions/ui/skills/palette-picker.md +173 -173
  122. package/extensions/ui/skills/react-health.md +90 -90
  123. package/extensions/ui/skills/type-system.md +125 -125
  124. package/extensions/ui/skills/web-vitals.md +153 -153
  125. package/extensions/zalo/PACK.md +145 -145
  126. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  127. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  128. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  129. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  130. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  131. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  132. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  133. package/hooks/auto-format/index.cjs +48 -48
  134. package/hooks/hooks.json +111 -111
  135. package/hooks/post-session-reflect/index.cjs +189 -189
  136. package/hooks/pre-compact/index.cjs +95 -95
  137. package/hooks/run-hook.cmd +1 -1
  138. package/hooks/secrets-scan/index.cjs +100 -100
  139. package/hooks/session-start/index.cjs +71 -71
  140. package/hooks/typecheck/index.cjs +65 -65
  141. package/package.json +63 -63
  142. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  143. package/references/ui-pro-max-data/charts.csv +26 -26
  144. package/references/ui-pro-max-data/colors.csv +161 -161
  145. package/references/ui-pro-max-data/styles.csv +68 -68
  146. package/references/ui-pro-max-data/typography.csv +74 -74
  147. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  148. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  149. package/skills/adversary/SKILL.md +283 -283
  150. package/skills/asset-creator/SKILL.md +157 -157
  151. package/skills/audit/SKILL.md +147 -2
  152. package/skills/autopsy/SKILL.md +335 -335
  153. package/skills/brainstorm/SKILL.md +342 -342
  154. package/skills/browser-pilot/SKILL.md +168 -168
  155. package/skills/constraint-check/SKILL.md +165 -165
  156. package/skills/context-engine/SKILL.md +404 -404
  157. package/skills/cook/SKILL.md +917 -863
  158. package/skills/db/SKILL.md +273 -273
  159. package/skills/debug/SKILL.md +465 -465
  160. package/skills/dependency-doctor/SKILL.md +265 -235
  161. package/skills/deploy/SKILL.md +274 -231
  162. package/skills/design/DESIGN-REFERENCE.md +365 -365
  163. package/skills/design/SKILL.md +589 -589
  164. package/skills/doc-processor/SKILL.md +254 -254
  165. package/skills/docs/SKILL.md +374 -374
  166. package/skills/docs-seeker/SKILL.md +177 -177
  167. package/skills/fix/SKILL.md +330 -330
  168. package/skills/git/SKILL.md +339 -339
  169. package/skills/hallucination-guard/SKILL.md +219 -219
  170. package/skills/incident/SKILL.md +254 -253
  171. package/skills/integrity-check/SKILL.md +169 -169
  172. package/skills/journal/SKILL.md +240 -240
  173. package/skills/launch/SKILL.md +344 -344
  174. package/skills/logic-guardian/SKILL.md +251 -251
  175. package/skills/marketing/SKILL.md +290 -289
  176. package/skills/mcp-builder/SKILL.md +425 -425
  177. package/skills/neural-memory/SKILL.md +362 -362
  178. package/skills/onboard/SKILL.md +404 -403
  179. package/skills/perf/SKILL.md +346 -346
  180. package/skills/plan/SKILL.md +433 -428
  181. package/skills/preflight/SKILL.md +415 -415
  182. package/skills/problem-solver/SKILL.md +380 -284
  183. package/skills/rescue/SKILL.md +474 -474
  184. package/skills/retro/SKILL.md +3 -1
  185. package/skills/review/SKILL.md +612 -588
  186. package/skills/review-intake/SKILL.md +249 -249
  187. package/skills/safeguard/SKILL.md +200 -200
  188. package/skills/sast/SKILL.md +190 -190
  189. package/skills/scaffold/SKILL.md +328 -287
  190. package/skills/scope-guard/SKILL.md +180 -180
  191. package/skills/scout/SKILL.md +263 -263
  192. package/skills/sentinel/SKILL.md +382 -381
  193. package/skills/sentinel-env/SKILL.md +254 -254
  194. package/skills/sequential-thinking/SKILL.md +234 -234
  195. package/skills/session-bridge/SKILL.md +543 -543
  196. package/skills/skill-forge/SKILL.md +581 -581
  197. package/skills/skill-router/SKILL.md +3 -0
  198. package/skills/surgeon/SKILL.md +215 -215
  199. package/skills/team/SKILL.md +556 -537
  200. package/skills/test/SKILL.md +614 -614
  201. package/skills/trend-scout/SKILL.md +145 -145
  202. package/skills/verification/SKILL.md +326 -326
  203. package/skills/video-creator/SKILL.md +201 -201
  204. package/skills/watchdog/SKILL.md +168 -168
  205. 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.