@haposoft/cafekit 0.16.0-rc.8 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/README.md +117 -28
  2. package/bin/__tests__/codex-hooks-ownership.test.js +239 -0
  3. package/bin/__tests__/codex-hooks.test.js +175 -0
  4. package/bin/__tests__/codex-native.test.js +1882 -70
  5. package/bin/__tests__/develop-contract.test.js +442 -23
  6. package/bin/__tests__/grok-envelope.test.js +271 -0
  7. package/bin/__tests__/grok-platform.test.js +133 -0
  8. package/bin/__tests__/hook-payload.test.js +194 -0
  9. package/bin/__tests__/installer-safety.test.js +3 -3
  10. package/bin/__tests__/omp-bridge.test.js +168 -0
  11. package/bin/__tests__/omp-hooks.test.js +178 -0
  12. package/bin/__tests__/omp-runtime.test.js +150 -0
  13. package/bin/__tests__/optional-skill-inventory.test.js +249 -0
  14. package/bin/__tests__/output-styles.test.js +214 -0
  15. package/bin/__tests__/package-inventory.test.js +1735 -98
  16. package/bin/__tests__/runtime-dir.test.js +158 -0
  17. package/bin/__tests__/runtime-schema.test.js +113 -0
  18. package/bin/__tests__/secret-output-guardrail.test.js +122 -0
  19. package/bin/__tests__/skill-routing-source.test.js +172 -0
  20. package/bin/__tests__/specs-v2-execution-closeout.test.js +28 -1
  21. package/bin/install.js +15 -5
  22. package/bin/lib/codex-install.js +170 -5
  23. package/bin/lib/context.js +64 -3
  24. package/bin/lib/i18n.js +15 -36
  25. package/bin/lib/skill-deps.js +5 -5
  26. package/bin/phases/claude-runtime.js +23 -0
  27. package/bin/phases/claude-settings.js +8 -0
  28. package/bin/phases/codex-hooks.js +156 -0
  29. package/bin/phases/codex-runtime.js +29 -38
  30. package/bin/phases/copy-payload.js +15 -2
  31. package/bin/phases/omp-runtime.js +140 -0
  32. package/bin/phases/root-config.js +3 -0
  33. package/bin/phases/select-platform.js +22 -1
  34. package/bin/phases/select-skill-bundles.js +96 -0
  35. package/bin/phases/skill-inventory.js +71 -0
  36. package/bin/phases/skills-setup.js +9 -2
  37. package/bin/phases/summary.js +0 -4
  38. package/bin/phases/write-metadata.js +8 -5
  39. package/package.json +8 -2
  40. package/src/claude/CLAUDE.md +3 -3
  41. package/src/claude/agents/brainstormer.md +52 -69
  42. package/src/claude/agents/code-auditor.md +32 -14
  43. package/src/claude/agents/debugger.md +35 -20
  44. package/src/claude/agents/deployer.md +12 -5
  45. package/src/claude/agents/docs-keeper.md +11 -1
  46. package/src/claude/agents/implementer.md +25 -13
  47. package/src/claude/agents/inspector.md +6 -3
  48. package/src/claude/agents/project-manager.md +1 -1
  49. package/src/claude/agents/researcher.md +26 -55
  50. package/src/claude/agents/spec-maker.md +12 -7
  51. package/src/claude/agents/strategist.md +52 -0
  52. package/src/claude/agents/test-runner.md +117 -132
  53. package/src/claude/agents/ui-ux-designer.md +1 -1
  54. package/src/claude/hooks/__tests__/fixtures/statusline-default.golden +1 -0
  55. package/src/claude/hooks/__tests__/precompact.test.js +158 -0
  56. package/src/claude/hooks/__tests__/semantic-review-authority.test.js +2 -0
  57. package/src/claude/hooks/__tests__/spec-gate.test.js +348 -3
  58. package/src/claude/hooks/__tests__/state.test.js +7 -0
  59. package/src/claude/hooks/__tests__/statusline.test.js +196 -0
  60. package/src/claude/hooks/agent.cjs +13 -8
  61. package/src/claude/hooks/completion-authority.cjs +10 -4
  62. package/src/claude/hooks/docs-sync.cjs +14 -11
  63. package/src/claude/hooks/inspect-block.cjs +28 -8
  64. package/src/claude/hooks/lib/config.cjs +8 -2
  65. package/src/claude/hooks/lib/counter.cjs +7 -5
  66. package/src/claude/hooks/lib/hook-payload.cjs +160 -0
  67. package/src/claude/hooks/lib/hook-state-dir.cjs +39 -0
  68. package/src/claude/hooks/lib/runtime-dir.cjs +49 -0
  69. package/src/claude/hooks/lib/secret-keywords.cjs +42 -0
  70. package/src/claude/hooks/precompact.cjs +106 -0
  71. package/src/claude/hooks/privacy-block.cjs +4 -2
  72. package/src/claude/hooks/rules.cjs +5 -3
  73. package/src/claude/hooks/secret-output-guardrail.cjs +44 -0
  74. package/src/claude/hooks/semantic-review-authority.cjs +6 -4
  75. package/src/claude/hooks/session.cjs +37 -9
  76. package/src/claude/hooks/spec-gate.cjs +21 -11
  77. package/src/claude/hooks/spec-state.cjs +11 -7
  78. package/src/claude/hooks/state.cjs +7 -5
  79. package/src/claude/hooks/task-scaffold-guard.cjs +30 -9
  80. package/src/claude/hooks/usage.cjs +6 -5
  81. package/src/claude/migration-manifest.json +31 -15
  82. package/src/claude/output-styles/coding-level-0-eli5.md +103 -0
  83. package/src/claude/output-styles/coding-level-1-junior.md +124 -0
  84. package/src/claude/output-styles/coding-level-2-mid.md +146 -0
  85. package/src/claude/output-styles/coding-level-3-senior.md +148 -0
  86. package/src/claude/output-styles/coding-level-4-lead.md +159 -0
  87. package/src/claude/output-styles/coding-level-5-god.md +91 -0
  88. package/src/claude/references/debugger/core-philosophy.md +5 -3
  89. package/src/claude/references/debugger/frontend-verification.md +2 -2
  90. package/src/claude/references/debugger/log-ci-analysis.md +13 -1
  91. package/src/claude/references/debugger/parallel-agent-hydration.md +19 -34
  92. package/src/claude/references/debugger/performance-diagnostics.md +2 -2
  93. package/src/claude/references/debugger/root-cause-tracing.md +37 -6
  94. package/src/claude/references/debugger/side-effect-gate.md +3 -1
  95. package/src/claude/references/debugger/verification-protocol.md +13 -12
  96. package/src/claude/rules/orchestrator.md +7 -1
  97. package/src/claude/rules/process-management.md +39 -0
  98. package/src/claude/rules/review-audit-self-decision.md +48 -0
  99. package/src/claude/rules/skill-domain-routing.md +26 -24
  100. package/src/claude/rules/skill-workflow-routing.md +22 -14
  101. package/src/claude/rules/state-sync.md +7 -1
  102. package/src/claude/rules/workflow.md +5 -3
  103. package/src/claude/runtime.json +1 -0
  104. package/src/claude/runtime.schema.json +205 -0
  105. package/src/claude/scripts/generate-skill-catalog.cjs +156 -122
  106. package/src/claude/scripts/provenance.cjs +29 -9
  107. package/src/claude/scripts/spec-receipt.cjs +65 -4
  108. package/src/claude/scripts/workflow-policy.cjs +1 -1
  109. package/src/claude/settings/settings.json +16 -0
  110. package/src/claude/skills/agent-browser/SKILL.md +1 -1
  111. package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
  112. package/src/claude/skills/brainstorm/SKILL.md +193 -172
  113. package/src/claude/skills/brainstorm/references/question-framework.md +105 -167
  114. package/src/claude/skills/chrome-devtools/SKILL.md +1 -1
  115. package/src/claude/skills/code-review/SKILL.md +43 -25
  116. package/src/claude/skills/code-review/references/spec-compliance-review.md +3 -4
  117. package/src/claude/skills/code-review/references/verification-gate.md +1 -1
  118. package/src/claude/skills/debug/SKILL.md +48 -19
  119. package/src/claude/skills/delegate/SKILL.md +1 -1
  120. package/src/claude/skills/develop/SKILL.md +92 -65
  121. package/src/claude/skills/develop/references/parallel-waves.md +36 -63
  122. package/src/claude/skills/develop/references/quality-gate.md +31 -4
  123. package/src/claude/skills/develop/references/subagent-patterns.md +21 -7
  124. package/src/claude/skills/docs/SKILL.md +42 -23
  125. package/src/claude/skills/docs/references/init-workflow.md +4 -4
  126. package/src/claude/skills/docs/references/reconstruct-workflow.md +6 -6
  127. package/src/claude/skills/docs/references/standard-docs-workflow.md +6 -2
  128. package/src/claude/skills/docs/references/summarize-workflow.md +2 -2
  129. package/src/claude/skills/docs/references/update-workflow.md +9 -7
  130. package/src/claude/skills/docs/templates/requirements-as-is.md +1 -1
  131. package/src/claude/skills/docx/SKILL.md +1 -1
  132. package/src/claude/skills/git/SKILL.md +1 -1
  133. package/src/claude/skills/git/references/commit-protocols.md +1 -1
  134. package/src/claude/skills/git/references/finish-branch.md +1 -1
  135. package/src/claude/skills/hotfix/SKILL.md +159 -170
  136. package/src/claude/skills/hotfix/references/diagnosis-protocol.md +14 -9
  137. package/src/claude/skills/hotfix/references/parallel-patterns.md +27 -13
  138. package/src/claude/skills/hotfix/references/prevention-gate.md +5 -0
  139. package/src/claude/skills/hotfix/references/review-cycle.md +21 -15
  140. package/src/claude/skills/hotfix/references/workflow-specialized.md +53 -21
  141. package/src/claude/skills/inspect/SKILL.md +55 -46
  142. package/src/claude/skills/inspect/references/internal-inspection.md +21 -5
  143. package/src/claude/skills/loop/SKILL.md +114 -0
  144. package/src/claude/skills/loop/references/bounded-loop-protocol.md +104 -0
  145. package/src/claude/skills/loop/references/metric-and-guard-contract.md +76 -0
  146. package/src/claude/skills/pdf/SKILL.md +1 -1
  147. package/src/claude/skills/pptx/SKILL.md +1 -1
  148. package/src/claude/skills/question/SKILL.md +16 -13
  149. package/src/claude/skills/research/SKILL.md +70 -43
  150. package/src/claude/skills/route/SKILL.md +94 -0
  151. package/src/claude/skills/route/references/agent-timing.md +46 -0
  152. package/src/claude/skills/route/references/chaining-patterns.md +53 -0
  153. package/src/claude/skills/route/references/task-taxonomy.md +48 -0
  154. package/src/claude/skills/specs/SKILL.md +51 -71
  155. package/src/claude/skills/specs/references/review.md +11 -8
  156. package/src/claude/skills/specs/references/templates.md +34 -18
  157. package/src/claude/skills/specs/templates/requirements-init.md +1 -1
  158. package/src/claude/skills/specs/templates/research.md +2 -2
  159. package/src/claude/skills/sync/SKILL.md +6 -6
  160. package/src/claude/skills/sync/references/sync-protocols.md +1 -1
  161. package/src/claude/skills/test/SKILL.md +120 -120
  162. package/src/claude/skills/test/references/execution-strategy.md +208 -361
  163. package/src/claude/skills/test/references/failure-triage.md +55 -121
  164. package/src/claude/skills/test/references/test-memory.md +20 -34
  165. package/src/claude/skills/ui-ux-pro-max/SKILL.md +1 -1
  166. package/src/claude/skills/web-testing/SKILL.md +1 -1
  167. package/src/claude/skills/xlsx/SKILL.md +1 -1
  168. package/src/claude/status.cjs +135 -33
  169. package/src/codex/AGENTS.md +14 -4
  170. package/src/codex/hooks/docs-sync.cjs +8 -3
  171. package/src/codex/hooks/lib/hook-context.cjs +18 -4
  172. package/src/codex/hooks/rules.cjs +29 -1
  173. package/src/codex/hooks/secret-output-guardrail.cjs +30 -0
  174. package/src/codex/hooks/spec-gate.cjs +3 -8
  175. package/src/codex/hooks/spec-state.cjs +3 -2
  176. package/src/codex/hooks.json +5 -0
  177. package/src/codex/rules/state-sync.md +7 -1
  178. package/src/codex/runtime.json +2 -0
  179. package/src/common/.env.example +1 -1
  180. package/src/omp/extensions/cafekit-bridge.mjs +233 -0
  181. package/src/omp/hooks/privacy-block.cjs +250 -0
  182. package/src/omp/runtime.json +33 -0
  183. package/bin/lib/rtk-run.js +0 -28
  184. package/bin/phases/setup-rtk.js +0 -159
  185. package/src/claude/skills/backend-development/SKILL.md +0 -101
  186. package/src/claude/skills/backend-development/references/backend-api-design.md +0 -495
  187. package/src/claude/skills/backend-development/references/backend-architecture.md +0 -454
  188. package/src/claude/skills/backend-development/references/backend-authentication.md +0 -338
  189. package/src/claude/skills/backend-development/references/backend-code-quality.md +0 -659
  190. package/src/claude/skills/backend-development/references/backend-debugging.md +0 -904
  191. package/src/claude/skills/backend-development/references/backend-devops.md +0 -491
  192. package/src/claude/skills/backend-development/references/backend-mindset.md +0 -387
  193. package/src/claude/skills/backend-development/references/backend-performance.md +0 -397
  194. package/src/claude/skills/backend-development/references/backend-security.md +0 -342
  195. package/src/claude/skills/backend-development/references/backend-technologies.md +0 -256
  196. package/src/claude/skills/backend-development/references/backend-testing.md +0 -429
  197. package/src/claude/skills/devops/.env.example +0 -76
  198. package/src/claude/skills/devops/SKILL.md +0 -102
  199. package/src/claude/skills/devops/references/browser-rendering.md +0 -305
  200. package/src/claude/skills/devops/references/cloudflare-d1-kv.md +0 -123
  201. package/src/claude/skills/devops/references/cloudflare-platform.md +0 -271
  202. package/src/claude/skills/devops/references/cloudflare-r2-storage.md +0 -280
  203. package/src/claude/skills/devops/references/cloudflare-workers-advanced.md +0 -312
  204. package/src/claude/skills/devops/references/cloudflare-workers-apis.md +0 -309
  205. package/src/claude/skills/devops/references/cloudflare-workers-basics.md +0 -418
  206. package/src/claude/skills/devops/references/docker-basics.md +0 -297
  207. package/src/claude/skills/devops/references/docker-compose.md +0 -292
  208. package/src/claude/skills/devops/references/gcloud-platform.md +0 -297
  209. package/src/claude/skills/devops/references/gcloud-services.md +0 -304
  210. package/src/claude/skills/devops/references/kubernetes-basics.md +0 -95
  211. package/src/claude/skills/devops/references/kubernetes-helm-advanced.md +0 -70
  212. package/src/claude/skills/devops/references/kubernetes-helm.md +0 -81
  213. package/src/claude/skills/devops/references/kubernetes-kubectl.md +0 -74
  214. package/src/claude/skills/devops/references/kubernetes-security-advanced.md +0 -94
  215. package/src/claude/skills/devops/references/kubernetes-security.md +0 -89
  216. package/src/claude/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
  217. package/src/claude/skills/devops/references/kubernetes-troubleshooting.md +0 -49
  218. package/src/claude/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
  219. package/src/claude/skills/devops/references/kubernetes-workflows.md +0 -76
  220. package/src/claude/skills/devops/scripts/cloudflare_deploy.py +0 -269
  221. package/src/claude/skills/devops/scripts/docker_optimize.py +0 -332
  222. package/src/claude/skills/devops/scripts/requirements.txt +0 -20
  223. package/src/claude/skills/devops/scripts/tests/requirements.txt +0 -3
  224. package/src/claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +0 -285
  225. package/src/claude/skills/devops/scripts/tests/test_docker_optimize.py +0 -436
  226. package/src/claude/skills/frontend-design/SKILL.md +0 -135
  227. package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
  228. package/src/claude/skills/frontend-design/references/analysis-best-practices.md +0 -80
  229. package/src/claude/skills/frontend-design/references/analysis-prompts.md +0 -141
  230. package/src/claude/skills/frontend-design/references/analysis-techniques.md +0 -118
  231. package/src/claude/skills/frontend-design/references/animejs.md +0 -396
  232. package/src/claude/skills/frontend-design/references/anti-slop-rules.md +0 -103
  233. package/src/claude/skills/frontend-design/references/asset-generation.md +0 -337
  234. package/src/claude/skills/frontend-design/references/bento-motion-engine.md +0 -142
  235. package/src/claude/skills/frontend-design/references/design-extraction-overview.md +0 -71
  236. package/src/claude/skills/frontend-design/references/extraction-best-practices.md +0 -141
  237. package/src/claude/skills/frontend-design/references/extraction-output-templates.md +0 -162
  238. package/src/claude/skills/frontend-design/references/extraction-prompts.md +0 -127
  239. package/src/claude/skills/frontend-design/references/magicui-components.md +0 -129
  240. package/src/claude/skills/frontend-design/references/performance-guardrails.md +0 -169
  241. package/src/claude/skills/frontend-design/references/premium-design-patterns.md +0 -93
  242. package/src/claude/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
  243. package/src/claude/skills/frontend-design/references/technical-accessibility.md +0 -119
  244. package/src/claude/skills/frontend-design/references/technical-best-practices.md +0 -97
  245. package/src/claude/skills/frontend-design/references/technical-optimization.md +0 -44
  246. package/src/claude/skills/frontend-design/references/technical-overview.md +0 -90
  247. package/src/claude/skills/frontend-design/references/technical-workflows.md +0 -150
  248. package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +0 -95
  249. package/src/claude/skills/frontend-design/references/workflow-3d.md +0 -102
  250. package/src/claude/skills/frontend-design/references/workflow-describe.md +0 -87
  251. package/src/claude/skills/frontend-design/references/workflow-immersive.md +0 -87
  252. package/src/claude/skills/frontend-design/references/workflow-quick.md +0 -57
  253. package/src/claude/skills/frontend-design/references/workflow-screenshot.md +0 -63
  254. package/src/claude/skills/frontend-design/references/workflow-video.md +0 -74
  255. package/src/claude/skills/frontend-development/SKILL.md +0 -406
  256. package/src/claude/skills/frontend-development/resources/common-patterns.md +0 -331
  257. package/src/claude/skills/frontend-development/resources/complete-examples.md +0 -872
  258. package/src/claude/skills/frontend-development/resources/component-patterns.md +0 -502
  259. package/src/claude/skills/frontend-development/resources/data-fetching.md +0 -767
  260. package/src/claude/skills/frontend-development/resources/file-organization.md +0 -502
  261. package/src/claude/skills/frontend-development/resources/loading-and-error-states.md +0 -501
  262. package/src/claude/skills/frontend-development/resources/performance.md +0 -406
  263. package/src/claude/skills/frontend-development/resources/routing-guide.md +0 -364
  264. package/src/claude/skills/frontend-development/resources/styling-guide.md +0 -428
  265. package/src/claude/skills/frontend-development/resources/typescript-standards.md +0 -418
  266. package/src/claude/skills/mobile-development/SKILL.md +0 -218
  267. package/src/claude/skills/mobile-development/references/mobile-android.md +0 -604
  268. package/src/claude/skills/mobile-development/references/mobile-best-practices.md +0 -544
  269. package/src/claude/skills/mobile-development/references/mobile-debugging.md +0 -1089
  270. package/src/claude/skills/mobile-development/references/mobile-frameworks.md +0 -465
  271. package/src/claude/skills/mobile-development/references/mobile-ios.md +0 -496
  272. package/src/claude/skills/mobile-development/references/mobile-mindset.md +0 -542
  273. package/src/claude/skills/react-best-practices/AGENTS.md +0 -2249
  274. package/src/claude/skills/react-best-practices/README.md +0 -123
  275. package/src/claude/skills/react-best-practices/SKILL.md +0 -128
  276. package/src/claude/skills/react-best-practices/metadata.json +0 -15
  277. package/src/claude/skills/react-best-practices/rules/_sections.md +0 -46
  278. package/src/claude/skills/react-best-practices/rules/_template.md +0 -28
  279. package/src/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  280. package/src/claude/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
  281. package/src/claude/skills/react-best-practices/rules/async-api-routes.md +0 -38
  282. package/src/claude/skills/react-best-practices/rules/async-defer-await.md +0 -80
  283. package/src/claude/skills/react-best-practices/rules/async-dependencies.md +0 -36
  284. package/src/claude/skills/react-best-practices/rules/async-parallel.md +0 -28
  285. package/src/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  286. package/src/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  287. package/src/claude/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  288. package/src/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  289. package/src/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  290. package/src/claude/skills/react-best-practices/rules/bundle-preload.md +0 -50
  291. package/src/claude/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  292. package/src/claude/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  293. package/src/claude/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
  294. package/src/claude/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  295. package/src/claude/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  296. package/src/claude/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  297. package/src/claude/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  298. package/src/claude/skills/react-best-practices/rules/js-early-exit.md +0 -50
  299. package/src/claude/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  300. package/src/claude/skills/react-best-practices/rules/js-index-maps.md +0 -37
  301. package/src/claude/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  302. package/src/claude/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  303. package/src/claude/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  304. package/src/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  305. package/src/claude/skills/react-best-practices/rules/rendering-activity.md +0 -26
  306. package/src/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  307. package/src/claude/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  308. package/src/claude/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  309. package/src/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  310. package/src/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  311. package/src/claude/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  312. package/src/claude/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  313. package/src/claude/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  314. package/src/claude/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  315. package/src/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  316. package/src/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  317. package/src/claude/skills/react-best-practices/rules/rerender-memo.md +0 -44
  318. package/src/claude/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  319. package/src/claude/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  320. package/src/claude/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  321. package/src/claude/skills/react-best-practices/rules/server-cache-react.md +0 -26
  322. package/src/claude/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
  323. package/src/claude/skills/react-best-practices/rules/server-serialization.md +0 -38
