@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.
- package/LICENSE +21 -21
- package/README.md +65 -6
- package/commands/rune.md +168 -168
- package/compiler/__tests__/detect-invariants.test.js +136 -0
- package/compiler/__tests__/doctor-mesh.test.js +229 -0
- package/compiler/__tests__/hook-dispatch.test.js +91 -0
- package/compiler/__tests__/hooks-antigravity.test.js +118 -0
- package/compiler/__tests__/hooks-cursor.test.js +139 -0
- package/compiler/__tests__/hooks-install.test.js +305 -0
- package/compiler/__tests__/hooks-merge.test.js +204 -0
- package/compiler/__tests__/hooks-tiers.test.js +519 -0
- package/compiler/__tests__/hooks-windsurf.test.js +115 -0
- package/compiler/__tests__/inject-claude-md.test.js +152 -0
- package/compiler/__tests__/load-invariants.test.js +408 -0
- package/compiler/__tests__/onboard-invariants.test.js +240 -0
- package/compiler/adapters/hooks/antigravity.js +140 -0
- package/compiler/adapters/hooks/claude.js +166 -0
- package/compiler/adapters/hooks/cursor.js +191 -0
- package/compiler/adapters/hooks/index.js +82 -0
- package/compiler/adapters/hooks/tier-emitter.js +182 -0
- package/compiler/adapters/hooks/windsurf.js +202 -0
- package/compiler/bin/rune.js +196 -6
- package/compiler/commands/hook-dispatch.js +87 -0
- package/compiler/commands/hooks/install.js +120 -0
- package/compiler/commands/hooks/merge.js +211 -0
- package/compiler/commands/hooks/presets.js +116 -0
- package/compiler/commands/hooks/status.js +112 -0
- package/compiler/commands/hooks/tiers.js +221 -0
- package/compiler/commands/hooks/uninstall.js +94 -0
- package/compiler/doctor.js +236 -0
- package/contexts/dev.md +34 -34
- package/contexts/research.md +43 -43
- package/contexts/review.md +55 -55
- package/extensions/ai-ml/PACK.md +88 -88
- package/extensions/ai-ml/skills/ai-agents.md +172 -172
- package/extensions/ai-ml/skills/code-sandbox.md +187 -187
- package/extensions/ai-ml/skills/deep-research.md +146 -146
- package/extensions/ai-ml/skills/embedding-search.md +66 -66
- package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
- package/extensions/ai-ml/skills/llm-architect.md +125 -125
- package/extensions/ai-ml/skills/llm-integration.md +64 -64
- package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
- package/extensions/ai-ml/skills/rag-patterns.md +66 -66
- package/extensions/ai-ml/skills/web-extraction.md +114 -114
- package/extensions/analytics/PACK.md +92 -92
- package/extensions/analytics/skills/ab-testing.md +72 -72
- package/extensions/analytics/skills/dashboard-patterns.md +83 -83
- package/extensions/analytics/skills/data-validation.md +68 -68
- package/extensions/analytics/skills/funnel-analysis.md +81 -81
- package/extensions/analytics/skills/sql-patterns.md +57 -57
- package/extensions/analytics/skills/statistical-analysis.md +79 -79
- package/extensions/analytics/skills/tracking-setup.md +71 -71
- package/extensions/backend/PACK.md +104 -104
- package/extensions/backend/skills/api-patterns.md +84 -84
- package/extensions/backend/skills/async-pipeline.md +193 -193
- package/extensions/backend/skills/auth-patterns.md +97 -97
- package/extensions/backend/skills/background-jobs.md +133 -133
- package/extensions/backend/skills/caching-patterns.md +108 -108
- package/extensions/backend/skills/cli-generation.md +133 -133
- package/extensions/backend/skills/database-patterns.md +87 -87
- package/extensions/backend/skills/middleware-patterns.md +104 -104
- package/extensions/chrome-ext/PACK.md +93 -93
- package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
- package/extensions/chrome-ext/skills/cws-publish.md +104 -104
- package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
- package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
- package/extensions/chrome-ext/skills/ext-storage.md +133 -133
- package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
- package/extensions/content/PACK.md +96 -96
- package/extensions/content/skills/blog-patterns.md +88 -88
- package/extensions/content/skills/cms-integration.md +131 -131
- package/extensions/content/skills/content-scoring.md +107 -107
- package/extensions/content/skills/i18n.md +83 -83
- package/extensions/content/skills/mdx-authoring.md +137 -137
- package/extensions/content/skills/reference.md +1014 -1014
- package/extensions/content/skills/seo-patterns.md +67 -67
- package/extensions/content/skills/video-repurpose.md +153 -153
- package/extensions/devops/PACK.md +101 -101
- package/extensions/devops/skills/chaos-testing.md +67 -67
- package/extensions/devops/skills/ci-cd.md +75 -75
- package/extensions/devops/skills/docker.md +58 -58
- package/extensions/devops/skills/edge-serverless.md +163 -163
- package/extensions/devops/skills/infra-as-code.md +158 -158
- package/extensions/devops/skills/kubernetes.md +110 -110
- package/extensions/devops/skills/monitoring.md +57 -57
- package/extensions/devops/skills/server-setup.md +64 -64
- package/extensions/devops/skills/ssl-domain.md +42 -42
- package/extensions/ecommerce/PACK.md +116 -116
- package/extensions/ecommerce/skills/cart-system.md +79 -79
- package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
- package/extensions/ecommerce/skills/order-management.md +126 -126
- package/extensions/ecommerce/skills/payment-integration.md +472 -472
- package/extensions/ecommerce/skills/shopify-dev.md +69 -69
- package/extensions/ecommerce/skills/subscription-billing.md +93 -93
- package/extensions/ecommerce/skills/tax-compliance.md +117 -117
- package/extensions/gamedev/PACK.md +142 -142
- package/extensions/gamedev/skills/asset-pipeline.md +74 -74
- package/extensions/gamedev/skills/audio-system.md +129 -129
- package/extensions/gamedev/skills/camera-system.md +87 -87
- package/extensions/gamedev/skills/ecs.md +98 -98
- package/extensions/gamedev/skills/game-loops.md +72 -72
- package/extensions/gamedev/skills/input-system.md +199 -199
- package/extensions/gamedev/skills/multiplayer.md +180 -180
- package/extensions/gamedev/skills/particles.md +105 -105
- package/extensions/gamedev/skills/physics-engine.md +89 -89
- package/extensions/gamedev/skills/scene-management.md +146 -146
- package/extensions/gamedev/skills/threejs-patterns.md +90 -90
- package/extensions/gamedev/skills/webgl.md +71 -71
- package/extensions/mobile/PACK.md +106 -106
- package/extensions/mobile/skills/app-store-connect.md +152 -152
- package/extensions/mobile/skills/app-store-prep.md +66 -66
- package/extensions/mobile/skills/deep-linking.md +109 -109
- package/extensions/mobile/skills/flutter.md +60 -60
- package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
- package/extensions/mobile/skills/native-bridge.md +66 -66
- package/extensions/mobile/skills/ota-updates.md +97 -97
- package/extensions/mobile/skills/push-notifications.md +111 -111
- package/extensions/mobile/skills/react-native.md +82 -82
- package/extensions/saas/PACK.md +116 -116
- package/extensions/saas/skills/billing-integration.md +200 -200
- package/extensions/saas/skills/feature-flags.md +130 -130
- package/extensions/saas/skills/multi-tenant.md +103 -103
- package/extensions/saas/skills/onboarding-flow.md +139 -139
- package/extensions/saas/skills/subscription-flow.md +95 -95
- package/extensions/saas/skills/team-management.md +144 -144
- package/extensions/security/PACK.md +99 -99
- package/extensions/security/skills/api-security.md +140 -140
- package/extensions/security/skills/compliance.md +68 -68
- package/extensions/security/skills/owasp-audit.md +64 -64
- package/extensions/security/skills/pentest-patterns.md +77 -77
- package/extensions/security/skills/secret-mgmt.md +65 -65
- package/extensions/security/skills/supply-chain.md +65 -65
- package/extensions/trading/PACK.md +80 -80
- package/extensions/trading/skills/chart-components.md +55 -55
- package/extensions/trading/skills/experiment-loop.md +125 -125
- package/extensions/trading/skills/fintech-patterns.md +47 -47
- package/extensions/trading/skills/indicator-library.md +58 -58
- package/extensions/trading/skills/quant-analysis.md +111 -111
- package/extensions/trading/skills/realtime-data.md +58 -58
- package/extensions/trading/skills/trade-logic.md +104 -104
- package/extensions/ui/PACK.md +130 -130
- package/extensions/ui/skills/a11y-audit.md +91 -91
- package/extensions/ui/skills/animation-patterns.md +127 -127
- package/extensions/ui/skills/component-patterns.md +100 -100
- package/extensions/ui/skills/design-decision.md +108 -108
- package/extensions/ui/skills/design-system.md +68 -68
- package/extensions/ui/skills/landing-patterns.md +155 -155
- package/extensions/ui/skills/palette-picker.md +173 -173
- package/extensions/ui/skills/react-health.md +90 -90
- package/extensions/ui/skills/type-system.md +125 -125
- package/extensions/ui/skills/web-vitals.md +153 -153
- package/extensions/zalo/PACK.md +145 -145
- package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
- package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
- package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
- package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
- package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
- package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
- package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
- package/hooks/auto-format/index.cjs +48 -48
- package/hooks/hooks.json +111 -111
- package/hooks/post-session-reflect/index.cjs +189 -189
- package/hooks/pre-compact/index.cjs +95 -95
- package/hooks/run-hook.cmd +1 -1
- package/hooks/secrets-scan/index.cjs +100 -100
- package/hooks/session-start/index.cjs +71 -71
- package/hooks/typecheck/index.cjs +65 -65
- package/package.json +63 -63
- package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
- package/references/ui-pro-max-data/charts.csv +26 -26
- package/references/ui-pro-max-data/colors.csv +161 -161
- package/references/ui-pro-max-data/styles.csv +68 -68
- package/references/ui-pro-max-data/typography.csv +74 -74
- package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
- package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
- package/skills/adversary/SKILL.md +283 -283
- package/skills/asset-creator/SKILL.md +157 -157
- package/skills/audit/SKILL.md +147 -2
- package/skills/autopsy/SKILL.md +335 -335
- package/skills/ba/SKILL.md +85 -1
- package/skills/brainstorm/SKILL.md +380 -342
- package/skills/browser-pilot/SKILL.md +169 -168
- package/skills/constraint-check/SKILL.md +165 -165
- package/skills/context-engine/SKILL.md +408 -404
- package/skills/cook/SKILL.md +917 -863
- package/skills/db/SKILL.md +273 -273
- package/skills/debug/SKILL.md +465 -465
- package/skills/dependency-doctor/SKILL.md +265 -235
- package/skills/deploy/SKILL.md +274 -231
- package/skills/design/DESIGN-REFERENCE.md +365 -365
- package/skills/design/SKILL.md +590 -589
- package/skills/doc-processor/SKILL.md +254 -254
- package/skills/docs/SKILL.md +374 -374
- package/skills/docs-seeker/SKILL.md +178 -177
- package/skills/fix/SKILL.md +332 -330
- package/skills/git/SKILL.md +339 -339
- package/skills/hallucination-guard/SKILL.md +220 -219
- package/skills/incident/SKILL.md +254 -253
- package/skills/integrity-check/SKILL.md +169 -169
- package/skills/journal/SKILL.md +241 -240
- package/skills/launch/SKILL.md +344 -344
- package/skills/logic-guardian/SKILL.md +269 -251
- package/skills/marketing/SKILL.md +351 -289
- package/skills/mcp-builder/SKILL.md +425 -425
- package/skills/neural-memory/SKILL.md +359 -362
- package/skills/onboard/SKILL.md +432 -403
- package/skills/onboard/references/invariants-template.md +76 -0
- package/skills/onboard/scripts/detect-invariants.js +439 -0
- package/skills/onboard/scripts/inject-claude-md.js +150 -0
- package/skills/onboard/scripts/onboard-invariants.js +194 -0
- package/skills/perf/SKILL.md +347 -346
- package/skills/plan/SKILL.md +435 -428
- package/skills/preflight/SKILL.md +415 -415
- package/skills/problem-solver/SKILL.md +380 -284
- package/skills/rescue/SKILL.md +474 -474
- package/skills/research/SKILL.md +4 -0
- package/skills/retro/SKILL.md +3 -1
- package/skills/review/SKILL.md +614 -588
- package/skills/review-intake/SKILL.md +249 -249
- package/skills/safeguard/SKILL.md +200 -200
- package/skills/sast/SKILL.md +190 -190
- package/skills/scaffold/SKILL.md +328 -287
- package/skills/scope-guard/SKILL.md +183 -180
- package/skills/scout/SKILL.md +269 -263
- package/skills/sentinel/SKILL.md +384 -381
- package/skills/sentinel-env/SKILL.md +254 -254
- package/skills/sequential-thinking/SKILL.md +234 -234
- package/skills/session-bridge/SKILL.md +595 -543
- package/skills/session-bridge/scripts/load-invariants.js +397 -0
- package/skills/skill-forge/SKILL.md +581 -581
- package/skills/skill-router/SKILL.md +3 -0
- package/skills/slides/SKILL.md +19 -0
- package/skills/surgeon/SKILL.md +215 -215
- package/skills/team/SKILL.md +557 -537
- package/skills/test/SKILL.md +620 -614
- package/skills/trend-scout/SKILL.md +145 -145
- package/skills/verification/SKILL.md +334 -326
- package/skills/video-creator/SKILL.md +201 -201
- package/skills/watchdog/SKILL.md +168 -168
- 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.
|