@rune-kit/rune 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +357 -0
- package/agents/.gitkeep +0 -0
- package/agents/architect.md +29 -0
- package/agents/asset-creator.md +11 -0
- package/agents/audit.md +11 -0
- package/agents/autopsy.md +11 -0
- package/agents/brainstorm.md +11 -0
- package/agents/browser-pilot.md +11 -0
- package/agents/coder.md +29 -0
- package/agents/completion-gate.md +11 -0
- package/agents/constraint-check.md +11 -0
- package/agents/context-engine.md +11 -0
- package/agents/cook.md +11 -0
- package/agents/db.md +11 -0
- package/agents/debug.md +11 -0
- package/agents/dependency-doctor.md +11 -0
- package/agents/deploy.md +11 -0
- package/agents/design.md +11 -0
- package/agents/docs-seeker.md +11 -0
- package/agents/fix.md +11 -0
- package/agents/hallucination-guard.md +11 -0
- package/agents/incident.md +11 -0
- package/agents/integrity-check.md +11 -0
- package/agents/journal.md +11 -0
- package/agents/launch.md +11 -0
- package/agents/logic-guardian.md +11 -0
- package/agents/marketing.md +11 -0
- package/agents/onboard.md +11 -0
- package/agents/perf.md +11 -0
- package/agents/plan.md +11 -0
- package/agents/preflight.md +11 -0
- package/agents/problem-solver.md +11 -0
- package/agents/rescue.md +11 -0
- package/agents/research.md +11 -0
- package/agents/researcher.md +29 -0
- package/agents/review-intake.md +11 -0
- package/agents/review.md +11 -0
- package/agents/reviewer.md +28 -0
- package/agents/safeguard.md +11 -0
- package/agents/sast.md +11 -0
- package/agents/scanner.md +28 -0
- package/agents/scope-guard.md +11 -0
- package/agents/scout.md +11 -0
- package/agents/sentinel.md +11 -0
- package/agents/sequential-thinking.md +11 -0
- package/agents/session-bridge.md +11 -0
- package/agents/skill-forge.md +11 -0
- package/agents/skill-router.md +11 -0
- package/agents/surgeon.md +11 -0
- package/agents/team.md +11 -0
- package/agents/test.md +11 -0
- package/agents/trend-scout.md +11 -0
- package/agents/verification.md +11 -0
- package/agents/video-creator.md +11 -0
- package/agents/watchdog.md +11 -0
- package/agents/worktree.md +11 -0
- package/commands/.gitkeep +0 -0
- package/commands/rune.md +168 -0
- package/compiler/__tests__/openclaw-adapter.test.js +140 -0
- package/compiler/__tests__/parser.test.js +55 -0
- package/compiler/adapters/antigravity.js +59 -0
- package/compiler/adapters/claude.js +37 -0
- package/compiler/adapters/cursor.js +67 -0
- package/compiler/adapters/generic.js +60 -0
- package/compiler/adapters/index.js +45 -0
- package/compiler/adapters/openclaw.js +150 -0
- package/compiler/adapters/windsurf.js +60 -0
- package/compiler/bin/rune.js +288 -0
- package/compiler/doctor.js +153 -0
- package/compiler/emitter.js +240 -0
- package/compiler/parser.js +208 -0
- package/compiler/transformer.js +69 -0
- package/compiler/transforms/branding.js +27 -0
- package/compiler/transforms/cross-references.js +29 -0
- package/compiler/transforms/frontmatter.js +38 -0
- package/compiler/transforms/hooks.js +68 -0
- package/compiler/transforms/subagents.js +36 -0
- package/compiler/transforms/tool-names.js +60 -0
- package/contexts/dev.md +34 -0
- package/contexts/research.md +43 -0
- package/contexts/review.md +55 -0
- package/extensions/ai-ml/PACK.md +517 -0
- package/extensions/analytics/PACK.md +557 -0
- package/extensions/backend/PACK.md +678 -0
- package/extensions/chrome-ext/PACK.md +995 -0
- package/extensions/content/PACK.md +381 -0
- package/extensions/devops/PACK.md +520 -0
- package/extensions/ecommerce/PACK.md +280 -0
- package/extensions/gamedev/PACK.md +393 -0
- package/extensions/mobile/PACK.md +273 -0
- package/extensions/saas/PACK.md +805 -0
- package/extensions/security/PACK.md +536 -0
- package/extensions/trading/PACK.md +597 -0
- package/extensions/ui/PACK.md +947 -0
- package/package.json +47 -0
- package/skills/.gitkeep +0 -0
- package/skills/adversary/SKILL.md +271 -0
- package/skills/asset-creator/SKILL.md +157 -0
- package/skills/audit/SKILL.md +466 -0
- package/skills/autopsy/SKILL.md +200 -0
- package/skills/ba/SKILL.md +279 -0
- package/skills/brainstorm/SKILL.md +266 -0
- package/skills/browser-pilot/SKILL.md +168 -0
- package/skills/completion-gate/SKILL.md +151 -0
- package/skills/constraint-check/SKILL.md +165 -0
- package/skills/context-engine/SKILL.md +176 -0
- package/skills/cook/SKILL.md +636 -0
- package/skills/db/SKILL.md +256 -0
- package/skills/debug/SKILL.md +240 -0
- package/skills/dependency-doctor/SKILL.md +235 -0
- package/skills/deploy/SKILL.md +174 -0
- package/skills/design/DESIGN-REFERENCE.md +365 -0
- package/skills/design/SKILL.md +462 -0
- package/skills/doc-processor/SKILL.md +254 -0
- package/skills/docs/SKILL.md +336 -0
- package/skills/docs-seeker/SKILL.md +166 -0
- package/skills/fix/SKILL.md +192 -0
- package/skills/git/SKILL.md +285 -0
- package/skills/hallucination-guard/SKILL.md +204 -0
- package/skills/incident/SKILL.md +241 -0
- package/skills/integrity-check/SKILL.md +169 -0
- package/skills/journal/SKILL.md +190 -0
- package/skills/launch/SKILL.md +330 -0
- package/skills/logic-guardian/SKILL.md +240 -0
- package/skills/marketing/SKILL.md +229 -0
- package/skills/mcp-builder/SKILL.md +311 -0
- package/skills/onboard/SKILL.md +298 -0
- package/skills/perf/SKILL.md +297 -0
- package/skills/plan/SKILL.md +520 -0
- package/skills/preflight/SKILL.md +231 -0
- package/skills/problem-solver/SKILL.md +284 -0
- package/skills/rescue/SKILL.md +434 -0
- package/skills/research/SKILL.md +122 -0
- package/skills/review/SKILL.md +354 -0
- package/skills/review-intake/SKILL.md +222 -0
- package/skills/safeguard/SKILL.md +188 -0
- package/skills/sast/SKILL.md +190 -0
- package/skills/scaffold/SKILL.md +276 -0
- package/skills/scope-guard/SKILL.md +150 -0
- package/skills/scout/SKILL.md +232 -0
- package/skills/sentinel/SKILL.md +320 -0
- package/skills/sentinel-env/SKILL.md +226 -0
- package/skills/sequential-thinking/SKILL.md +234 -0
- package/skills/session-bridge/SKILL.md +287 -0
- package/skills/skill-forge/SKILL.md +317 -0
- package/skills/skill-router/SKILL.md +267 -0
- package/skills/surgeon/SKILL.md +203 -0
- package/skills/team/SKILL.md +397 -0
- package/skills/test/SKILL.md +271 -0
- package/skills/trend-scout/SKILL.md +145 -0
- package/skills/verification/SKILL.md +201 -0
- package/skills/video-creator/SKILL.md +201 -0
- package/skills/watchdog/SKILL.md +166 -0
- package/skills/worktree/SKILL.md +140 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dependency-doctor
|
|
3
|
+
description: Dependency health management. Detects package manager, checks outdated packages and vulnerabilities, and produces a prioritized update plan.
|
|
4
|
+
metadata:
|
|
5
|
+
author: runedev
|
|
6
|
+
version: "0.2.0"
|
|
7
|
+
layer: L3
|
|
8
|
+
model: haiku
|
|
9
|
+
group: deps
|
|
10
|
+
tools: "Read, Bash, Glob, Grep"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# dependency-doctor
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
|
|
17
|
+
Dependency health management covering outdated packages, known vulnerabilities, and update planning. Detects the package manager automatically, runs audit commands, analyzes breaking changes for major version bumps, and outputs a prioritized update plan with risk assessment.
|
|
18
|
+
|
|
19
|
+
## Called By (inbound)
|
|
20
|
+
|
|
21
|
+
- `rescue` (L1): Phase 0 dependency health assessment
|
|
22
|
+
- `audit` (L2): Phase 1 vulnerability scan and outdated dependency check
|
|
23
|
+
|
|
24
|
+
## Calls (outbound)
|
|
25
|
+
|
|
26
|
+
None — pure L3 utility using Bash for package manager commands.
|
|
27
|
+
|
|
28
|
+
## Executable Instructions
|
|
29
|
+
|
|
30
|
+
### Step 1: Detect Package Manager
|
|
31
|
+
|
|
32
|
+
Use `Glob` to find dependency files in the project root:
|
|
33
|
+
|
|
34
|
+
- `package.json` → Node.js (npm, yarn, or pnpm)
|
|
35
|
+
- `requirements.txt` or `pyproject.toml` → Python (pip or uv)
|
|
36
|
+
- `Cargo.toml` → Rust (cargo)
|
|
37
|
+
- `go.mod` → Go (go)
|
|
38
|
+
- `Gemfile` → Ruby (bundler)
|
|
39
|
+
|
|
40
|
+
If multiple are found, process all of them. If none found, report NO_DEPENDENCY_FILES and stop.
|
|
41
|
+
|
|
42
|
+
For Node.js, further detect the package manager:
|
|
43
|
+
- `yarn.lock` present → yarn
|
|
44
|
+
- `pnpm-lock.yaml` present → pnpm
|
|
45
|
+
- `package-lock.json` present → npm
|
|
46
|
+
- None → default to npm
|
|
47
|
+
|
|
48
|
+
### Step 2: List Dependencies
|
|
49
|
+
|
|
50
|
+
Use `Read` to parse the dependency file and extract:
|
|
51
|
+
- Package name
|
|
52
|
+
- Current version constraint
|
|
53
|
+
- Whether it is a dev dependency or production dependency
|
|
54
|
+
|
|
55
|
+
For `package.json`, read both `dependencies` and `devDependencies` sections.
|
|
56
|
+
|
|
57
|
+
### Step 3: Check Outdated
|
|
58
|
+
|
|
59
|
+
Run the appropriate command via `Bash` to find outdated packages:
|
|
60
|
+
|
|
61
|
+
**npm:**
|
|
62
|
+
```bash
|
|
63
|
+
npm outdated --json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**yarn:**
|
|
67
|
+
```bash
|
|
68
|
+
yarn outdated --json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**pnpm:**
|
|
72
|
+
```bash
|
|
73
|
+
pnpm outdated
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**pip:**
|
|
77
|
+
```bash
|
|
78
|
+
pip list --outdated --format=json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**cargo:**
|
|
82
|
+
```bash
|
|
83
|
+
cargo outdated
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**go:**
|
|
87
|
+
```bash
|
|
88
|
+
go list -u -m all
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Parse the output to extract for each outdated package:
|
|
92
|
+
- Current version
|
|
93
|
+
- Latest version
|
|
94
|
+
- Update type: `patch` | `minor` | `major`
|
|
95
|
+
|
|
96
|
+
### Step 4: Check Vulnerabilities
|
|
97
|
+
|
|
98
|
+
Run the appropriate audit command via `Bash`:
|
|
99
|
+
|
|
100
|
+
**npm:**
|
|
101
|
+
```bash
|
|
102
|
+
npm audit --json
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**yarn:**
|
|
106
|
+
```bash
|
|
107
|
+
yarn audit --json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**pnpm:**
|
|
111
|
+
```bash
|
|
112
|
+
pnpm audit --json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**pip:**
|
|
116
|
+
```bash
|
|
117
|
+
pip-audit --format json
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**cargo:**
|
|
121
|
+
```bash
|
|
122
|
+
cargo audit --json
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
If the audit tool is not installed, note it as TOOL_MISSING and skip this step (do not fail).
|
|
126
|
+
|
|
127
|
+
Parse the output to extract:
|
|
128
|
+
- Package name + vulnerable version
|
|
129
|
+
- CVE ID (if available)
|
|
130
|
+
- Severity: `critical` | `high` | `moderate` | `low`
|
|
131
|
+
- Fixed version (if available)
|
|
132
|
+
|
|
133
|
+
### Step 5: Analyze Breaking Changes
|
|
134
|
+
|
|
135
|
+
For each package with a **major** version bump (e.g. v2 → v3):
|
|
136
|
+
|
|
137
|
+
Use `rune:docs-seeker` to look up migration guides if available, or note:
|
|
138
|
+
- "Breaking change analysis required before updating [package] from v[X] to v[Y]"
|
|
139
|
+
|
|
140
|
+
Do not blindly recommend major updates without flagging migration risk.
|
|
141
|
+
|
|
142
|
+
### Step 6: Generate Update Plan
|
|
143
|
+
|
|
144
|
+
Create a prioritized update plan:
|
|
145
|
+
|
|
146
|
+
Priority order:
|
|
147
|
+
1. **CRITICAL** — packages with critical/high CVEs → update immediately
|
|
148
|
+
2. **SECURITY** — packages with moderate/low CVEs → update in current sprint
|
|
149
|
+
3. **PATCH** — patch version bumps, no breaking changes → safe to batch update
|
|
150
|
+
4. **MINOR** — minor version bumps, new features added → update with testing
|
|
151
|
+
5. **MAJOR** — major version bumps, breaking changes → plan migration separately
|
|
152
|
+
|
|
153
|
+
For each item in the plan, include:
|
|
154
|
+
- Package name + current → target version
|
|
155
|
+
- Update type and risk level
|
|
156
|
+
- Migration notes (for major updates)
|
|
157
|
+
- Suggested command to run the update
|
|
158
|
+
|
|
159
|
+
### Step 7: Report
|
|
160
|
+
|
|
161
|
+
Output the following structure:
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
## Dependency Report: [project name]
|
|
165
|
+
|
|
166
|
+
- **Package Manager**: [npm|yarn|pnpm|pip|cargo|go]
|
|
167
|
+
- **Total Dependencies**: [count]
|
|
168
|
+
- **Outdated**: [count]
|
|
169
|
+
- **Vulnerable**: [count] ([critical] critical, [high] high, [moderate] moderate)
|
|
170
|
+
|
|
171
|
+
### Critical — CVEs (Fix Immediately)
|
|
172
|
+
- [package]@[current] — [CVE-ID] ([severity]): [description]
|
|
173
|
+
Fix: npm update [package]@[fixed_version]
|
|
174
|
+
|
|
175
|
+
### Security — CVEs (Fix This Sprint)
|
|
176
|
+
- [package]@[current] — [CVE-ID] ([severity]): [description]
|
|
177
|
+
|
|
178
|
+
### Outdated — Patch (Safe to Update)
|
|
179
|
+
- [package]@[current] → [latest] (patch)
|
|
180
|
+
|
|
181
|
+
### Outdated — Minor (Update with Testing)
|
|
182
|
+
- [package]@[current] → [latest] (minor)
|
|
183
|
+
|
|
184
|
+
### Outdated — Major (Plan Migration)
|
|
185
|
+
- [package]@[current] → [latest] (major) — migration guide required
|
|
186
|
+
|
|
187
|
+
### Unused Dependencies
|
|
188
|
+
- [package] — no imports found in src/
|
|
189
|
+
|
|
190
|
+
### Update Plan (Ordered by Risk)
|
|
191
|
+
1. [command] — fixes [CVE-ID]
|
|
192
|
+
2. [command] — patch updates (safe batch)
|
|
193
|
+
3. [command] — requires migration: [notes]
|
|
194
|
+
|
|
195
|
+
### Dependency Health Score
|
|
196
|
+
- Score: [0-100]
|
|
197
|
+
- Grade: A (80-100) | B (60-79) | C (40-59) | D (<40)
|
|
198
|
+
- Score basis: -10 per critical CVE, -5 per high CVE, -2 per outdated major, -1 per outdated minor
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Output Format
|
|
202
|
+
|
|
203
|
+
Dependency Report with package manager, counts, CVE findings by severity, outdated packages by risk level, unused dependencies, ordered update plan, and health score (0-100). See Step 7 Report above for full template.
|
|
204
|
+
|
|
205
|
+
## Constraints
|
|
206
|
+
|
|
207
|
+
1. MUST check for known vulnerabilities — not just version freshness
|
|
208
|
+
2. MUST NOT auto-upgrade major versions without user confirmation — breaking changes
|
|
209
|
+
3. MUST verify project still builds after any dependency change
|
|
210
|
+
4. MUST show what changed (added, removed, upgraded) in a clear diff format
|
|
211
|
+
|
|
212
|
+
## Sharp Edges
|
|
213
|
+
|
|
214
|
+
Known failure modes for this skill. Check these before declaring done.
|
|
215
|
+
|
|
216
|
+
| Failure Mode | Severity | Mitigation |
|
|
217
|
+
|---|---|---|
|
|
218
|
+
| Recommending major version update without flagging migration risk | CRITICAL | Constraint 2: breaking changes need explicit migration notes and user confirmation |
|
|
219
|
+
| Silently skipping vulnerability check when tool not installed | HIGH | Report TOOL_MISSING explicitly — never skip without logging it |
|
|
220
|
+
| Missing dependency health score (0-100) | MEDIUM | Score is mandatory in every report — it gives callers a quick health signal |
|
|
221
|
+
| Reporting unused dependencies without verifying (false positive) | MEDIUM | Check actual import patterns in src/ before flagging as unused |
|
|
222
|
+
|
|
223
|
+
## Done When
|
|
224
|
+
|
|
225
|
+
- Package manager detected (npm/yarn/pnpm/pip/cargo/go)
|
|
226
|
+
- Outdated packages listed with current → latest versions and update type
|
|
227
|
+
- Vulnerability audit run (or TOOL_MISSING noted explicitly)
|
|
228
|
+
- Breaking changes flagged for all major version bumps
|
|
229
|
+
- Prioritized update plan generated (CRITICAL → SECURITY → PATCH → MINOR → MAJOR order)
|
|
230
|
+
- Dependency health score (0-100) calculated
|
|
231
|
+
- Dependency Report emitted in output format
|
|
232
|
+
|
|
233
|
+
## Cost Profile
|
|
234
|
+
|
|
235
|
+
~300-600 tokens input, ~200-500 tokens output. Haiku. Most time spent in package manager commands.
|
|
@@ -0,0 +1,174 @@
|
|
|
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.3.0"
|
|
8
|
+
layer: L2
|
|
9
|
+
model: sonnet
|
|
10
|
+
group: delivery
|
|
11
|
+
tools: "Read, Write, Edit, Bash, Glob, Grep"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# deploy
|
|
15
|
+
|
|
16
|
+
## Purpose
|
|
17
|
+
|
|
18
|
+
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.
|
|
19
|
+
|
|
20
|
+
<HARD-GATE>
|
|
21
|
+
- Tests MUST pass (via `rune:verification`) before deploy runs
|
|
22
|
+
- Sentinel MUST pass (no CRITICAL issues) before deploy runs
|
|
23
|
+
- Both are non-negotiable. Failure = stop + report, never skip
|
|
24
|
+
</HARD-GATE>
|
|
25
|
+
|
|
26
|
+
## Called By (inbound)
|
|
27
|
+
|
|
28
|
+
- `launch` (L1): deployment phase of launch pipeline
|
|
29
|
+
- User: `/rune deploy` direct invocation
|
|
30
|
+
|
|
31
|
+
## Calls (outbound)
|
|
32
|
+
|
|
33
|
+
- `test` (L2): pre-deploy full test suite
|
|
34
|
+
- `db` (L2): pre-deploy migration safety check
|
|
35
|
+
- `perf` (L2): pre-deploy performance regression check
|
|
36
|
+
- `verification` (L2): pre-deploy build + lint + type check
|
|
37
|
+
- `sentinel` (L2): pre-deploy security scan
|
|
38
|
+
- `browser-pilot` (L3): verify live deployment visually
|
|
39
|
+
- `watchdog` (L3): setup post-deploy monitoring
|
|
40
|
+
- `journal` (L3): record deploy decision, rollback plan, and post-deploy status
|
|
41
|
+
- `incident` (L2): if post-deploy health check fails → triage and contain
|
|
42
|
+
- L4 extension packs: domain-specific deploy patterns when context matches (e.g., @rune/devops for infrastructure)
|
|
43
|
+
|
|
44
|
+
## Cross-Hub Connections
|
|
45
|
+
|
|
46
|
+
- `deploy` → `verification` — pre-deploy tests + build must pass
|
|
47
|
+
- `deploy` → `sentinel` — security must pass before push
|
|
48
|
+
|
|
49
|
+
## Execution Steps
|
|
50
|
+
|
|
51
|
+
### Step 1 — Pre-deploy checks (HARD-GATE)
|
|
52
|
+
|
|
53
|
+
Call `rune:verification` to run the full test suite and build.
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
If verification fails → STOP. Do NOT proceed. Report failure with test output.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Call `rune:sentinel` to run security scan.
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
If sentinel returns CRITICAL issues → STOP. Do NOT proceed. Report issues.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Both gates MUST pass. No exceptions.
|
|
66
|
+
|
|
67
|
+
### Step 2 — Detect platform
|
|
68
|
+
|
|
69
|
+
Use `Bash` to inspect the project root for platform config files:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
ls vercel.json netlify.toml Dockerfile fly.toml 2>/dev/null
|
|
73
|
+
cat package.json | grep -A5 '"scripts"'
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Map findings to platform:
|
|
77
|
+
|
|
78
|
+
| File found | Platform |
|
|
79
|
+
|---|---|
|
|
80
|
+
| `vercel.json` | Vercel |
|
|
81
|
+
| `netlify.toml` | Netlify |
|
|
82
|
+
| `fly.toml` | Fly.io |
|
|
83
|
+
| `Dockerfile` | Docker / VPS |
|
|
84
|
+
| `package.json` deploy script | npm deploy |
|
|
85
|
+
|
|
86
|
+
If no config found, ask the user which platform to target before continuing.
|
|
87
|
+
|
|
88
|
+
### Step 3 — Deploy
|
|
89
|
+
|
|
90
|
+
Use `Bash` to run the platform-specific deploy command:
|
|
91
|
+
|
|
92
|
+
| Platform | Command |
|
|
93
|
+
|---|---|
|
|
94
|
+
| Vercel | `vercel --prod` |
|
|
95
|
+
| Netlify | `netlify deploy --prod` |
|
|
96
|
+
| Fly.io | `fly deploy` |
|
|
97
|
+
| Docker | `docker build -t app . && docker push <registry>/app` |
|
|
98
|
+
| npm script | `npm run deploy` |
|
|
99
|
+
|
|
100
|
+
Capture full command output. Extract deployed URL from output.
|
|
101
|
+
|
|
102
|
+
### Step 4 — Verify deployment
|
|
103
|
+
|
|
104
|
+
Use `Bash` to check the deployed URL returns HTTP 200:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
curl -o /dev/null -s -w "%{http_code}" <deployed-url>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
If status is not 200 → flag as WARNING, do not treat as hard failure unless 5xx.
|
|
111
|
+
|
|
112
|
+
If `rune:browser-pilot` is available, call it to take a screenshot of the deployed URL for visual confirmation.
|
|
113
|
+
|
|
114
|
+
### Step 5 — Monitor
|
|
115
|
+
|
|
116
|
+
Call `rune:watchdog` to set up post-deploy monitoring alerts on the deployed URL.
|
|
117
|
+
|
|
118
|
+
### Step 6 — Report
|
|
119
|
+
|
|
120
|
+
Output the deploy report:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
## Deploy Report
|
|
124
|
+
- **Platform**: [target]
|
|
125
|
+
- **Status**: success | failed | rollback
|
|
126
|
+
- **URL**: [deployed URL]
|
|
127
|
+
- **Build Time**: [duration]
|
|
128
|
+
|
|
129
|
+
### Checks
|
|
130
|
+
- Tests: passed | failed
|
|
131
|
+
- Security: passed | failed ([count] issues)
|
|
132
|
+
- HTTP Status: [code]
|
|
133
|
+
- Visual: [screenshot path if browser-pilot ran]
|
|
134
|
+
- Monitoring: active | skipped
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
If any step failed, include the error output and recommended next action.
|
|
138
|
+
|
|
139
|
+
## Output Format
|
|
140
|
+
|
|
141
|
+
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.
|
|
142
|
+
|
|
143
|
+
## Constraints
|
|
144
|
+
|
|
145
|
+
1. MUST verify tests + sentinel pass before deploying — non-negotiable
|
|
146
|
+
2. MUST have rollback strategy documented before production deploy
|
|
147
|
+
3. MUST verify deploy is live and responding before declaring success
|
|
148
|
+
4. MUST NOT deploy with known CRITICAL security findings
|
|
149
|
+
5. MUST log deploy metadata (version, timestamp, commit hash)
|
|
150
|
+
|
|
151
|
+
## Sharp Edges
|
|
152
|
+
|
|
153
|
+
Known failure modes for this skill. Check these before declaring done.
|
|
154
|
+
|
|
155
|
+
| Failure Mode | Severity | Mitigation |
|
|
156
|
+
|---|---|---|
|
|
157
|
+
| Deploying without verification passing | CRITICAL | HARD-GATE blocks this — both verification AND sentinel must pass first |
|
|
158
|
+
| Platform auto-detected wrongly and wrong command runs | HIGH | Verify config files explicitly; ask user if multiple platforms detected |
|
|
159
|
+
| HTTP 5xx on live URL treated as non-critical | HIGH | 5xx = deployment likely failed — report FAILED, do not proceed to monitoring/marketing |
|
|
160
|
+
| Not setting up watchdog monitoring after deploy | MEDIUM | Step 5 is mandatory — post-deploy monitoring is part of deploy, not optional |
|
|
161
|
+
| Deploy metadata not logged (version, commit hash) | LOW | Constraint 5: log version + timestamp + commit hash in report |
|
|
162
|
+
|
|
163
|
+
## Done When
|
|
164
|
+
|
|
165
|
+
- verification PASS (tests, types, lint, build all green)
|
|
166
|
+
- sentinel PASS (no CRITICAL security findings)
|
|
167
|
+
- Deploy command succeeded with live URL captured
|
|
168
|
+
- Live URL returns HTTP 200
|
|
169
|
+
- watchdog monitoring active on deployed URL
|
|
170
|
+
- Deploy Report emitted with platform, URL, checks, and monitoring status
|
|
171
|
+
|
|
172
|
+
## Cost Profile
|
|
173
|
+
|
|
174
|
+
~1000-3000 tokens input, ~500-1000 tokens output. Sonnet. Most time in build/deploy commands.
|