@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,71 +1,71 @@
1
- ---
2
- name: "webgl"
3
- pack: "@rune/gamedev"
4
- description: "WebGL patterns — shader programming, GLSL, buffer management, texture handling, instanced rendering."
5
- model: sonnet
6
- tools: [Read, Edit, Write, Grep, Glob, Bash]
7
- ---
8
-
9
- # webgl
10
-
11
- WebGL patterns — shader programming, GLSL, buffer management, texture handling, instanced rendering.
12
-
13
- #### Workflow
14
-
15
- **Step 1 — Detect WebGL usage**
16
- Use Grep to find WebGL code: `getContext('webgl`, `gl.createShader`, `gl.createProgram`, `*.glsl`, `*.vert`, `*.frag`. Read shader files and GL initialization to understand: WebGL version, shader complexity, and buffer strategy.
17
-
18
- **Step 2 — Audit shader and buffer efficiency**
19
- Check for: uniforms set every frame that don't change (use UBO), separate draw calls for identical geometry (use instancing), textures not using mipmaps, missing `gl.deleteBuffer`/`gl.deleteTexture` cleanup, and shaders with expensive per-fragment branching.
20
-
21
- **Step 3 — Emit optimized WebGL code**
22
- Emit: WebGL2 setup with proper context attributes, VAO-based buffer management, instanced rendering for repeated geometry, and GLSL shaders with documented inputs/outputs.
23
-
24
- #### Example
25
-
26
- ```glsl
27
- // Vertex shader — instanced rendering with per-instance transform
28
- #version 300 es
29
- layout(location = 0) in vec3 aPosition;
30
- layout(location = 1) in vec3 aNormal;
31
- layout(location = 2) in mat4 aInstanceMatrix; // per-instance (locations 2-5)
32
-
33
- uniform mat4 uViewProjection;
34
-
35
- out vec3 vNormal;
36
- out vec3 vWorldPos;
37
-
38
- void main() {
39
- vec4 worldPos = aInstanceMatrix * vec4(aPosition, 1.0);
40
- vWorldPos = worldPos.xyz;
41
- vNormal = mat3(transpose(inverse(aInstanceMatrix))) * aNormal;
42
- gl_Position = uViewProjection * worldPos;
43
- }
44
- ```
45
-
46
- ```glsl
47
- // Fragment shader — PBR-lite with single directional light
48
- #version 300 es
49
- precision highp float;
50
-
51
- in vec3 vNormal;
52
- in vec3 vWorldPos;
53
- out vec4 fragColor;
54
-
55
- uniform vec3 uLightDir;
56
- uniform vec3 uCameraPos;
57
- uniform vec3 uBaseColor;
58
-
59
- void main() {
60
- vec3 N = normalize(vNormal);
61
- vec3 L = normalize(uLightDir);
62
- vec3 V = normalize(uCameraPos - vWorldPos);
63
- vec3 H = normalize(L + V);
64
-
65
- float diffuse = max(dot(N, L), 0.0);
66
- float specular = pow(max(dot(N, H), 0.0), 32.0);
67
- vec3 ambient = uBaseColor * 0.15;
68
-
69
- fragColor = vec4(ambient + uBaseColor * diffuse + vec3(specular * 0.5), 1.0);
70
- }
71
- ```
1
+ ---
2
+ name: "webgl"
3
+ pack: "@rune/gamedev"
4
+ description: "WebGL patterns — shader programming, GLSL, buffer management, texture handling, instanced rendering."
5
+ model: sonnet
6
+ tools: [Read, Edit, Write, Grep, Glob, Bash]
7
+ ---
8
+
9
+ # webgl
10
+
11
+ WebGL patterns — shader programming, GLSL, buffer management, texture handling, instanced rendering.
12
+
13
+ #### Workflow
14
+
15
+ **Step 1 — Detect WebGL usage**
16
+ Use Grep to find WebGL code: `getContext('webgl`, `gl.createShader`, `gl.createProgram`, `*.glsl`, `*.vert`, `*.frag`. Read shader files and GL initialization to understand: WebGL version, shader complexity, and buffer strategy.
17
+
18
+ **Step 2 — Audit shader and buffer efficiency**
19
+ Check for: uniforms set every frame that don't change (use UBO), separate draw calls for identical geometry (use instancing), textures not using mipmaps, missing `gl.deleteBuffer`/`gl.deleteTexture` cleanup, and shaders with expensive per-fragment branching.
20
+
21
+ **Step 3 — Emit optimized WebGL code**
22
+ Emit: WebGL2 setup with proper context attributes, VAO-based buffer management, instanced rendering for repeated geometry, and GLSL shaders with documented inputs/outputs.
23
+
24
+ #### Example
25
+
26
+ ```glsl
27
+ // Vertex shader — instanced rendering with per-instance transform
28
+ #version 300 es
29
+ layout(location = 0) in vec3 aPosition;
30
+ layout(location = 1) in vec3 aNormal;
31
+ layout(location = 2) in mat4 aInstanceMatrix; // per-instance (locations 2-5)
32
+
33
+ uniform mat4 uViewProjection;
34
+
35
+ out vec3 vNormal;
36
+ out vec3 vWorldPos;
37
+
38
+ void main() {
39
+ vec4 worldPos = aInstanceMatrix * vec4(aPosition, 1.0);
40
+ vWorldPos = worldPos.xyz;
41
+ vNormal = mat3(transpose(inverse(aInstanceMatrix))) * aNormal;
42
+ gl_Position = uViewProjection * worldPos;
43
+ }
44
+ ```
45
+
46
+ ```glsl
47
+ // Fragment shader — PBR-lite with single directional light
48
+ #version 300 es
49
+ precision highp float;
50
+
51
+ in vec3 vNormal;
52
+ in vec3 vWorldPos;
53
+ out vec4 fragColor;
54
+
55
+ uniform vec3 uLightDir;
56
+ uniform vec3 uCameraPos;
57
+ uniform vec3 uBaseColor;
58
+
59
+ void main() {
60
+ vec3 N = normalize(vNormal);
61
+ vec3 L = normalize(uLightDir);
62
+ vec3 V = normalize(uCameraPos - vWorldPos);
63
+ vec3 H = normalize(L + V);
64
+
65
+ float diffuse = max(dot(N, L), 0.0);
66
+ float specular = pow(max(dot(N, H), 0.0), 32.0);
67
+ vec3 ambient = uBaseColor * 0.15;
68
+
69
+ fragColor = vec4(ambient + uBaseColor * diffuse + vec3(specular * 0.5), 1.0);
70
+ }
71
+ ```
@@ -1,106 +1,106 @@
1
- ---
2
- name: "@rune/mobile"
3
- description: Mobile development patterns — React Native, Flutter, deep linking, push notifications, OTA updates, app store preparation, native bridge integration, iOS build pipeline, and App Store Connect automation.
4
- metadata:
5
- author: runedev
6
- version: "0.3.0"
7
- layer: L4
8
- price: "$15"
9
- target: Mobile developers
10
- format: split
11
- ---
12
-
13
- # @rune/mobile
14
-
15
- ## Purpose
16
-
17
- Mobile development has platform-specific pitfalls that web developers hit repeatedly: navigation stacks that leak memory, FlatList rendering that drops frames, New Architecture migration that silently breaks third-party libraries, deep links that work in dev but fail in production, push notifications that never arrive on iOS, OTA updates that crash on bytecode mismatch, and app store rejections for missing privacy manifests. This pack provides patterns for React Native and Flutter — detect the framework, audit for mobile-specific anti-patterns, and emit fixes that pass platform review.
18
-
19
- ## Triggers
20
-
21
- - Auto-trigger: when `react-native`, `expo`, `flutter`, `android/`, `ios/`, `app.json` (Expo) detected
22
- - `/rune react-native` — audit React Native architecture and performance
23
- - `/rune flutter` — audit Flutter architecture and state management
24
- - `/rune deep-linking` — set up or audit deep linking (Universal Links, App Links)
25
- - `/rune push-notifications` — set up or audit push notification pipeline
26
- - `/rune ota-updates` — set up or audit OTA update strategy
27
- - `/rune app-store-prep` — prepare app store submission
28
- - `/rune native-bridge` — audit or create native module bridges
29
- - `/rune ios-build` — end-to-end iOS build, sign, archive, upload pipeline
30
- - `/rune app-store-connect` — App Store Connect API operations (versions, screenshots, localization, IAPs)
31
- - Called by `cook` (L1) when mobile task detected
32
- - Called by `team` (L1) when porting web to mobile
33
-
34
- ## Skills Included
35
-
36
- | Skill | Model | Description |
37
- |-------|-------|-------------|
38
- | [react-native](skills/react-native.md) | sonnet | New Architecture migration, navigation, state management, performance optimization |
39
- | [flutter](skills/flutter.md) | sonnet | Widget composition, Riverpod/BLoC state, platform channels, adaptive layouts |
40
- | [deep-linking](skills/deep-linking.md) | sonnet | Universal Links (iOS), App Links (Android), auth + deep link race condition |
41
- | [push-notifications](skills/push-notifications.md) | sonnet | FCM v1, APNs, Expo Notifications, permission handling, delivery debugging |
42
- | [ota-updates](skills/ota-updates.md) | sonnet | EAS Update, runtime version management, rollback, bytecode compatibility |
43
- | [app-store-prep](skills/app-store-prep.md) | sonnet | Screenshots, metadata, privacy manifests, submission checklist |
44
- | [native-bridge](skills/native-bridge.md) | sonnet | Expo Modules API, TurboModules, Swift/Kotlin interop, background tasks |
45
- | [ios-build-pipeline](skills/ios-build-pipeline.md) | sonnet | Certificate generation, provisioning, Xcode archive, IPA export, TestFlight upload |
46
- | [app-store-connect](skills/app-store-connect.md) | sonnet | Version management, localization, screenshot upload, IAP, review submission |
47
-
48
- Skill files: `skills/<skill-name>.md`
49
-
50
- ## Connections
51
-
52
- ```
53
- Calls → browser-pilot (L3): device testing and screenshot automation
54
- Calls → asset-creator (L3): generate app icons and splash screens
55
- Calls → sentinel (L2): audit push notification security, deep link validation
56
- Calls → verification (L3): run mobile-specific checks (build, lint, type-check)
57
- Calls → @rune/ui (L4): design system tokens, palette, typography for mobile UI consistency
58
- Calls → @rune/backend (L4): API patterns for mobile backend integration (auth, push server)
59
- Calls → @rune/security (L4): code signing audit, API key management, certificate validation
60
- Called By ← cook (L1): when mobile task detected
61
- Called By ← team (L1): when porting web to mobile
62
- Called By ← launch (L1): app store submission flow
63
- Called By ← deploy (L2): mobile-specific deployment (EAS Build, Fastlane)
64
- Inter-skill: ios-build-pipeline → app-store-prep (pipeline feeds into submission checklist)
65
- Inter-skill: app-store-connect → app-store-prep (API automation completes manual checklist items)
66
- Inter-skill: ios-build-pipeline → app-store-connect (upload build → attach to version → submit)
67
- ```
68
-
69
- ## Tech Stack Support
70
-
71
- | Framework | State Management | Navigation | Build | OTA |
72
- |-----------|-----------------|------------|-------|-----|
73
- | React Native (bare) | Zustand / Redux | React Navigation v7 | Metro + Gradle/Xcode | CodePush |
74
- | Expo (managed) | Zustand | Expo Router v4 | EAS Build | EAS Update |
75
- | Flutter | Riverpod / BLoC | GoRouter | Flutter CLI | Shorebird |
76
- | Native iOS (Swift) | SwiftUI @Observable | NavigationStack | xcodebuild | — |
77
-
78
- ## Sharp Edges
79
-
80
- Critical failures to know before using this pack:
81
-
82
- - **New Architecture** silently breaks legacy `NativeModules.X` and `setNativeProps` — audit all native deps against `reactnative.directory` before upgrading
83
- - **OTA bytecode mismatch** crashes on launch — never deploy OTA update across React Native version boundaries; use `fingerprintExperimental` runtime version
84
- - **Universal Links** silently break when AASA endpoint redirects (HTTP→HTTPS) — serve at exact path, verify with `curl -I`
85
- - **Firebase Dynamic Links** shut down August 2025 — all `page.link` URLs dead; migrate to Branch.io or standard App Links
86
- - **PrivacyInfo.xcprivacy** absence triggers auto-rejection on App Store (mandatory since April 2025)
87
- - **FCM Legacy API** fully shut down June 2024 — must use FCM v1 with service account JSON
88
- - **OpenSSL 3.x** `.p12` export silently fails without `-legacy` flag on macOS 14+
89
- - **ASC API rate limit**: 200 req/min; JWT expires in 20 min — implement auto-refresh and exponential backoff
90
-
91
- Full sharp edges table: see individual skill files.
92
-
93
- ## Done When
94
-
95
- - React Native/Flutter codebase audited for New Architecture compatibility with migration plan
96
- - Deep links working on both platforms with authentication integration and real device verification
97
- - Push notifications delivering reliably via FCM v1 with proper permission handling
98
- - OTA update strategy configured with runtime version management and rollback procedure
99
- - App store metadata generated with correct dimensions, privacy manifest, and platform-specific requirements
100
- - Native bridges typed and error-handled for both platforms using modern APIs
101
- - iOS build pipeline producing signed IPA with idempotent signing state
102
- - App Store Connect operations automated — version, localization, screenshots, IAP, submission
103
-
104
- ## Cost Profile
105
-
106
- ~16,000–32,000 tokens per full pack run (all 9 skills). Individual skill: ~2,000–5,000 tokens. Sonnet default. Use haiku for config detection; escalate to sonnet for code generation, build pipeline, and ASC API patterns.
1
+ ---
2
+ name: "@rune/mobile"
3
+ description: Mobile development patterns — React Native, Flutter, deep linking, push notifications, OTA updates, app store preparation, native bridge integration, iOS build pipeline, and App Store Connect automation.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.3.0"
7
+ layer: L4
8
+ price: "$15"
9
+ target: Mobile developers
10
+ format: split
11
+ ---
12
+
13
+ # @rune/mobile
14
+
15
+ ## Purpose
16
+
17
+ Mobile development has platform-specific pitfalls that web developers hit repeatedly: navigation stacks that leak memory, FlatList rendering that drops frames, New Architecture migration that silently breaks third-party libraries, deep links that work in dev but fail in production, push notifications that never arrive on iOS, OTA updates that crash on bytecode mismatch, and app store rejections for missing privacy manifests. This pack provides patterns for React Native and Flutter — detect the framework, audit for mobile-specific anti-patterns, and emit fixes that pass platform review.
18
+
19
+ ## Triggers
20
+
21
+ - Auto-trigger: when `react-native`, `expo`, `flutter`, `android/`, `ios/`, `app.json` (Expo) detected
22
+ - `/rune react-native` — audit React Native architecture and performance
23
+ - `/rune flutter` — audit Flutter architecture and state management
24
+ - `/rune deep-linking` — set up or audit deep linking (Universal Links, App Links)
25
+ - `/rune push-notifications` — set up or audit push notification pipeline
26
+ - `/rune ota-updates` — set up or audit OTA update strategy
27
+ - `/rune app-store-prep` — prepare app store submission
28
+ - `/rune native-bridge` — audit or create native module bridges
29
+ - `/rune ios-build` — end-to-end iOS build, sign, archive, upload pipeline
30
+ - `/rune app-store-connect` — App Store Connect API operations (versions, screenshots, localization, IAPs)
31
+ - Called by `cook` (L1) when mobile task detected
32
+ - Called by `team` (L1) when porting web to mobile
33
+
34
+ ## Skills Included
35
+
36
+ | Skill | Model | Description |
37
+ |-------|-------|-------------|
38
+ | [react-native](skills/react-native.md) | sonnet | New Architecture migration, navigation, state management, performance optimization |
39
+ | [flutter](skills/flutter.md) | sonnet | Widget composition, Riverpod/BLoC state, platform channels, adaptive layouts |
40
+ | [deep-linking](skills/deep-linking.md) | sonnet | Universal Links (iOS), App Links (Android), auth + deep link race condition |
41
+ | [push-notifications](skills/push-notifications.md) | sonnet | FCM v1, APNs, Expo Notifications, permission handling, delivery debugging |
42
+ | [ota-updates](skills/ota-updates.md) | sonnet | EAS Update, runtime version management, rollback, bytecode compatibility |
43
+ | [app-store-prep](skills/app-store-prep.md) | sonnet | Screenshots, metadata, privacy manifests, submission checklist |
44
+ | [native-bridge](skills/native-bridge.md) | sonnet | Expo Modules API, TurboModules, Swift/Kotlin interop, background tasks |
45
+ | [ios-build-pipeline](skills/ios-build-pipeline.md) | sonnet | Certificate generation, provisioning, Xcode archive, IPA export, TestFlight upload |
46
+ | [app-store-connect](skills/app-store-connect.md) | sonnet | Version management, localization, screenshot upload, IAP, review submission |
47
+
48
+ Skill files: `skills/<skill-name>.md`
49
+
50
+ ## Connections
51
+
52
+ ```
53
+ Calls → browser-pilot (L3): device testing and screenshot automation
54
+ Calls → asset-creator (L3): generate app icons and splash screens
55
+ Calls → sentinel (L2): audit push notification security, deep link validation
56
+ Calls → verification (L3): run mobile-specific checks (build, lint, type-check)
57
+ Calls → @rune/ui (L4): design system tokens, palette, typography for mobile UI consistency
58
+ Calls → @rune/backend (L4): API patterns for mobile backend integration (auth, push server)
59
+ Calls → @rune/security (L4): code signing audit, API key management, certificate validation
60
+ Called By ← cook (L1): when mobile task detected
61
+ Called By ← team (L1): when porting web to mobile
62
+ Called By ← launch (L1): app store submission flow
63
+ Called By ← deploy (L2): mobile-specific deployment (EAS Build, Fastlane)
64
+ Inter-skill: ios-build-pipeline → app-store-prep (pipeline feeds into submission checklist)
65
+ Inter-skill: app-store-connect → app-store-prep (API automation completes manual checklist items)
66
+ Inter-skill: ios-build-pipeline → app-store-connect (upload build → attach to version → submit)
67
+ ```
68
+
69
+ ## Tech Stack Support
70
+
71
+ | Framework | State Management | Navigation | Build | OTA |
72
+ |-----------|-----------------|------------|-------|-----|
73
+ | React Native (bare) | Zustand / Redux | React Navigation v7 | Metro + Gradle/Xcode | CodePush |
74
+ | Expo (managed) | Zustand | Expo Router v4 | EAS Build | EAS Update |
75
+ | Flutter | Riverpod / BLoC | GoRouter | Flutter CLI | Shorebird |
76
+ | Native iOS (Swift) | SwiftUI @Observable | NavigationStack | xcodebuild | — |
77
+
78
+ ## Sharp Edges
79
+
80
+ Critical failures to know before using this pack:
81
+
82
+ - **New Architecture** silently breaks legacy `NativeModules.X` and `setNativeProps` — audit all native deps against `reactnative.directory` before upgrading
83
+ - **OTA bytecode mismatch** crashes on launch — never deploy OTA update across React Native version boundaries; use `fingerprintExperimental` runtime version
84
+ - **Universal Links** silently break when AASA endpoint redirects (HTTP→HTTPS) — serve at exact path, verify with `curl -I`
85
+ - **Firebase Dynamic Links** shut down August 2025 — all `page.link` URLs dead; migrate to Branch.io or standard App Links
86
+ - **PrivacyInfo.xcprivacy** absence triggers auto-rejection on App Store (mandatory since April 2025)
87
+ - **FCM Legacy API** fully shut down June 2024 — must use FCM v1 with service account JSON
88
+ - **OpenSSL 3.x** `.p12` export silently fails without `-legacy` flag on macOS 14+
89
+ - **ASC API rate limit**: 200 req/min; JWT expires in 20 min — implement auto-refresh and exponential backoff
90
+
91
+ Full sharp edges table: see individual skill files.
92
+
93
+ ## Done When
94
+
95
+ - React Native/Flutter codebase audited for New Architecture compatibility with migration plan
96
+ - Deep links working on both platforms with authentication integration and real device verification
97
+ - Push notifications delivering reliably via FCM v1 with proper permission handling
98
+ - OTA update strategy configured with runtime version management and rollback procedure
99
+ - App store metadata generated with correct dimensions, privacy manifest, and platform-specific requirements
100
+ - Native bridges typed and error-handled for both platforms using modern APIs
101
+ - iOS build pipeline producing signed IPA with idempotent signing state
102
+ - App Store Connect operations automated — version, localization, screenshots, IAP, submission
103
+
104
+ ## Cost Profile
105
+
106
+ ~16,000–32,000 tokens per full pack run (all 9 skills). Individual skill: ~2,000–5,000 tokens. Sonnet default. Use haiku for config detection; escalate to sonnet for code generation, build pipeline, and ASC API patterns.