@rune-kit/rune 2.8.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 (287) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +68 -34
  3. package/agents/adversary.md +27 -0
  4. package/agents/architect.md +19 -29
  5. package/agents/asset-creator.md +18 -4
  6. package/agents/audit.md +25 -4
  7. package/agents/autopsy.md +19 -4
  8. package/agents/ba.md +35 -0
  9. package/agents/brainstorm.md +31 -4
  10. package/agents/browser-pilot.md +21 -4
  11. package/agents/coder.md +21 -29
  12. package/agents/completion-gate.md +20 -4
  13. package/agents/constraint-check.md +18 -4
  14. package/agents/context-engine.md +22 -4
  15. package/agents/context-pack.md +32 -0
  16. package/agents/cook.md +41 -4
  17. package/agents/db.md +19 -4
  18. package/agents/debug.md +33 -4
  19. package/agents/dependency-doctor.md +20 -4
  20. package/agents/deploy.md +27 -4
  21. package/agents/design.md +22 -4
  22. package/agents/doc-processor.md +27 -0
  23. package/agents/docs-seeker.md +19 -4
  24. package/agents/docs.md +31 -0
  25. package/agents/fix.md +37 -4
  26. package/agents/git.md +29 -0
  27. package/agents/hallucination-guard.md +20 -4
  28. package/agents/incident.md +21 -4
  29. package/agents/integrity-check.md +18 -4
  30. package/agents/journal.md +19 -4
  31. package/agents/launch.md +32 -4
  32. package/agents/logic-guardian.md +26 -11
  33. package/agents/marketing.md +23 -4
  34. package/agents/mcp-builder.md +26 -0
  35. package/agents/neural-memory.md +30 -0
  36. package/agents/onboard.md +22 -4
  37. package/agents/perf.md +21 -4
  38. package/agents/plan.md +29 -4
  39. package/agents/preflight.md +22 -4
  40. package/agents/problem-solver.md +20 -4
  41. package/agents/rescue.md +23 -4
  42. package/agents/research.md +19 -4
  43. package/agents/researcher.md +19 -29
  44. package/agents/retro.md +32 -0
  45. package/agents/review-intake.md +20 -4
  46. package/agents/review.md +32 -4
  47. package/agents/reviewer.md +20 -28
  48. package/agents/safeguard.md +19 -4
  49. package/agents/sast.md +18 -4
  50. package/agents/scaffold.md +41 -0
  51. package/agents/scanner.md +19 -28
  52. package/agents/scope-guard.md +18 -4
  53. package/agents/scout.md +23 -4
  54. package/agents/sentinel-env.md +26 -0
  55. package/agents/sentinel.md +33 -4
  56. package/agents/sequential-thinking.md +20 -4
  57. package/agents/session-bridge.md +24 -4
  58. package/agents/skill-forge.md +22 -4
  59. package/agents/skill-router.md +26 -4
  60. package/agents/slides.md +24 -0
  61. package/agents/surgeon.md +19 -4
  62. package/agents/team.md +30 -4
  63. package/agents/test.md +36 -4
  64. package/agents/trend-scout.md +17 -4
  65. package/agents/verification.md +20 -4
  66. package/agents/video-creator.md +20 -4
  67. package/agents/watchdog.md +19 -4
  68. package/agents/worktree.md +17 -4
  69. package/commands/rune.md +168 -168
  70. package/compiler/__tests__/analytics.test.js +370 -0
  71. package/compiler/adapters/openclaw.js +2 -2
  72. package/compiler/analytics.js +385 -0
  73. package/compiler/bin/rune.js +68 -2
  74. package/compiler/dashboard.js +883 -0
  75. package/compiler/transforms/branding.js +1 -1
  76. package/contexts/dev.md +34 -34
  77. package/contexts/research.md +43 -43
  78. package/contexts/review.md +55 -55
  79. package/extensions/ai-ml/PACK.md +88 -88
  80. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  81. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  82. package/extensions/ai-ml/skills/deep-research.md +146 -146
  83. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  84. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  85. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  86. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  87. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  88. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  89. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  90. package/extensions/analytics/PACK.md +92 -92
  91. package/extensions/analytics/skills/ab-testing.md +72 -72
  92. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  93. package/extensions/analytics/skills/data-validation.md +68 -68
  94. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  95. package/extensions/analytics/skills/sql-patterns.md +57 -57
  96. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  97. package/extensions/analytics/skills/tracking-setup.md +71 -71
  98. package/extensions/backend/PACK.md +104 -104
  99. package/extensions/backend/skills/api-patterns.md +84 -84
  100. package/extensions/backend/skills/async-pipeline.md +193 -193
  101. package/extensions/backend/skills/auth-patterns.md +97 -97
  102. package/extensions/backend/skills/background-jobs.md +133 -133
  103. package/extensions/backend/skills/caching-patterns.md +108 -108
  104. package/extensions/backend/skills/cli-generation.md +133 -133
  105. package/extensions/backend/skills/database-patterns.md +87 -87
  106. package/extensions/backend/skills/middleware-patterns.md +104 -104
  107. package/extensions/chrome-ext/PACK.md +93 -93
  108. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  109. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  110. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  111. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  112. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  113. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  114. package/extensions/content/PACK.md +96 -96
  115. package/extensions/content/skills/blog-patterns.md +88 -88
  116. package/extensions/content/skills/cms-integration.md +131 -131
  117. package/extensions/content/skills/content-scoring.md +107 -107
  118. package/extensions/content/skills/i18n.md +83 -83
  119. package/extensions/content/skills/mdx-authoring.md +137 -137
  120. package/extensions/content/skills/reference.md +1014 -1014
  121. package/extensions/content/skills/seo-patterns.md +67 -67
  122. package/extensions/content/skills/video-repurpose.md +153 -153
  123. package/extensions/devops/PACK.md +101 -101
  124. package/extensions/devops/skills/chaos-testing.md +67 -67
  125. package/extensions/devops/skills/ci-cd.md +75 -75
  126. package/extensions/devops/skills/docker.md +58 -58
  127. package/extensions/devops/skills/edge-serverless.md +163 -163
  128. package/extensions/devops/skills/infra-as-code.md +158 -158
  129. package/extensions/devops/skills/kubernetes.md +110 -110
  130. package/extensions/devops/skills/monitoring.md +57 -57
  131. package/extensions/devops/skills/server-setup.md +64 -64
  132. package/extensions/devops/skills/ssl-domain.md +42 -42
  133. package/extensions/ecommerce/PACK.md +116 -116
  134. package/extensions/ecommerce/skills/cart-system.md +79 -79
  135. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  136. package/extensions/ecommerce/skills/order-management.md +126 -126
  137. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  138. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  139. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  140. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  141. package/extensions/gamedev/PACK.md +142 -142
  142. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  143. package/extensions/gamedev/skills/audio-system.md +129 -129
  144. package/extensions/gamedev/skills/camera-system.md +87 -87
  145. package/extensions/gamedev/skills/ecs.md +98 -98
  146. package/extensions/gamedev/skills/game-loops.md +72 -72
  147. package/extensions/gamedev/skills/input-system.md +199 -199
  148. package/extensions/gamedev/skills/multiplayer.md +180 -180
  149. package/extensions/gamedev/skills/particles.md +105 -105
  150. package/extensions/gamedev/skills/physics-engine.md +89 -89
  151. package/extensions/gamedev/skills/scene-management.md +146 -146
  152. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  153. package/extensions/gamedev/skills/webgl.md +71 -71
  154. package/extensions/mobile/PACK.md +106 -106
  155. package/extensions/mobile/skills/app-store-connect.md +152 -152
  156. package/extensions/mobile/skills/app-store-prep.md +66 -66
  157. package/extensions/mobile/skills/deep-linking.md +109 -109
  158. package/extensions/mobile/skills/flutter.md +60 -60
  159. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  160. package/extensions/mobile/skills/native-bridge.md +66 -66
  161. package/extensions/mobile/skills/ota-updates.md +97 -97
  162. package/extensions/mobile/skills/push-notifications.md +111 -111
  163. package/extensions/mobile/skills/react-native.md +82 -82
  164. package/extensions/saas/PACK.md +116 -116
  165. package/extensions/saas/skills/billing-integration.md +200 -200
  166. package/extensions/saas/skills/feature-flags.md +130 -130
  167. package/extensions/saas/skills/multi-tenant.md +103 -103
  168. package/extensions/saas/skills/onboarding-flow.md +139 -139
  169. package/extensions/saas/skills/subscription-flow.md +95 -95
  170. package/extensions/saas/skills/team-management.md +144 -144
  171. package/extensions/security/PACK.md +99 -99
  172. package/extensions/security/skills/api-security.md +140 -140
  173. package/extensions/security/skills/compliance.md +68 -68
  174. package/extensions/security/skills/owasp-audit.md +64 -64
  175. package/extensions/security/skills/pentest-patterns.md +77 -77
  176. package/extensions/security/skills/secret-mgmt.md +65 -65
  177. package/extensions/security/skills/supply-chain.md +65 -65
  178. package/extensions/trading/PACK.md +80 -80
  179. package/extensions/trading/skills/chart-components.md +55 -55
  180. package/extensions/trading/skills/experiment-loop.md +125 -125
  181. package/extensions/trading/skills/fintech-patterns.md +47 -47
  182. package/extensions/trading/skills/indicator-library.md +58 -58
  183. package/extensions/trading/skills/quant-analysis.md +111 -111
  184. package/extensions/trading/skills/realtime-data.md +58 -58
  185. package/extensions/trading/skills/trade-logic.md +104 -104
  186. package/extensions/ui/PACK.md +130 -130
  187. package/extensions/ui/skills/a11y-audit.md +91 -91
  188. package/extensions/ui/skills/animation-patterns.md +127 -106
  189. package/extensions/ui/skills/component-patterns.md +100 -75
  190. package/extensions/ui/skills/design-decision.md +108 -108
  191. package/extensions/ui/skills/design-system.md +68 -68
  192. package/extensions/ui/skills/landing-patterns.md +155 -155
  193. package/extensions/ui/skills/palette-picker.md +173 -173
  194. package/extensions/ui/skills/react-health.md +90 -90
  195. package/extensions/ui/skills/type-system.md +125 -125
  196. package/extensions/ui/skills/web-vitals.md +153 -153
  197. package/extensions/zalo/PACK.md +145 -145
  198. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  199. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  200. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  201. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  202. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  203. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  204. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  205. package/hooks/auto-format/index.cjs +48 -48
  206. package/hooks/context-watch/index.cjs +95 -68
  207. package/hooks/hooks.json +111 -111
  208. package/hooks/metrics-collector/index.cjs +86 -42
  209. package/hooks/post-session-reflect/index.cjs +189 -153
  210. package/hooks/pre-compact/index.cjs +95 -95
  211. package/hooks/run-hook.cmd +1 -1
  212. package/hooks/secrets-scan/index.cjs +100 -100
  213. package/hooks/session-start/index.cjs +71 -65
  214. package/hooks/typecheck/index.cjs +65 -65
  215. package/package.json +63 -63
  216. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  217. package/references/ui-pro-max-data/charts.csv +26 -26
  218. package/references/ui-pro-max-data/colors.csv +161 -161
  219. package/references/ui-pro-max-data/styles.csv +68 -68
  220. package/references/ui-pro-max-data/typography.csv +74 -74
  221. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  222. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  223. package/skills/adversary/SKILL.md +283 -283
  224. package/skills/asset-creator/SKILL.md +157 -157
  225. package/skills/audit/SKILL.md +148 -2
  226. package/skills/autopsy/SKILL.md +335 -259
  227. package/skills/autopsy/references/repo-analysis-patterns.md +113 -0
  228. package/skills/ba/SKILL.md +72 -2
  229. package/skills/brainstorm/SKILL.md +342 -341
  230. package/skills/browser-pilot/SKILL.md +168 -168
  231. package/skills/constraint-check/SKILL.md +165 -165
  232. package/skills/context-engine/SKILL.md +404 -404
  233. package/skills/cook/SKILL.md +917 -834
  234. package/skills/cook/references/output-format.md +33 -0
  235. package/skills/db/SKILL.md +273 -272
  236. package/skills/debug/SKILL.md +465 -443
  237. package/skills/dependency-doctor/SKILL.md +265 -235
  238. package/skills/deploy/SKILL.md +274 -231
  239. package/skills/design/DESIGN-REFERENCE.md +365 -365
  240. package/skills/design/SKILL.md +589 -482
  241. package/skills/doc-processor/SKILL.md +254 -254
  242. package/skills/docs/SKILL.md +374 -373
  243. package/skills/docs-seeker/SKILL.md +177 -177
  244. package/skills/fix/SKILL.md +330 -308
  245. package/skills/git/SKILL.md +339 -339
  246. package/skills/graft/SKILL.md +352 -0
  247. package/skills/graft/references/challenge-framework.md +98 -0
  248. package/skills/graft/references/mode-decision.md +44 -0
  249. package/skills/hallucination-guard/SKILL.md +219 -219
  250. package/skills/incident/SKILL.md +254 -251
  251. package/skills/integrity-check/SKILL.md +169 -169
  252. package/skills/journal/SKILL.md +240 -238
  253. package/skills/launch/SKILL.md +344 -342
  254. package/skills/logic-guardian/SKILL.md +251 -251
  255. package/skills/marketing/SKILL.md +290 -245
  256. package/skills/mcp-builder/SKILL.md +425 -423
  257. package/skills/mcp-builder/references/auto-discovery-pattern.md +169 -0
  258. package/skills/neural-memory/SKILL.md +362 -362
  259. package/skills/onboard/SKILL.md +404 -403
  260. package/skills/perf/SKILL.md +346 -346
  261. package/skills/plan/SKILL.md +433 -370
  262. package/skills/plan/references/feature-map.md +84 -0
  263. package/skills/preflight/SKILL.md +415 -396
  264. package/skills/problem-solver/SKILL.md +380 -284
  265. package/skills/rescue/SKILL.md +474 -450
  266. package/skills/retro/SKILL.md +5 -1
  267. package/skills/review/SKILL.md +612 -535
  268. package/skills/review-intake/SKILL.md +249 -249
  269. package/skills/safeguard/SKILL.md +200 -200
  270. package/skills/sast/SKILL.md +190 -190
  271. package/skills/scaffold/SKILL.md +328 -286
  272. package/skills/scope-guard/SKILL.md +180 -162
  273. package/skills/scout/SKILL.md +263 -263
  274. package/skills/sentinel/SKILL.md +382 -353
  275. package/skills/sentinel-env/SKILL.md +254 -254
  276. package/skills/sequential-thinking/SKILL.md +234 -234
  277. package/skills/session-bridge/SKILL.md +543 -397
  278. package/skills/skill-forge/SKILL.md +581 -539
  279. package/skills/skill-router/{skill.md → SKILL.md} +30 -2
  280. package/skills/surgeon/SKILL.md +215 -215
  281. package/skills/team/SKILL.md +556 -514
  282. package/skills/test/SKILL.md +614 -587
  283. package/skills/trend-scout/SKILL.md +145 -145
  284. package/skills/verification/SKILL.md +326 -325
  285. package/skills/video-creator/SKILL.md +201 -201
  286. package/skills/watchdog/SKILL.md +168 -168
  287. package/skills/worktree/SKILL.md +140 -140
