@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,231 +1,274 @@
1
- ---
2
- name: deploy
3
- description: "Deploy application to target platform. Use when user explicitly says 'deploy', 'push to production', 'ship it'. Handles Vercel, Netlify, AWS, GCP, DigitalOcean, and VPS with pre-deploy verification and health checks."
4
- disable-model-invocation: true
5
- metadata:
6
- author: runedev
7
- version: "0.4.0"
8
- layer: L2
9
- model: sonnet
10
- group: delivery
11
- tools: "Read, Write, Edit, Bash, Glob, Grep"
12
- emit: deploy.complete
13
- listen: security.passed, tests.passed, docs.updated, audit.complete, db.migrated
14
- ---
15
-
16
- # deploy
17
-
18
- ## Purpose
19
-
20
- Deploy applications to target platforms. Handles the full deployment flow — environment configuration, build, push, verification, and rollback if needed. Supports Vercel, Netlify, AWS, GCP, DigitalOcean, and custom VPS via SSH.
21
-
22
- <HARD-GATE>
23
- - Tests MUST pass (via `rune:verification`) before deploy runs
24
- - Sentinel MUST pass (no CRITICAL issues) before deploy runs
25
- - Both are non-negotiable. Failure = stop + report, never skip
26
- </HARD-GATE>
27
-
28
- ## Called By (inbound)
29
-
30
- - `launch` (L1): deployment phase of launch pipeline
31
- - User: `/rune deploy` direct invocation
32
-
33
- ## Calls (outbound)
34
-
35
- - `test` (L2): pre-deploy full test suite
36
- - `db` (L2): pre-deploy migration safety check
37
- - `perf` (L2): pre-deploy performance regression check
38
- - `verification` (L2): pre-deploy build + lint + type check
39
- - `sentinel` (L2): pre-deploy security scan
40
- - `browser-pilot` (L3): verify live deployment visually
41
- - `watchdog` (L3): setup post-deploy monitoring
42
- - `journal` (L3): record deploy decision, rollback plan, and post-deploy status
43
- - `incident` (L2): if post-deploy health check fails → triage and contain
44
- - L4 extension packs: domain-specific deploy patterns when context matches (e.g., @rune/devops for infrastructure)
45
-
46
- ## Cross-Hub Connections
47
-
48
- - `deploy` → `verification` — pre-deploy tests + build must pass
49
- - `deploy` → `sentinel` — security must pass before push
50
-
51
- ## Execution Steps
52
-
53
- ### Step 1 — Pre-deploy checks (HARD-GATE)
54
-
55
- Call `rune:verification` to run the full test suite and build.
56
-
57
- ```
58
- If verification fails → STOP. Do NOT proceed. Report failure with test output.
59
- ```
60
-
61
- Call `rune:sentinel` to run security scan.
62
-
63
- ```
64
- If sentinel returns CRITICAL issues → STOP. Do NOT proceed. Report issues.
65
- ```
66
-
67
- Both gates MUST pass. No exceptions.
68
-
69
- ### Step 1.5 — Release Checklist (Production Deploys Only)
70
-
71
- **Skip for**: staging, preview, development deploys.
72
-
73
- Before production deploy, verify ALL items:
74
-
75
- | # | Check | How | Gate |
76
- |---|-------|-----|------|
77
- | 1 | Version bumped | `package.json`/`pyproject.toml` version matches release | BLOCK if unchanged |
78
- | 2 | Changelog updated | `CHANGELOG.md` has entry for this version | WARN if missing |
79
- | 3 | Breaking changes documented | RFC artifact exists for each breaking change | BLOCK if RFC missing |
80
- | 4 | Migration scripts ready | DB migrations tested on staging first | BLOCK if untested migration |
81
- | 5 | Rollback plan documented | `.rune/deploy/rollback-<version>.md` exists | WARN if missing |
82
- | 6 | Release notes drafted | Customer-facing notes for release-comms | WARN if missing |
83
- | 7 | Dependencies locked | Lock file committed, no floating versions | BLOCK if unlocked |
84
-
85
- **Rollback Plan Template** (`.rune/deploy/rollback-<version>.md`):
86
-
87
- ```markdown
88
- # Rollback Plan: v<version>
89
-
90
- ## Trigger Conditions
91
- - [When to rollback — e.g., error rate >5%, P0 incident, data corruption]
92
-
93
- ## Steps
94
- 1. [Revert command — e.g., `vercel rollback`, `fly releases rollback`]
95
- 2. [DB rollback — e.g., `npm run migrate:rollback` or "N/A — no migration"]
96
- 3. [Cache invalidation if needed]
97
- 4. [Notify stakeholders]
98
-
99
- ## Verification
100
- - [ ] Previous version serving traffic
101
- - [ ] Health check passing
102
- - [ ] No data loss confirmed
103
-
104
- ## Post-Rollback
105
- - [ ] Incident created for root cause analysis
106
- - [ ] Fix branch created from rolled-back commit
107
- ```
108
-
109
- If any BLOCK item fails → STOP deploy. Fix before retrying.
110
- If WARN items missing → proceed but flag in deploy report.
111
-
112
- ### Step 2 — Detect platform
113
-
114
- Use `Bash` to inspect the project root for platform config files:
115
-
116
- ```bash
117
- ls vercel.json netlify.toml Dockerfile fly.toml 2>/dev/null
118
- cat package.json | grep -A5 '"scripts"'
119
- ```
120
-
121
- Map findings to platform:
122
-
123
- | File found | Platform |
124
- |---|---|
125
- | `vercel.json` | Vercel |
126
- | `netlify.toml` | Netlify |
127
- | `fly.toml` | Fly.io |
128
- | `Dockerfile` | Docker / VPS |
129
- | `package.json` deploy script | npm deploy |
130
-
131
- If no config found, ask the user which platform to target before continuing.
132
-
133
- ### Step 3 — Deploy
134
-
135
- Use `Bash` to run the platform-specific deploy command:
136
-
137
- | Platform | Command |
138
- |---|---|
139
- | Vercel | `vercel --prod` |
140
- | Netlify | `netlify deploy --prod` |
141
- | Fly.io | `fly deploy` |
142
- | Docker | `docker build -t app . && docker push <registry>/app` |
143
- | npm script | `npm run deploy` |
144
-
145
- Capture full command output. Extract deployed URL from output.
146
-
147
- ### Step 4 — Verify deployment
148
-
149
- Use `Bash` to check the deployed URL returns HTTP 200:
150
-
151
- ```bash
152
- curl -o /dev/null -s -w "%{http_code}" <deployed-url>
153
- ```
154
-
155
- If status is not 200 → flag as WARNING, do not treat as hard failure unless 5xx.
156
-
157
- If `rune:browser-pilot` is available, call it to take a screenshot of the deployed URL for visual confirmation.
158
-
159
- ### Step 5 — Monitor
160
-
161
- Call `rune:watchdog` to set up post-deploy monitoring alerts on the deployed URL.
162
-
163
- ### Step 6 — Report
164
-
165
- Output the deploy report:
166
-
167
- ```
168
- ## Deploy Report
169
- - **Platform**: [target]
170
- - **Status**: success | failed | rollback
171
- - **URL**: [deployed URL]
172
- - **Build Time**: [duration]
173
-
174
- ### Checks
175
- - Tests: passed | failed
176
- - Security: passed | failed ([count] issues)
177
- - HTTP Status: [code]
178
- - Visual: [screenshot path if browser-pilot ran]
179
- - Monitoring: active | skipped
180
- ```
181
-
182
- If any step failed, include the error output and recommended next action.
183
-
184
- ## Output Format
185
-
186
- Deploy Report with platform, status (success/failed/rollback), deployed URL, build time, and checks (tests, security, HTTP, visual, monitoring). See Step 6 Report above for full template.
187
-
188
- ## Constraints
189
-
190
- 1. MUST verify tests + sentinel pass before deploying — non-negotiable
191
- 2. MUST have rollback strategy documented before production deploy
192
- 3. MUST verify deploy is live and responding before declaring success
193
- 4. MUST NOT deploy with known CRITICAL security findings
194
- 5. MUST log deploy metadata (version, timestamp, commit hash)
195
- 6. MUST complete release checklist for production deploys version bump, changelog, rollback plan
196
- 7. MUST create rollback plan artifact before first production deploy of a version
197
-
198
- ## Returns
199
-
200
- | Artifact | Format | Location |
201
- |----------|--------|----------|
202
- | Deploy report | Markdown | inline (chat output) |
203
- | Deploy status (success/failed/rollback) | Text | inline |
204
- | Health check results (HTTP status, visual) | Markdown | inline |
205
- | Rollback plan document | Markdown | `.rune/deploy/rollback-<version>.md` |
206
- | Monitoring confirmation | Text | inline |
207
-
208
- ## Sharp Edges
209
-
210
- Known failure modes for this skill. Check these before declaring done.
211
-
212
- | Failure Mode | Severity | Mitigation |
213
- |---|---|---|
214
- | Deploying without verification passing | CRITICAL | HARD-GATE blocks this — both verification AND sentinel must pass first |
215
- | Platform auto-detected wrongly and wrong command runs | HIGH | Verify config files explicitly; ask user if multiple platforms detected |
216
- | HTTP 5xx on live URL treated as non-critical | HIGH | 5xx = deployment likely failed report FAILED, do not proceed to monitoring/marketing |
217
- | Not setting up watchdog monitoring after deploy | MEDIUM | Step 5 is mandatory — post-deploy monitoring is part of deploy, not optional |
218
- | Deploy metadata not logged (version, commit hash) | LOW | Constraint 5: log version + timestamp + commit hash in report |
219
-
220
- ## Done When
221
-
222
- - verification PASS (tests, types, lint, build all green)
223
- - sentinel PASS (no CRITICAL security findings)
224
- - Deploy command succeeded with live URL captured
225
- - Live URL returns HTTP 200
226
- - watchdog monitoring active on deployed URL
227
- - Deploy Report emitted with platform, URL, checks, and monitoring status
228
-
229
- ## Cost Profile
230
-
231
- ~1000-3000 tokens input, ~500-1000 tokens output. Sonnet. Most time in build/deploy commands.
1
+ ---
2
+ name: deploy
3
+ description: "Deploy application to target platform. Use when user explicitly says 'deploy', 'push to production', 'ship it'. Handles Vercel, Netlify, AWS, GCP, DigitalOcean, and VPS with pre-deploy verification and health checks."
4
+ disable-model-invocation: true
5
+ metadata:
6
+ author: runedev
7
+ version: "0.4.0"
8
+ layer: L2
9
+ model: sonnet
10
+ group: delivery
11
+ tools: "Read, Write, Edit, Bash, Glob, Grep"
12
+ emit: deploy.complete
13
+ listen: security.passed, tests.passed, docs.updated, audit.complete, db.migrated
14
+ ---
15
+
16
+ # deploy
17
+
18
+ ## Purpose
19
+
20
+ Deploy applications to target platforms. Handles the full deployment flow — environment configuration, build, push, verification, and rollback if needed. Supports Vercel, Netlify, AWS, GCP, DigitalOcean, and custom VPS via SSH.
21
+
22
+ <HARD-GATE>
23
+ - Tests MUST pass (via `rune:verification`) before deploy runs
24
+ - Sentinel MUST pass (no CRITICAL issues) before deploy runs
25
+ - Both are non-negotiable. Failure = stop + report, never skip
26
+ </HARD-GATE>
27
+
28
+ ## Called By (inbound)
29
+
30
+ - `launch` (L1): deployment phase of launch pipeline
31
+ - User: `/rune deploy` direct invocation
32
+
33
+ ## Calls (outbound)
34
+
35
+ - `test` (L2): pre-deploy full test suite
36
+ - `db` (L2): pre-deploy migration safety check
37
+ - `perf` (L2): pre-deploy performance regression check
38
+ - `verification` (L2): pre-deploy build + lint + type check
39
+ - `sentinel` (L2): pre-deploy security scan
40
+ - `browser-pilot` (L3): verify live deployment visually
41
+ - `watchdog` (L3): setup post-deploy monitoring
42
+ - `journal` (L3): record deploy decision, rollback plan, and post-deploy status
43
+ - `incident` (L2): if post-deploy health check fails → triage and contain
44
+ - L4 extension packs: domain-specific deploy patterns when context matches (e.g., @rune/devops for infrastructure)
45
+
46
+ ## Cross-Hub Connections
47
+
48
+ - `deploy` → `verification` — pre-deploy tests + build must pass
49
+ - `deploy` → `sentinel` — security must pass before push
50
+
51
+ ## Execution Steps
52
+
53
+ ### Step 1 — Pre-deploy checks (HARD-GATE)
54
+
55
+ Call `rune:verification` to run the full test suite and build.
56
+
57
+ ```
58
+ If verification fails → STOP. Do NOT proceed. Report failure with test output.
59
+ ```
60
+
61
+ Call `rune:sentinel` to run security scan.
62
+
63
+ ```
64
+ If sentinel returns CRITICAL issues → STOP. Do NOT proceed. Report issues.
65
+ ```
66
+
67
+ Both gates MUST pass. No exceptions.
68
+
69
+ ### Step 1.5 — Release Checklist (Production Deploys Only)
70
+
71
+ **Skip for**: staging, preview, development deploys.
72
+
73
+ Before production deploy, verify ALL items:
74
+
75
+ | # | Check | How | Gate |
76
+ |---|-------|-----|------|
77
+ | 1 | Version bumped | `package.json`/`pyproject.toml` version matches release | BLOCK if unchanged |
78
+ | 2 | Changelog updated | `CHANGELOG.md` has entry for this version | WARN if missing |
79
+ | 3 | Breaking changes documented | RFC artifact exists for each breaking change | BLOCK if RFC missing |
80
+ | 4 | Migration scripts ready | DB migrations tested on staging first | BLOCK if untested migration |
81
+ | 5 | Rollback plan documented | `.rune/deploy/rollback-<version>.md` exists | WARN if missing |
82
+ | 6 | Release notes drafted | Customer-facing notes for release-comms | WARN if missing |
83
+ | 7 | Dependencies locked | Lock file committed, no floating versions | BLOCK if unlocked |
84
+
85
+ **Rollback Plan Template** (`.rune/deploy/rollback-<version>.md`):
86
+
87
+ ```markdown
88
+ # Rollback Plan: v<version>
89
+
90
+ ## Trigger Conditions
91
+ - [When to rollback — e.g., error rate >5%, P0 incident, data corruption]
92
+
93
+ ## Steps
94
+ 1. [Revert command — e.g., `vercel rollback`, `fly releases rollback`]
95
+ 2. [DB rollback — e.g., `npm run migrate:rollback` or "N/A — no migration"]
96
+ 3. [Cache invalidation if needed]
97
+ 4. [Notify stakeholders]
98
+
99
+ ## Verification
100
+ - [ ] Previous version serving traffic
101
+ - [ ] Health check passing
102
+ - [ ] No data loss confirmed
103
+
104
+ ## Post-Rollback
105
+ - [ ] Incident created for root cause analysis
106
+ - [ ] Fix branch created from rolled-back commit
107
+ ```
108
+
109
+ If any BLOCK item fails → STOP deploy. Fix before retrying.
110
+ If WARN items missing → proceed but flag in deploy report.
111
+
112
+ ### Step 2 — Detect platform
113
+
114
+ Use `Bash` to inspect the project root for platform config files:
115
+
116
+ ```bash
117
+ ls vercel.json netlify.toml Dockerfile fly.toml 2>/dev/null
118
+ cat package.json | grep -A5 '"scripts"'
119
+ ```
120
+
121
+ Map findings to platform:
122
+
123
+ | File found | Platform |
124
+ |---|---|
125
+ | `vercel.json` | Vercel |
126
+ | `netlify.toml` | Netlify |
127
+ | `fly.toml` | Fly.io |
128
+ | `Dockerfile` | Docker / VPS |
129
+ | `package.json` deploy script | npm deploy |
130
+
131
+ If no config found, ask the user which platform to target before continuing.
132
+
133
+ ### Step 3 — Deploy
134
+
135
+ Use `Bash` to run the platform-specific deploy command:
136
+
137
+ | Platform | Command |
138
+ |---|---|
139
+ | Vercel | `vercel --prod` |
140
+ | Netlify | `netlify deploy --prod` |
141
+ | Fly.io | `fly deploy` |
142
+ | Docker | `docker build -t app . && docker push <registry>/app` |
143
+ | npm script | `npm run deploy` |
144
+
145
+ Capture full command output. Extract deployed URL from output.
146
+
147
+ ### Step 4 — Verify deployment
148
+
149
+ Use `Bash` to check the deployed URL returns HTTP 200:
150
+
151
+ ```bash
152
+ curl -o /dev/null -s -w "%{http_code}" <deployed-url>
153
+ ```
154
+
155
+ If status is not 200 → flag as WARNING, do not treat as hard failure unless 5xx.
156
+
157
+ If `rune:browser-pilot` is available, call it to take a screenshot of the deployed URL for visual confirmation.
158
+
159
+ ### Step 5 — Monitor
160
+
161
+ Call `rune:watchdog` to set up post-deploy monitoring alerts on the deployed URL.
162
+
163
+ ### Step 6 — Report
164
+
165
+ Output the deploy report:
166
+
167
+ ```
168
+ ## Deploy Report
169
+ - **Platform**: [target]
170
+ - **Status**: success | failed | rollback
171
+ - **URL**: [deployed URL]
172
+ - **Build Time**: [duration]
173
+
174
+ ### Checks
175
+ - Tests: passed | failed
176
+ - Security: passed | failed ([count] issues)
177
+ - HTTP Status: [code]
178
+ - Visual: [screenshot path if browser-pilot ran]
179
+ - Monitoring: active | skipped
180
+ ```
181
+
182
+ If any step failed, include the error output and recommended next action.
183
+
184
+ ## Progressive Rollout / Feature Flag Mode
185
+
186
+ When deploying high-risk changes (new features, migrations, architectural changes), use staged rollout instead of all-at-once deploy. Triggered by: user says "canary", "rollout", "feature flag", "staged", or "progressive" or when release checklist item 3 (breaking changes) fires.
187
+
188
+ ### Progressive Rollout Chain
189
+
190
+ ```
191
+ Stage 1: CANARY (5% traffic)
192
+ deploy to production with feature flag OFF
193
+ enable flag for 5% of users (staff, beta users, or random sample)
194
+ watchdog: monitor error rate, latency, conversions for 15-30 minutes
195
+ GATE: error rate < 0.5% AND latency baseline × 1.2
196
+
197
+ Stage 2: EXPAND (25% → 50% → 100%)
198
+ for each step: enable flag for N%, wait 15 min, check watchdog metrics
199
+ → GATE: same thresholds at each step
200
+ At 100%: cleanup flag (remove feature flag code, ship cleanup PR)
201
+
202
+ ROLLBACK TRIGGER: any stage fails watchdog gate immediately set flag to 0%, incident auto-created
203
+ ```
204
+
205
+ ### Feature Flag Integration
206
+
207
+ | Platform | Flag Mechanism | Cleanup Step |
208
+ |----------|---------------|-------------|
209
+ | Vercel | Edge Config or `@vercel/flags` | Remove flag key after 100% rollout |
210
+ | LaunchDarkly | SDK variation check | Archive flag, clean up `variation()` calls |
211
+ | Growthbook | Feature flag SDK | Deactivate + remove SDK calls |
212
+ | DIY `.env` flag | `FEATURE_X_ENABLED=true` env var | Remove env var + conditional after 100% |
213
+
214
+ **Minimum feature flag implementation** (no platform dependency):
215
+ ```typescript
216
+ // Simple env-based flagworks anywhere
217
+ const FEATURE_X = process.env.FEATURE_X_ENABLED === 'true';
218
+ if (FEATURE_X) { /* new path */ } else { /* old path */ }
219
+ // Cleanup: when flag reaches 100% → inline the new path, delete the conditional
220
+ ```
221
+
222
+ ### Skip if
223
+ - Hotfix deploy (urgency outweighs staged rollout)
224
+ - Static site deploy with no user-state impact
225
+ - Non-production deploy (staging, preview)
226
+
227
+ ## Output Format
228
+
229
+ Deploy Report with platform, status (success/failed/rollback), deployed URL, build time, and checks (tests, security, HTTP, visual, monitoring). See Step 6 Report above for full template.
230
+
231
+ ## Constraints
232
+
233
+ 1. MUST verify tests + sentinel pass before deploying — non-negotiable
234
+ 2. MUST have rollback strategy documented before production deploy
235
+ 3. MUST verify deploy is live and responding before declaring success
236
+ 4. MUST NOT deploy with known CRITICAL security findings
237
+ 5. MUST log deploy metadata (version, timestamp, commit hash)
238
+ 6. MUST complete release checklist for production deploys — version bump, changelog, rollback plan
239
+ 7. MUST create rollback plan artifact before first production deploy of a version
240
+
241
+ ## Returns
242
+
243
+ | Artifact | Format | Location |
244
+ |----------|--------|----------|
245
+ | Deploy report | Markdown | inline (chat output) |
246
+ | Deploy status (success/failed/rollback) | Text | inline |
247
+ | Health check results (HTTP status, visual) | Markdown | inline |
248
+ | Rollback plan document | Markdown | `.rune/deploy/rollback-<version>.md` |
249
+ | Monitoring confirmation | Text | inline |
250
+
251
+ ## Sharp Edges
252
+
253
+ Known failure modes for this skill. Check these before declaring done.
254
+
255
+ | Failure Mode | Severity | Mitigation |
256
+ |---|---|---|
257
+ | Deploying without verification passing | CRITICAL | HARD-GATE blocks this — both verification AND sentinel must pass first |
258
+ | Platform auto-detected wrongly and wrong command runs | HIGH | Verify config files explicitly; ask user if multiple platforms detected |
259
+ | HTTP 5xx on live URL treated as non-critical | HIGH | 5xx = deployment likely failed — report FAILED, do not proceed to monitoring/marketing |
260
+ | Not setting up watchdog monitoring after deploy | MEDIUM | Step 5 is mandatory — post-deploy monitoring is part of deploy, not optional |
261
+ | Deploy metadata not logged (version, commit hash) | LOW | Constraint 5: log version + timestamp + commit hash in report |
262
+
263
+ ## Done When
264
+
265
+ - verification PASS (tests, types, lint, build all green)
266
+ - sentinel PASS (no CRITICAL security findings)
267
+ - Deploy command succeeded with live URL captured
268
+ - Live URL returns HTTP 200
269
+ - watchdog monitoring active on deployed URL
270
+ - Deploy Report emitted with platform, URL, checks, and monitoring status
271
+
272
+ ## Cost Profile
273
+
274
+ ~1000-3000 tokens input, ~500-1000 tokens output. Sonnet. Most time in build/deploy commands.