@@ -1,542 +0,0 @@
1
- # Mobile Development Mindset & Thinking Patterns
2
-
3
- Essential thinking patterns and decision-making frameworks for successful mobile development.
4
-
5
- ## The 10 Commandments of Mobile Development
6
-
7
- ### 1. Performance is Foundation, Not Feature
8
- - **Reality**: Users may abandon apps when load time exceeds 3s
9
- - **Mindset**: Optimize from day one, not "later"
10
- - **Action**: Set performance budgets before writing code
11
-
12
- ### 2. Every Kilobyte, Every Millisecond Matters
13
- - **Reality**: Mobile = constrained environment (battery, memory, network)
14
- - **Mindset**: Desktop assumptions don't apply
15
- - **Action**: Profile real devices, not simulators
16
-
17
- ### 3. Offline-First by Default
18
- - **Reality**: Network is unreliable (elevators, tunnels, airplanes, poor signal)
19
- - **Mindset**: Design for offline, sync when online
20
- - **Action**: Local persistence first, cloud sync second
21
-
22
- ### 4. User Context > Developer Environment
23
- - **Reality**: Users on trains, walking, one-handed, bright sunlight
24
- - **Mindset**: Test in real-world scenarios
25
- - **Action**: Real device testing mandatory
26
-
27
- ### 5. Platform Awareness Without Platform Lock-In
28
- - **Reality**: iOS and Android users expect different patterns
29
- - **Mindset**: Respect conventions, but keep logic portable
30
- - **Action**: Platform-specific UI, shared business logic
31
-
32
- ### 6. Iterate, Don't Perfect (2024-2025 Survival Strategy)
33
- - **Reality**: Mobile landscape changes rapidly
34
- - **Mindset**: Ship, measure, improve cycle
35
- - **Action**: MVP → User feedback → Iterate
36
-
37
- ### 7. Security and Accessibility by Design
38
- - **Reality**: Not afterthoughts, but core requirements
39
- - **Mindset**: Build trust and inclusivity from start
40
- - **Action**: Security audit + accessibility testing in every sprint
41
-
42
- ### 8. Test on Real Devices
43
- - **Reality**: Simulators lie about performance, battery, network
44
- - **Mindset**: Simulators for speed, devices for truth
45
- - **Action**: CI/CD with real device farms
46
-
47
- ### 9. Architecture Scales with Complexity
48
- - **Reality**: Over-engineering kills simple apps
49
- - **Mindset**: Start simple, refactor when needed
50
- - **Action**: MVVM for small apps, Clean Architecture when complexity demands
51
-
52
- ### 10. Continuous Learning is Survival
53
- - **Reality**: AI tools are widely used by developers (2024), frameworks evolve constantly
54
- - **Mindset**: Embrace change, allocate learning time
55
- - **Action**: 1+ hour weekly for new tech/patterns
56
-
57
- ## Mobile-Specific Constraints & Thinking
58
-
59
- ### Small Screens (Constraint → Design Parameter)
60
-
61
- **Constraint:**
62
- - 5-7 inch screens, thumb-reach zones, fat finger problem
63
-
64
- **Thinking Shift:**
65
- - Embrace minimalism: "What can we remove?"
66
- - Priority-based hierarchy: Most important action front and center
67
- - Progressive disclosure: Hide complexity behind layers
68
-
69
- **Practical Targets:**
70
- - 44x44px minimum touch targets (iOS)
71
- - 48x48px minimum touch targets (Android)
72
- - Primary actions within thumb reach (bottom 1/3)
73
- - Maximum 3-4 items in bottom navigation
74
-
75
- **Example Decision:**
76
- ```
77
- ❌ Bad: 8-column data table on mobile
78
- ✅ Good: Card view with 3 key metrics, "View more" for details
79
- ```
80
-
81
- ### Limited Resources (Every KB/ms Matters)
82
-
83
- **Constraint:**
84
- - Battery drain, memory pressure, thermal throttling
85
-
86
- **Thinking Shift:**
87
- - Resource consciousness in every decision
88
- - Measure before optimizing (don't guess)
89
- - Graceful degradation on low-end devices
90
-
91
- **Practical Targets:**
92
- - <100MB memory for typical screens
93
- - <5% battery drain per hour active use
94
- - <50MB initial download, <200MB total
95
- - 60 FPS (16.67ms per frame)
96
-
97
- **Example Decision:**
98
- ```
99
- ❌ Bad: Load all 1000 items in list
100
- ✅ Good: Virtualized list (10 items visible + buffer)
101
- ```
102
-
103
- ### Intermittent Connectivity (Offline-First)
104
-
105
- **Constraint:**
106
- - Network unreliable: elevators, tunnels, poor signal, airplane mode
107
-
108
- **Thinking Shift:**
109
- - Local-first data architecture
110
- - Optimistic UI updates
111
- - Sync conflict resolution strategy
112
-
113
- **Practical Approaches:**
114
- - **Write-through cache**: Write local, sync background
115
- - **Hybrid sync**: Push (realtime) + Pull (periodic)
116
- - **Conflict resolution**: Last-write-wins with timestamps or CRDT
117
-
118
- **Example Decision:**
119
- ```
120
- ❌ Bad: Show spinner while posting comment
121
- ✅ Good: Show comment immediately (optimistic), sync background, handle conflicts
122
- ```
123
-
124
- ## Platform-Specific Thinking
125
-
126
- ### iOS Mental Model
127
-
128
- **Philosophy**: Consistent, polished, opinionated
129
- - Users expect iOS patterns (tab bar, navigation bar, swipe back)
130
- - Design reviews reject non-standard UIs
131
- - "It just works" expectation = zero tolerance for crashes
132
-
133
- **Fragmentation**: LOW
134
- - Most users on iOS 16+ (2024)
135
- - Only ~50 device models to test
136
- - Predictable hardware specs
137
-
138
- **Design Thinking**:
139
- - Follow Human Interface Guidelines religiously
140
- - Native navigation patterns non-negotiable
141
- - Haptic feedback for important actions
142
- - Respect safe areas (notch, Dynamic Island)
143
-
144
- **When to Go Native iOS:**
145
- - App Store is primary revenue channel
146
- - Need latest Apple features (WidgetKit, Live Activities)
147
- - Target affluent user base (iOS users spend 2.5x more)
148
-
149
- ### Android Mental Model
150
-
151
- **Philosophy**: Flexible, customizable, democratic
152
- - Users expect Material Design but tolerate variations
153
- - Extreme fragmentation = defensive programming
154
- - "Back button" = fundamental navigation expectation
155
-
156
- **Fragmentation**: HIGH
157
- - 24,000+ device models
158
- - Android 6-14 in active use (8 years of OS versions)
159
- - Wide range of hardware specs (512MB to 12GB RAM)
160
-
161
- **Design Thinking**:
162
- - Material Design 3 as baseline
163
- - Test on low-end devices (1GB RAM minimum)
164
- - Respect system navigation (gesture vs 3-button)
165
- - Handle back button properly
166
-
167
- **When to Go Native Android:**
168
- - Global market focus (Android dominates)
169
- - Emerging markets (Android dominates)
170
- - Enterprise/B2B (customization needs)
171
-
172
- ## Performance Mindset (Every Millisecond Matters)
173
-
174
- ### Critical Metrics (User Perception)
175
-
176
- | Metric | Threshold | User Perception |
177
- |--------|-----------|-----------------|
178
- | **Launch time** | <2s | Acceptable |
179
- | **Launch time** | 2-3s | Noticeable delay |
180
- | **Launch time** | >3s | Users may abandon |
181
- | **Screen load** | <1s | Instant (cached) |
182
- | **Screen load** | 1-3s | Acceptable (network) |
183
- | **Screen load** | >3s | Frustrating |
184
- | **Animation** | 60 FPS | Smooth |
185
- | **Animation** | 30-60 FPS | Noticeable jank |
186
- | **Animation** | <30 FPS | Unusable |
187
-
188
- ### Performance Budget Example
189
-
190
- **Mobile App Performance Budget:**
191
- ```
192
- Launch Time
193
- ├─ Cold start: <2s (target 1.5s)
194
- ├─ Warm start: <1s
195
- └─ Hot start: <0.5s
196
-
197
- Screen Load
198
- ├─ Cached data: <500ms
199
- ├─ Network data: <2s
200
- └─ Heavy computation: <3s
201
-
202
- Memory
203
- ├─ Typical screen: <100MB
204
- ├─ Heavy screen (images): <150MB
205
- └─ Peak usage: <200MB
206
-
207
- Network
208
- ├─ Initial bundle: <2MB
209
- ├─ Per screen: <500KB
210
- └─ Images: <200KB each
211
-
212
- Battery
213
- ├─ Active use: <5% per hour
214
- ├─ Background: <1% per hour
215
- └─ Idle: <0.1% per hour
216
- ```
217
-
218
- ### Optimization Decision Tree
219
-
220
- **Is it slow?**
221
- 1. **Measure first** (Xcode Instruments, Android Profiler)
222
- 2. **Find bottleneck** (CPU, memory, network, disk I/O)
223
- 3. **Fix biggest impact** (80/20 rule)
224
- 4. **Measure again** (verify improvement)
225
-
226
- **Common Culprits:**
227
- - Synchronous main thread operations
228
- - Unoptimized images (too large, wrong format)
229
- - N+1 query problem (fetch in loop)
230
- - Memory leaks (retain cycles, listeners)
231
- - Re-renders without memoization
232
-
233
- ## Mobile Development Workflow
234
-
235
- ### Iterative Development Cycle (Agile)
236
-
237
- **Sprint Structure (2 weeks):**
238
- ```
239
- Week 1: Build + Test
240
- ├─ Day 1-2: Design + plan
241
- ├─ Day 3-4: Implement core
242
- └─ Day 5: Code review + tests
243
-
244
- Week 2: Polish + Ship
245
- ├─ Day 6-7: Bug fixes + polish
246
- ├─ Day 8: QA testing
247
- ├─ Day 9: Staging deployment
248
- └─ Day 10: Production release (staged)
249
- ```
250
-
251
- **Daily Workflow:**
252
- 1. Pull latest code
253
- 2. Run tests locally
254
- 3. Develop feature/fix
255
- 4. Write/update tests
256
- 5. Local testing on device
257
- 6. Code review
258
- 7. CI/CD validation
259
- 8. Merge to develop
260
-
261
- **CI/CD Impact:**
262
- - Faster development and deployment with fewer production bugs
263
-
264
- ### Common Pitfalls & Avoidance
265
-
266
- #### 1. Testing Only on Simulators
267
- **Problem**: Simulators don't show real performance (battery, memory, network)
268
- **Solution**: Real device testing mandatory before every release
269
- **Impact**: Some bugs only appear on real devices
270
-
271
- #### 2. Ignoring Platform Conventions
272
- **Problem**: Custom navigation confuses users
273
- **Solution**: Follow iOS HIG and Material Design
274
- **Impact**: Non-standard UIs can lower engagement
275
-
276
- #### 3. No Offline Handling
277
- **Problem**: Network failures = blank screens, errors
278
- **Solution**: Offline-first architecture, cached data
279
- **Impact**: Users can experience network issues daily
280
-
281
- #### 4. Poor Memory Management
282
- **Problem**: Memory leaks → crashes, poor performance
283
- **Solution**: ARC/GC understanding, profile regularly
284
- **Impact**: Memory issues are a leading crash cause
285
-
286
- #### 5. Hardcoded Credentials
287
- **Problem**: Security vulnerability, API key exposure
288
- **Solution**: Environment variables, secure storage
289
- **Impact**: Apps can leak sensitive data; follow OWASP guidance.
290
-
291
- #### 6. No Accessibility
292
- **Problem**: Excludes users with disabilities or situational needs
293
- **Solution**: VoiceOver/TalkBack testing, semantic labels
294
- **Impact**: Accessibility = 1.3B global market
295
-
296
- #### 7. Premature Optimization
297
- **Problem**: Wasted time optimizing non-bottlenecks
298
- **Solution**: Measure first, optimize biggest impact
299
- **Impact**: Many performance issues come from a small part of the code
300
-
301
- #### 8. Over-Engineering
302
- **Problem**: Complex architecture for simple apps
303
- **Solution**: Start simple, scale when needed
304
- **Impact**: 3x longer development for no user benefit
305
-
306
- #### 9. Skipping Real Device Testing
307
- **Problem**: Missed battery drain, thermal issues
308
- **Solution**: Device farm in CI/CD, manual testing
309
- **Impact**: Some performance issues are device-specific
310
-
311
- #### 10. Not Respecting Battery
312
- **Problem**: Background processing drains battery
313
- **Solution**: Batch operations, respect Doze Mode
314
- **Impact**: Battery drain = #1 uninstall reason
315
-
316
- ## Debugging Strategies & Tools (2024-2025)
317
-
318
- ### iOS Debugging (Xcode 16)
319
-
320
- **Tools:**
321
- - **Instruments**: Profiling (Time, Allocations, Leaks, Network)
322
- - **Memory Graph**: Visual retain cycles
323
- - **View Hierarchy**: UI debugging
324
- - **Network Link Conditioner**: Simulate poor network
325
- - **Console**: System logs, os_log
326
-
327
- **AI-Driven:**
328
- - Xcode 16 AI crash analysis
329
- - Automatic memory leak detection
330
- - Performance suggestions
331
-
332
- **Process:**
333
- 1. Reproduce bug on device
334
- 2. Attach debugger / capture crash log
335
- 3. Symbolicate crash report
336
- 4. Fix root cause (not symptom)
337
- 5. Add test to prevent regression
338
-
339
- ### Android Debugging (Android Studio Giraffe+)
340
-
341
- **Tools:**
342
- - **Profiler**: CPU, Memory, Network, Energy
343
- - **Layout Inspector**: 3D view hierarchy
344
- - **Database Inspector**: SQLite/Room debugging
345
- - **Network Inspector**: API call monitoring
346
- - **Logcat**: System logs with filters
347
-
348
- **AI-Driven:**
349
- - Android Vitals: Crash clustering, ANR analysis
350
- - Firebase Crashlytics: AI-powered issue grouping
351
- - Play Console insights: User-reported bugs
352
-
353
- **Process:**
354
- 1. Reproduce on emulator/device
355
- 2. Check Logcat for stack traces
356
- 3. Use Android Profiler for performance
357
- 4. Fix and verify with instrumented tests
358
- 5. Monitor Play Console vitals post-release
359
-
360
- ### Cross-Platform Debugging
361
-
362
- **React Native:**
363
- - Chrome DevTools / Safari Web Inspector
364
- - Flipper (meta debugger: network, layout, logs)
365
- - Reactotron (state inspection)
366
-
367
- **Flutter:**
368
- - Flutter DevTools (Inspector, Timeline, Memory, Network)
369
- - Dart Observatory (VM debugging)
370
- - Widget Inspector (UI debugging)
371
-
372
- ## Progressive Enhancement & Graceful Degradation
373
-
374
- ### Progressive Enhancement (Build Up)
375
-
376
- **Strategy**: Start with baseline, enhance for capable devices
377
-
378
- **Example: Image Loading**
379
- ```
380
- Baseline (all devices):
381
- ├─ Show placeholder immediately
382
- ├─ Load low-res image (10KB)
383
- └─ Display with smooth fade-in
384
-
385
- Enhancement (modern devices):
386
- ├─ Check network (fast = high-res)
387
- ├─ Check memory (ample = cache)
388
- └─ Progressive JPEG rendering
389
- ```
390
-
391
- **Benefits:**
392
- - Works on all devices
393
- - Optimal experience on modern devices
394
- - No user left behind
395
-
396
- ### Graceful Degradation (Strip Down)
397
-
398
- **Strategy**: Build for best, degrade for constraints
399
-
400
- **Example: Animation**
401
- ```
402
- Best (flagship devices):
403
- ├─ Complex particle effects
404
- ├─ 120 FPS animations
405
- └─ Parallax scrolling
406
-
407
- Degraded (budget devices):
408
- ├─ Simple fade transitions
409
- ├─ 60 FPS target
410
- └─ Disable parallax (GPU load)
411
- ```
412
-
413
- **Detection:**
414
- ```javascript
415
- // React Native
416
- const isLowEndDevice =
417
- DeviceInfo.getTotalMemory() < 2000000000; // <2GB
418
-
419
- if (isLowEndDevice) {
420
- // Disable heavy animations
421
- // Reduce concurrent operations
422
- // Lower image quality
423
- }
424
- ```
425
-
426
- **Benefits:**
427
- - Optimized for all hardware tiers
428
- - Prevents crashes on low-end devices
429
- - Better user experience across spectrum
430
-
431
- ## Native vs Cross-Platform Decision Framework
432
-
433
- ### Decision Tree
434
-
435
- **Q1: Do you need 100% native performance?**
436
- - **Yes** → Native (Swift/Kotlin)
437
- - **No** → Continue
438
-
439
- **Q2: Is team comfortable with JavaScript?**
440
- - **Yes** → React Native
441
- - **No** → Continue
442
-
443
- **Q3: Need desktop or web versions too?**
444
- - **Yes** → Flutter
445
- - **No** → Continue
446
-
447
- **Q4: Complex animations or custom UI?**
448
- - **Yes** → Flutter
449
- - **No** → React Native (easier for standard UIs)
450
-
451
- **Q5: Existing codebase to share?**
452
- - **React web app** → React Native
453
- - **No existing code** → Flutter (cleaner slate)
454
-
455
- ### Hybrid Approach (Best of Both Worlds)
456
-
457
- **Strategy**: Cross-platform for most features, native for critical paths
458
-
459
- **Example Architecture:**
460
- ```
461
- React Native / Flutter
462
- ├─ UI and business logic
463
- ├─ Standard features
464
- └─ API integration
465
-
466
- Native Modules
467
- ├─ Performance-critical (video processing)
468
- ├─ Platform-specific (HealthKit, Android Auto)
469
- └─ Third-party SDKs (payment, analytics)
470
- ```
471
-
472
- **When to Use:**
473
- - Best: Leverage cross-platform speed + native power
474
- - Complexity: Maintain native module knowledge
475
- - Team: Need both cross-platform and native developers
476
-
477
- ## Architecture Decision-Making
478
-
479
- ### Complexity-Based Architecture Selection
480
-
481
- **Simple App (1-5 screens, basic CRUD)**
482
- - **Architecture**: MVVM (no Clean Architecture)
483
- - **State**: Local state (useState, setState)
484
- - **Reasoning**: Over-engineering adds complexity without benefit
485
-
486
- **Medium App (5-20 screens, moderate logic)**
487
- - **Architecture**: MVVM with clear separation
488
- - **State**: Global state management (Zustand, Riverpod)
489
- - **Reasoning**: Scalability without over-engineering
490
-
491
- **Complex App (20+ screens, enterprise logic)**
492
- - **Architecture**: Clean Architecture (domain, data, presentation)
493
- - **State**: Advanced state management + dependency injection
494
- - **Reasoning**: Maintainability and testability critical
495
-
496
- ### Architecture Evolution
497
-
498
- **Start Simple:**
499
- ```
500
- v1.0: MVVM, local state, single module
501
- └─ Focus: Ship fast, validate idea
502
-
503
- v2.0: Add global state when needed
504
- └─ Trigger: Props drilling becomes painful
505
-
506
- v3.0: Add Clean Architecture when scaling
507
- └─ Trigger: Team grows, features multiply
508
-
509
- v4.0: Extract microservices if justified
510
- └─ Trigger: Independent deployment needs
511
- ```
512
-
513
- **Key Principle:** Refactor when pain > refactoring cost, not before
514
-
515
- ## Resources & Continuous Learning
516
-
517
- **Weekly Learning Targets (2024-2025):**
518
- - 1 hour: New framework features
519
- - 30 min: Performance optimization techniques
520
- - 30 min: Security updates (CVEs, OWASP)
521
- - 30 min: Community articles/videos
522
-
523
- **Top Resources:**
524
- - iOS: Apple WWDC videos, Swift by Sundell
525
- - Android: Android Dev Summit, Medium Android Dev
526
- - React Native: React Native Blog, Expo Blog
527
- - Flutter: Flutter Engage, Medium Flutter
528
- - Mobile DevOps: Bitrise Blog, Fastlane guides
529
-
530
- **Communities:**
531
- - Stack Overflow (mobile tags)
532
- - Reddit (r/iOSProgramming, r/androiddev, r/reactnative, r/FlutterDev)
533
- - Discord (React Native, Flutter official)
534
- - Twitter: Follow framework creators and contributors
535
-
536
- **AI Tools (widely adopted in 2024):**
537
- - GitHub Copilot: Code completion, boilerplate
538
- - ChatGPT/Claude: Architecture questions, debugging
539
- - Tabnine: Context-aware suggestions
540
- - Average time saved: 1+ hour weekly
541
-
542
- **Key Mindset:** Continuous learning is not optional, it's survival in mobile development