@@ -1,116 +1,116 @@
1
- ---
2
- name: "@rune/saas"
3
- description: SaaS patterns — multi-tenancy, billing integration, subscription management, feature flags, team permissions, and user onboarding flows.
4
- metadata:
5
- author: runedev
6
- version: "0.2.0"
7
- layer: L4
8
- price: "$12"
9
- target: SaaS builders
10
- format: split
11
- tools:
12
- - Read
13
- - Grep
14
- - Edit
15
- - Bash
16
- ---
17
-
18
- # @rune/saas
19
-
20
- ## Purpose
21
-
22
- SaaS applications share a common set of hard problems that most teams solve from scratch: tenant isolation that leaks data, billing webhooks that silently fail, subscription state that drifts from the payment provider, feature flags with no cleanup discipline, permission systems that escalate silently, and onboarding funnels that drop users before activation. This pack codifies production-tested patterns for each — detect the current architecture, audit for common SaaS pitfalls, and emit the correct implementation. These six skills are interdependent: tenant isolation shapes the billing model, billing drives feature gating, feature flags control gradual rollout, team permissions determine what each role can access, and gating plus permissions together determine the onboarding flow.
23
-
24
- ## Triggers
25
-
26
- - Auto-trigger: when `tenant`, `subscription`, `billing`, `stripe`, `paddle`, `lemonsqueezy`, `polar`, `checkout`, `plan`, `pricing`, `featureFlag`, `rbac`, `permission`, `onboarding` patterns detected in codebase
27
- - `/rune multi-tenant` — audit or implement tenant isolation
28
- - `/rune billing-integration` — set up or audit billing provider integration
29
- - `/rune subscription-flow` — build subscription management UI
30
- - `/rune feature-flags` — implement feature flag system
31
- - `/rune team-management` — build org/team RBAC and invite flows
32
- - `/rune onboarding-flow` — build or audit user onboarding
33
- - Called by `cook` (L1) when SaaS project patterns detected
34
-
35
- ## Skills Included
36
-
37
- | Skill | Model | Description |
38
- |-------|-------|-------------|
39
- | [multi-tenant](skills/multi-tenant.md) | sonnet | Multi-tenancy patterns — database isolation strategies, tenant context middleware, data partitioning, cross-tenant query prevention, tenant-aware background jobs, and GDPR data export. |
40
- | [billing-integration](skills/billing-integration.md) | sonnet | Billing integration — Stripe, LemonSqueezy, and Polar. Subscription + one-time checkout, Standard Webhooks verification, digital product delivery (repo invite, license key), dunning management, and tax handling. |
41
- | [subscription-flow](skills/subscription-flow.md) | sonnet | Subscription UI flows — pricing page, checkout, plan upgrades/downgrades, plan migration, annual/monthly toggle with proration preview, coupon codes, lifetime deal support, and cancellation with retention. |
42
- | [feature-flags](skills/feature-flags.md) | sonnet | Feature flag management — gradual rollouts, kill switches, A/B testing, user-segment targeting, and stale flag cleanup. |
43
- | [team-management](skills/team-management.md) | sonnet | Organization, team, and member permissions — RBAC hierarchy, invite flow with expiry, permission checking at API and UI layers, and audit trail for permission changes. |
44
- | [onboarding-flow](skills/onboarding-flow.md) | sonnet | User onboarding patterns — progressive disclosure, setup wizards, product tours, activation metrics (AARRR), empty states, re-engagement, and invite flows. |
45
-
46
- ## Workflows
47
-
48
- | Workflow | Skills | Description |
49
- |----------|--------|-------------|
50
- | New SaaS setup | multi-tenant → billing-integration → team-management | Foundation: isolation + billing + RBAC |
51
- | Feature launch | feature-flags → onboarding-flow | Gradual rollout with guided activation |
52
- | Plan upgrade | subscription-flow → billing-integration | Proration preview + webhook sync |
53
-
54
- ## Tech Stack Support
55
-
56
- | Billing Provider | SDK | Webhook Verification | Vietnam/Global | Best For |
57
- |---|---|---|---|---|
58
- | Stripe | stripe-node v17+ | Built-in `constructEvent` | Requires US/EU entity | Full-featured SaaS billing |
59
- | LemonSqueezy | @lemonsqueezy/lemonsqueezy.js | HMAC SHA256 `x-signature` | ✅ MoR, global | Subscriptions, global sellers |
60
- | Polar | @polar-sh/sdk | Standard Webhooks (HMAC SHA256) | ✅ MoR, global | Developer tools, one-time purchases, OSS monetization |
61
- | Paddle | @paddle/paddle-node-sdk | Paddle webhook SDK | ✅ MoR, global | B2B SaaS, complex tax |
62
-
63
- | Feature Flag Provider | Self-hosted | Managed | Best For |
64
- |---|---|---|---|
65
- | Custom Redis | ✅ Free | — | Simple boolean + percentage flags |
66
- | Unleash | ✅ Open source | ✅ Cloud | Full-featured, self-hosted option |
67
- | Flagsmith | ✅ Open source | ✅ Cloud | Open source with good React SDK |
68
- | LaunchDarkly | ❌ | ✅ Paid | Enterprise, advanced targeting |
69
- | Statsig | ❌ | ✅ Freemium | A/B testing + analytics |
70
-
71
- ## Connections
72
-
73
- ```
74
- Calls → sentinel (L2): security audit on billing, tenant isolation, and RBAC
75
- Calls → docs-seeker (L3): lookup billing provider API documentation
76
- Calls → git (L3): emit semantic commits for schema migrations and billing changes
77
- Calls → @rune/backend (L4): API patterns, auth flows, caching strategies for SaaS services
78
- Called By ← cook (L1): when SaaS project patterns detected
79
- Called By ← review (L2): when subscription/billing/RBAC code under review
80
- Called By ← audit (L2): SaaS architecture health dimension
81
- Called By ← ba (L2): translating business requirements into SaaS implementation patterns
82
- ```
83
-
84
- ## Sharp Edges
85
-
86
- | Failure Mode | Severity | Mitigation |
87
- |---|---|---|
88
- | Webhook processes same event twice causing duplicate charges or state corruption | CRITICAL | Idempotency check: store processed event IDs, skip duplicates |
89
- | Tenant isolation bypassed in admin or reporting queries | CRITICAL | Audit ALL query paths including admin, cron jobs, and reporting; use RLS as safety net |
90
- | Admin promotes themselves to Owner (permission escalation) | CRITICAL | Rule: you can only assign roles ≤ your own; enforce server-side |
91
- | Feature flag evaluated on every iteration inside a hot loop | HIGH | Evaluate flag once before the loop, pass as parameter; cache with 30s stale time |
92
- | Plan downgrade hard-deletes data created under higher plan | HIGH | Implement read-only grace period (30 days) — never delete on downgrade |
93
- | Trial expiry races with checkout completion | HIGH | Use billing provider's trial management; sync state from webhook, not from timer |
94
- | Invite token reused by two concurrent requests → duplicate memberships | HIGH | Unique constraint on `(userId, orgId, teamId)`; catch constraint error gracefully |
95
- | Onboarding wizard loses progress on page refresh | MEDIUM | Persist wizard state to localStorage or backend; resume from last incomplete step |
96
- | Feature gate checked client-side only (bypassed via API) | HIGH | Enforce feature gates in API middleware, not just UI components |
97
- | Last org Owner removed (org locked out) | HIGH | Block role change that would leave org with zero Owners |
98
- | Stale feature flags accumulate (>50 flags, no cleanup) | MEDIUM | Weekly CI job: detect flags in code not in provider and vice versa |
99
- | Checkout metadata missing fulfillment context (no user ID, no GitHub username) | HIGH | Always pass user identifier in checkout metadata — webhook handler cannot look up user without it |
100
- | GitHub invite fails silently, order marked delivered | HIGH | Check invite API response status; mark order as `partial` if any repo invite fails; implement admin retry endpoint |
101
- | Standard Webhooks timestamp replay attack | MEDIUM | Reject webhook-timestamp older than 5 minutes; prevents replayed webhook payloads |
102
-
103
- ## Done When
104
-
105
- - Tenant isolation audited: every query scoped, RLS or middleware enforced, background jobs carry tenantId, GDPR export endpoint implemented
106
- - Billing webhooks verified (provider-specific signature or Standard Webhooks HMAC), idempotent, and handling all lifecycle events including dunning flow
107
- - One-time checkout flow implemented with metadata-driven delivery (repo invite, license key, or download link)
108
- - Subscription flow has pricing page, checkout, upgrade, downgrade, proration preview, coupon codes, cancellation, and lifetime deal support
109
- - Feature flags implemented with evaluation caching, stale flag detection, and test mocking
110
- - Team RBAC implemented with invite flow, permission middleware, and audit trail
111
- - Onboarding wizard has progress persistence, empty states, product tour, activation metric tracking, and re-engagement detection
112
- - Structured report emitted for each skill invoked
113
-
114
- ## Cost Profile
115
-
116
- ~12,000–22,000 tokens per full pack run (all 6 skills). Individual skill: ~2,000–4,000 tokens. Sonnet default for code generation and security patterns. Use haiku for pattern detection scans (Steps 1–2 of each skill); escalate to sonnet for code generation and security audit; escalate to opus for architectural decisions (isolation strategy selection, RBAC schema design).
1
+ ---
2
+ name: "@rune/saas"
3
+ description: SaaS patterns — multi-tenancy, billing integration, subscription management, feature flags, team permissions, and user onboarding flows.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.2.0"
7
+ layer: L4
8
+ price: "$12"
9
+ target: SaaS builders
10
+ format: split
11
+ tools:
12
+ - Read
13
+ - Grep
14
+ - Edit
15
+ - Bash
16
+ ---
17
+
18
+ # @rune/saas
19
+
20
+ ## Purpose
21
+
22
+ SaaS applications share a common set of hard problems that most teams solve from scratch: tenant isolation that leaks data, billing webhooks that silently fail, subscription state that drifts from the payment provider, feature flags with no cleanup discipline, permission systems that escalate silently, and onboarding funnels that drop users before activation. This pack codifies production-tested patterns for each — detect the current architecture, audit for common SaaS pitfalls, and emit the correct implementation. These six skills are interdependent: tenant isolation shapes the billing model, billing drives feature gating, feature flags control gradual rollout, team permissions determine what each role can access, and gating plus permissions together determine the onboarding flow.
23
+
24
+ ## Triggers
25
+
26
+ - Auto-trigger: when `tenant`, `subscription`, `billing`, `stripe`, `paddle`, `lemonsqueezy`, `polar`, `checkout`, `plan`, `pricing`, `featureFlag`, `rbac`, `permission`, `onboarding` patterns detected in codebase
27
+ - `/rune multi-tenant` — audit or implement tenant isolation
28
+ - `/rune billing-integration` — set up or audit billing provider integration
29
+ - `/rune subscription-flow` — build subscription management UI
30
+ - `/rune feature-flags` — implement feature flag system
31
+ - `/rune team-management` — build org/team RBAC and invite flows
32
+ - `/rune onboarding-flow` — build or audit user onboarding
33
+ - Called by `cook` (L1) when SaaS project patterns detected
34
+
35
+ ## Skills Included
36
+
37
+ | Skill | Model | Description |
38
+ |-------|-------|-------------|
39
+ | [multi-tenant](skills/multi-tenant.md) | sonnet | Multi-tenancy patterns — database isolation strategies, tenant context middleware, data partitioning, cross-tenant query prevention, tenant-aware background jobs, and GDPR data export. |
40
+ | [billing-integration](skills/billing-integration.md) | sonnet | Billing integration — Stripe, LemonSqueezy, and Polar. Subscription + one-time checkout, Standard Webhooks verification, digital product delivery (repo invite, license key), dunning management, and tax handling. |
41
+ | [subscription-flow](skills/subscription-flow.md) | sonnet | Subscription UI flows — pricing page, checkout, plan upgrades/downgrades, plan migration, annual/monthly toggle with proration preview, coupon codes, lifetime deal support, and cancellation with retention. |
42
+ | [feature-flags](skills/feature-flags.md) | sonnet | Feature flag management — gradual rollouts, kill switches, A/B testing, user-segment targeting, and stale flag cleanup. |
43
+ | [team-management](skills/team-management.md) | sonnet | Organization, team, and member permissions — RBAC hierarchy, invite flow with expiry, permission checking at API and UI layers, and audit trail for permission changes. |
44
+ | [onboarding-flow](skills/onboarding-flow.md) | sonnet | User onboarding patterns — progressive disclosure, setup wizards, product tours, activation metrics (AARRR), empty states, re-engagement, and invite flows. |
45
+
46
+ ## Workflows
47
+
48
+ | Workflow | Skills | Description |
49
+ |----------|--------|-------------|
50
+ | New SaaS setup | multi-tenant → billing-integration → team-management | Foundation: isolation + billing + RBAC |
51
+ | Feature launch | feature-flags → onboarding-flow | Gradual rollout with guided activation |
52
+ | Plan upgrade | subscription-flow → billing-integration | Proration preview + webhook sync |
53
+
54
+ ## Tech Stack Support
55
+
56
+ | Billing Provider | SDK | Webhook Verification | Vietnam/Global | Best For |
57
+ |---|---|---|---|---|
58
+ | Stripe | stripe-node v17+ | Built-in `constructEvent` | Requires US/EU entity | Full-featured SaaS billing |
59
+ | LemonSqueezy | @lemonsqueezy/lemonsqueezy.js | HMAC SHA256 `x-signature` | ✅ MoR, global | Subscriptions, global sellers |
60
+ | Polar | @polar-sh/sdk | Standard Webhooks (HMAC SHA256) | ✅ MoR, global | Developer tools, one-time purchases, OSS monetization |
61
+ | Paddle | @paddle/paddle-node-sdk | Paddle webhook SDK | ✅ MoR, global | B2B SaaS, complex tax |
62
+
63
+ | Feature Flag Provider | Self-hosted | Managed | Best For |
64
+ |---|---|---|---|
65
+ | Custom Redis | ✅ Free | — | Simple boolean + percentage flags |
66
+ | Unleash | ✅ Open source | ✅ Cloud | Full-featured, self-hosted option |
67
+ | Flagsmith | ✅ Open source | ✅ Cloud | Open source with good React SDK |
68
+ | LaunchDarkly | ❌ | ✅ Paid | Enterprise, advanced targeting |
69
+ | Statsig | ❌ | ✅ Freemium | A/B testing + analytics |
70
+
71
+ ## Connections
72
+
73
+ ```
74
+ Calls → sentinel (L2): security audit on billing, tenant isolation, and RBAC
75
+ Calls → docs-seeker (L3): lookup billing provider API documentation
76
+ Calls → git (L3): emit semantic commits for schema migrations and billing changes
77
+ Calls → @rune/backend (L4): API patterns, auth flows, caching strategies for SaaS services
78
+ Called By ← cook (L1): when SaaS project patterns detected
79
+ Called By ← review (L2): when subscription/billing/RBAC code under review
80
+ Called By ← audit (L2): SaaS architecture health dimension
81
+ Called By ← ba (L2): translating business requirements into SaaS implementation patterns
82
+ ```
83
+
84
+ ## Sharp Edges
85
+
86
+ | Failure Mode | Severity | Mitigation |
87
+ |---|---|---|
88
+ | Webhook processes same event twice causing duplicate charges or state corruption | CRITICAL | Idempotency check: store processed event IDs, skip duplicates |
89
+ | Tenant isolation bypassed in admin or reporting queries | CRITICAL | Audit ALL query paths including admin, cron jobs, and reporting; use RLS as safety net |
90
+ | Admin promotes themselves to Owner (permission escalation) | CRITICAL | Rule: you can only assign roles ≤ your own; enforce server-side |
91
+ | Feature flag evaluated on every iteration inside a hot loop | HIGH | Evaluate flag once before the loop, pass as parameter; cache with 30s stale time |
92
+ | Plan downgrade hard-deletes data created under higher plan | HIGH | Implement read-only grace period (30 days) — never delete on downgrade |
93
+ | Trial expiry races with checkout completion | HIGH | Use billing provider's trial management; sync state from webhook, not from timer |
94
+ | Invite token reused by two concurrent requests → duplicate memberships | HIGH | Unique constraint on `(userId, orgId, teamId)`; catch constraint error gracefully |
95
+ | Onboarding wizard loses progress on page refresh | MEDIUM | Persist wizard state to localStorage or backend; resume from last incomplete step |
96
+ | Feature gate checked client-side only (bypassed via API) | HIGH | Enforce feature gates in API middleware, not just UI components |
97
+ | Last org Owner removed (org locked out) | HIGH | Block role change that would leave org with zero Owners |
98
+ | Stale feature flags accumulate (>50 flags, no cleanup) | MEDIUM | Weekly CI job: detect flags in code not in provider and vice versa |
99
+ | Checkout metadata missing fulfillment context (no user ID, no GitHub username) | HIGH | Always pass user identifier in checkout metadata — webhook handler cannot look up user without it |
100
+ | GitHub invite fails silently, order marked delivered | HIGH | Check invite API response status; mark order as `partial` if any repo invite fails; implement admin retry endpoint |
101
+ | Standard Webhooks timestamp replay attack | MEDIUM | Reject webhook-timestamp older than 5 minutes; prevents replayed webhook payloads |
102
+
103
+ ## Done When
104
+
105
+ - Tenant isolation audited: every query scoped, RLS or middleware enforced, background jobs carry tenantId, GDPR export endpoint implemented
106
+ - Billing webhooks verified (provider-specific signature or Standard Webhooks HMAC), idempotent, and handling all lifecycle events including dunning flow
107
+ - One-time checkout flow implemented with metadata-driven delivery (repo invite, license key, or download link)
108
+ - Subscription flow has pricing page, checkout, upgrade, downgrade, proration preview, coupon codes, cancellation, and lifetime deal support
109
+ - Feature flags implemented with evaluation caching, stale flag detection, and test mocking
110
+ - Team RBAC implemented with invite flow, permission middleware, and audit trail
111
+ - Onboarding wizard has progress persistence, empty states, product tour, activation metric tracking, and re-engagement detection
112
+ - Structured report emitted for each skill invoked
113
+
114
+ ## Cost Profile
115
+
116
+ ~12,000–22,000 tokens per full pack run (all 6 skills). Individual skill: ~2,000–4,000 tokens. Sonnet default for code generation and security patterns. Use haiku for pattern detection scans (Steps 1–2 of each skill); escalate to sonnet for code generation and security audit; escalate to opus for architectural decisions (isolation strategy selection, RBAC schema design).