@wazir-dev/cli 1.0.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 (629) hide show
  1. package/AGENTS.md +111 -0
  2. package/CHANGELOG.md +14 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +21 -0
  5. package/README.md +314 -0
  6. package/assets/composition-engine.mmd +34 -0
  7. package/assets/demo-script.sh +17 -0
  8. package/assets/logo-dark.svg +14 -0
  9. package/assets/logo.svg +14 -0
  10. package/assets/pipeline.mmd +39 -0
  11. package/assets/record-demo.sh +51 -0
  12. package/docs/README.md +51 -0
  13. package/docs/adapters/context-mode.md +60 -0
  14. package/docs/concepts/architecture.md +87 -0
  15. package/docs/concepts/artifact-model.md +60 -0
  16. package/docs/concepts/composition-engine.md +36 -0
  17. package/docs/concepts/indexing-and-recall.md +160 -0
  18. package/docs/concepts/observability.md +41 -0
  19. package/docs/concepts/roles-and-workflows.md +59 -0
  20. package/docs/concepts/terminology-policy.md +27 -0
  21. package/docs/getting-started/01-installation.md +78 -0
  22. package/docs/getting-started/02-first-run.md +102 -0
  23. package/docs/getting-started/03-adding-to-project.md +15 -0
  24. package/docs/getting-started/04-host-setup.md +15 -0
  25. package/docs/guides/ci-integration.md +15 -0
  26. package/docs/guides/creating-skills.md +15 -0
  27. package/docs/guides/expertise-module-authoring.md +15 -0
  28. package/docs/guides/hook-development.md +15 -0
  29. package/docs/guides/memory-and-learnings.md +34 -0
  30. package/docs/guides/multi-host-export.md +15 -0
  31. package/docs/guides/troubleshooting.md +101 -0
  32. package/docs/guides/writing-custom-roles.md +15 -0
  33. package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
  34. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
  35. package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
  36. package/docs/readmes/INDEX.md +99 -0
  37. package/docs/readmes/features/expertise/README.md +171 -0
  38. package/docs/readmes/features/exports/README.md +222 -0
  39. package/docs/readmes/features/hooks/README.md +103 -0
  40. package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
  41. package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
  42. package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
  43. package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
  44. package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
  45. package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
  46. package/docs/readmes/features/hooks/session-start.md +119 -0
  47. package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
  48. package/docs/readmes/features/roles/README.md +157 -0
  49. package/docs/readmes/features/roles/clarifier.md +152 -0
  50. package/docs/readmes/features/roles/content-author.md +190 -0
  51. package/docs/readmes/features/roles/designer.md +193 -0
  52. package/docs/readmes/features/roles/executor.md +184 -0
  53. package/docs/readmes/features/roles/learner.md +210 -0
  54. package/docs/readmes/features/roles/planner.md +182 -0
  55. package/docs/readmes/features/roles/researcher.md +164 -0
  56. package/docs/readmes/features/roles/reviewer.md +184 -0
  57. package/docs/readmes/features/roles/specifier.md +162 -0
  58. package/docs/readmes/features/roles/verifier.md +215 -0
  59. package/docs/readmes/features/schemas/README.md +178 -0
  60. package/docs/readmes/features/skills/README.md +63 -0
  61. package/docs/readmes/features/skills/brainstorming.md +96 -0
  62. package/docs/readmes/features/skills/debugging.md +148 -0
  63. package/docs/readmes/features/skills/design.md +120 -0
  64. package/docs/readmes/features/skills/prepare-next.md +109 -0
  65. package/docs/readmes/features/skills/run-audit.md +159 -0
  66. package/docs/readmes/features/skills/scan-project.md +109 -0
  67. package/docs/readmes/features/skills/self-audit.md +176 -0
  68. package/docs/readmes/features/skills/tdd.md +137 -0
  69. package/docs/readmes/features/skills/using-skills.md +92 -0
  70. package/docs/readmes/features/skills/verification.md +120 -0
  71. package/docs/readmes/features/skills/writing-plans.md +104 -0
  72. package/docs/readmes/features/tooling/README.md +320 -0
  73. package/docs/readmes/features/workflows/README.md +186 -0
  74. package/docs/readmes/features/workflows/author.md +181 -0
  75. package/docs/readmes/features/workflows/clarify.md +154 -0
  76. package/docs/readmes/features/workflows/design-review.md +171 -0
  77. package/docs/readmes/features/workflows/design.md +169 -0
  78. package/docs/readmes/features/workflows/discover.md +162 -0
  79. package/docs/readmes/features/workflows/execute.md +173 -0
  80. package/docs/readmes/features/workflows/learn.md +167 -0
  81. package/docs/readmes/features/workflows/plan-review.md +165 -0
  82. package/docs/readmes/features/workflows/plan.md +170 -0
  83. package/docs/readmes/features/workflows/prepare-next.md +167 -0
  84. package/docs/readmes/features/workflows/review.md +169 -0
  85. package/docs/readmes/features/workflows/run-audit.md +191 -0
  86. package/docs/readmes/features/workflows/spec-challenge.md +159 -0
  87. package/docs/readmes/features/workflows/specify.md +160 -0
  88. package/docs/readmes/features/workflows/verify.md +177 -0
  89. package/docs/readmes/packages/README.md +50 -0
  90. package/docs/readmes/packages/ajv.md +117 -0
  91. package/docs/readmes/packages/context-mode.md +118 -0
  92. package/docs/readmes/packages/gray-matter.md +116 -0
  93. package/docs/readmes/packages/node-test.md +137 -0
  94. package/docs/readmes/packages/yaml.md +112 -0
  95. package/docs/reference/configuration-reference.md +159 -0
  96. package/docs/reference/expertise-index.md +52 -0
  97. package/docs/reference/git-flow.md +43 -0
  98. package/docs/reference/hooks.md +87 -0
  99. package/docs/reference/host-exports.md +50 -0
  100. package/docs/reference/launch-checklist.md +172 -0
  101. package/docs/reference/marketplace-listings.md +76 -0
  102. package/docs/reference/release-process.md +34 -0
  103. package/docs/reference/roles-reference.md +77 -0
  104. package/docs/reference/skills.md +33 -0
  105. package/docs/reference/templates.md +29 -0
  106. package/docs/reference/tooling-cli.md +94 -0
  107. package/docs/truth-claims.yaml +222 -0
  108. package/expertise/PROGRESS.md +63 -0
  109. package/expertise/README.md +18 -0
  110. package/expertise/antipatterns/PROGRESS.md +56 -0
  111. package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
  112. package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
  113. package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
  114. package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
  115. package/expertise/antipatterns/backend/index.md +24 -0
  116. package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
  117. package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
  118. package/expertise/antipatterns/code/async-antipatterns.md +622 -0
  119. package/expertise/antipatterns/code/code-smells.md +1186 -0
  120. package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
  121. package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
  122. package/expertise/antipatterns/code/index.md +27 -0
  123. package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
  124. package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
  125. package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
  126. package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
  127. package/expertise/antipatterns/design/dark-patterns.md +1121 -0
  128. package/expertise/antipatterns/design/index.md +22 -0
  129. package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
  130. package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
  131. package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
  132. package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
  133. package/expertise/antipatterns/frontend/index.md +23 -0
  134. package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
  135. package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
  136. package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
  137. package/expertise/antipatterns/index.md +31 -0
  138. package/expertise/antipatterns/performance/index.md +20 -0
  139. package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
  140. package/expertise/antipatterns/performance/premature-optimization.md +623 -0
  141. package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
  142. package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
  143. package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
  144. package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
  145. package/expertise/antipatterns/process/index.md +23 -0
  146. package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
  147. package/expertise/antipatterns/security/index.md +20 -0
  148. package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
  149. package/expertise/antipatterns/security/security-theater.md +843 -0
  150. package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
  151. package/expertise/architecture/PROGRESS.md +70 -0
  152. package/expertise/architecture/data/caching-architecture.md +671 -0
  153. package/expertise/architecture/data/data-consistency.md +574 -0
  154. package/expertise/architecture/data/data-modeling.md +536 -0
  155. package/expertise/architecture/data/event-streams-and-queues.md +634 -0
  156. package/expertise/architecture/data/index.md +25 -0
  157. package/expertise/architecture/data/search-architecture.md +663 -0
  158. package/expertise/architecture/data/sql-vs-nosql.md +708 -0
  159. package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
  160. package/expertise/architecture/decisions/build-vs-buy.md +616 -0
  161. package/expertise/architecture/decisions/index.md +23 -0
  162. package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
  163. package/expertise/architecture/decisions/technology-selection.md +616 -0
  164. package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
  165. package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
  166. package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
  167. package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
  168. package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
  169. package/expertise/architecture/distributed/index.md +25 -0
  170. package/expertise/architecture/distributed/saga-pattern.md +797 -0
  171. package/expertise/architecture/foundations/architectural-thinking.md +460 -0
  172. package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
  173. package/expertise/architecture/foundations/design-principles-solid.md +649 -0
  174. package/expertise/architecture/foundations/domain-driven-design.md +719 -0
  175. package/expertise/architecture/foundations/index.md +25 -0
  176. package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
  177. package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
  178. package/expertise/architecture/index.md +34 -0
  179. package/expertise/architecture/integration/api-design-graphql.md +638 -0
  180. package/expertise/architecture/integration/api-design-grpc.md +804 -0
  181. package/expertise/architecture/integration/api-design-rest.md +892 -0
  182. package/expertise/architecture/integration/index.md +25 -0
  183. package/expertise/architecture/integration/third-party-integration.md +795 -0
  184. package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
  185. package/expertise/architecture/integration/websockets-realtime.md +791 -0
  186. package/expertise/architecture/mobile-architecture/index.md +22 -0
  187. package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
  188. package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
  189. package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
  190. package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
  191. package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
  192. package/expertise/architecture/patterns/event-driven.md +797 -0
  193. package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
  194. package/expertise/architecture/patterns/index.md +27 -0
  195. package/expertise/architecture/patterns/layered-architecture.md +736 -0
  196. package/expertise/architecture/patterns/microservices.md +753 -0
  197. package/expertise/architecture/patterns/modular-monolith.md +692 -0
  198. package/expertise/architecture/patterns/monolith.md +626 -0
  199. package/expertise/architecture/patterns/plugin-architecture.md +735 -0
  200. package/expertise/architecture/patterns/serverless.md +780 -0
  201. package/expertise/architecture/scaling/database-scaling.md +615 -0
  202. package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
  203. package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
  204. package/expertise/architecture/scaling/index.md +24 -0
  205. package/expertise/architecture/scaling/multi-tenancy.md +800 -0
  206. package/expertise/architecture/scaling/stateless-design.md +787 -0
  207. package/expertise/backend/embedded-firmware.md +625 -0
  208. package/expertise/backend/go.md +853 -0
  209. package/expertise/backend/index.md +24 -0
  210. package/expertise/backend/java-spring.md +448 -0
  211. package/expertise/backend/node-typescript.md +625 -0
  212. package/expertise/backend/python-fastapi.md +724 -0
  213. package/expertise/backend/rust.md +458 -0
  214. package/expertise/backend/solidity.md +711 -0
  215. package/expertise/composition-map.yaml +443 -0
  216. package/expertise/content/foundations/content-modeling.md +395 -0
  217. package/expertise/content/foundations/editorial-standards.md +449 -0
  218. package/expertise/content/foundations/index.md +24 -0
  219. package/expertise/content/foundations/microcopy.md +455 -0
  220. package/expertise/content/foundations/terminology-governance.md +509 -0
  221. package/expertise/content/index.md +34 -0
  222. package/expertise/content/patterns/accessibility-copy.md +518 -0
  223. package/expertise/content/patterns/index.md +24 -0
  224. package/expertise/content/patterns/notification-content.md +433 -0
  225. package/expertise/content/patterns/sample-content.md +486 -0
  226. package/expertise/content/patterns/state-copy.md +439 -0
  227. package/expertise/design/PROGRESS.md +58 -0
  228. package/expertise/design/disciplines/dark-mode-theming.md +577 -0
  229. package/expertise/design/disciplines/design-systems.md +595 -0
  230. package/expertise/design/disciplines/index.md +25 -0
  231. package/expertise/design/disciplines/information-architecture.md +800 -0
  232. package/expertise/design/disciplines/interaction-design.md +788 -0
  233. package/expertise/design/disciplines/responsive-design.md +552 -0
  234. package/expertise/design/disciplines/usability-testing.md +516 -0
  235. package/expertise/design/disciplines/user-research.md +792 -0
  236. package/expertise/design/foundations/accessibility-design.md +796 -0
  237. package/expertise/design/foundations/color-theory.md +797 -0
  238. package/expertise/design/foundations/iconography.md +795 -0
  239. package/expertise/design/foundations/index.md +26 -0
  240. package/expertise/design/foundations/motion-and-animation.md +653 -0
  241. package/expertise/design/foundations/rtl-design.md +585 -0
  242. package/expertise/design/foundations/spacing-and-layout.md +607 -0
  243. package/expertise/design/foundations/typography.md +800 -0
  244. package/expertise/design/foundations/visual-hierarchy.md +761 -0
  245. package/expertise/design/index.md +32 -0
  246. package/expertise/design/patterns/authentication-flows.md +474 -0
  247. package/expertise/design/patterns/content-consumption.md +789 -0
  248. package/expertise/design/patterns/data-display.md +618 -0
  249. package/expertise/design/patterns/e-commerce.md +1494 -0
  250. package/expertise/design/patterns/feedback-and-states.md +642 -0
  251. package/expertise/design/patterns/forms-and-input.md +819 -0
  252. package/expertise/design/patterns/gamification.md +801 -0
  253. package/expertise/design/patterns/index.md +31 -0
  254. package/expertise/design/patterns/microinteractions.md +449 -0
  255. package/expertise/design/patterns/navigation.md +800 -0
  256. package/expertise/design/patterns/notifications.md +705 -0
  257. package/expertise/design/patterns/onboarding.md +700 -0
  258. package/expertise/design/patterns/search-and-filter.md +601 -0
  259. package/expertise/design/patterns/settings-and-preferences.md +768 -0
  260. package/expertise/design/patterns/social-and-community.md +748 -0
  261. package/expertise/design/platforms/desktop-native.md +612 -0
  262. package/expertise/design/platforms/index.md +25 -0
  263. package/expertise/design/platforms/mobile-android.md +825 -0
  264. package/expertise/design/platforms/mobile-cross-platform.md +983 -0
  265. package/expertise/design/platforms/mobile-ios.md +699 -0
  266. package/expertise/design/platforms/tablet.md +794 -0
  267. package/expertise/design/platforms/web-dashboard.md +790 -0
  268. package/expertise/design/platforms/web-responsive.md +550 -0
  269. package/expertise/design/psychology/behavioral-nudges.md +449 -0
  270. package/expertise/design/psychology/cognitive-load.md +1191 -0
  271. package/expertise/design/psychology/error-psychology.md +778 -0
  272. package/expertise/design/psychology/index.md +22 -0
  273. package/expertise/design/psychology/persuasive-design.md +736 -0
  274. package/expertise/design/psychology/user-mental-models.md +623 -0
  275. package/expertise/design/tooling/open-pencil.md +266 -0
  276. package/expertise/frontend/angular.md +1073 -0
  277. package/expertise/frontend/desktop-electron.md +546 -0
  278. package/expertise/frontend/flutter.md +782 -0
  279. package/expertise/frontend/index.md +27 -0
  280. package/expertise/frontend/native-android.md +409 -0
  281. package/expertise/frontend/native-ios.md +490 -0
  282. package/expertise/frontend/react-native.md +1160 -0
  283. package/expertise/frontend/react.md +808 -0
  284. package/expertise/frontend/vue.md +1089 -0
  285. package/expertise/humanize/domain-rules-code.md +79 -0
  286. package/expertise/humanize/domain-rules-content.md +67 -0
  287. package/expertise/humanize/domain-rules-technical-docs.md +56 -0
  288. package/expertise/humanize/index.md +35 -0
  289. package/expertise/humanize/self-audit-checklist.md +87 -0
  290. package/expertise/humanize/sentence-patterns.md +218 -0
  291. package/expertise/humanize/vocabulary-blacklist.md +105 -0
  292. package/expertise/i18n/PROGRESS.md +65 -0
  293. package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
  294. package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
  295. package/expertise/i18n/advanced/complex-scripts.md +30 -0
  296. package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
  297. package/expertise/i18n/advanced/testing-i18n.md +28 -0
  298. package/expertise/i18n/content/content-adaptation.md +23 -0
  299. package/expertise/i18n/content/locale-specific-formatting.md +23 -0
  300. package/expertise/i18n/content/machine-translation-integration.md +28 -0
  301. package/expertise/i18n/content/translation-management.md +29 -0
  302. package/expertise/i18n/foundations/date-time-calendars.md +67 -0
  303. package/expertise/i18n/foundations/i18n-architecture.md +272 -0
  304. package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
  305. package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
  306. package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
  307. package/expertise/i18n/foundations/string-externalization.md +236 -0
  308. package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
  309. package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
  310. package/expertise/i18n/index.md +38 -0
  311. package/expertise/i18n/platform/backend-i18n.md +31 -0
  312. package/expertise/i18n/platform/flutter-i18n.md +148 -0
  313. package/expertise/i18n/platform/native-android-i18n.md +36 -0
  314. package/expertise/i18n/platform/native-ios-i18n.md +36 -0
  315. package/expertise/i18n/platform/react-i18n.md +103 -0
  316. package/expertise/i18n/platform/web-css-i18n.md +81 -0
  317. package/expertise/i18n/rtl/arabic-specific.md +175 -0
  318. package/expertise/i18n/rtl/hebrew-specific.md +149 -0
  319. package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
  320. package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
  321. package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
  322. package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
  323. package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
  324. package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
  325. package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
  326. package/expertise/i18n/rtl/rtl-typography.md +160 -0
  327. package/expertise/index.md +113 -0
  328. package/expertise/index.yaml +216 -0
  329. package/expertise/infrastructure/cloud-aws.md +597 -0
  330. package/expertise/infrastructure/cloud-gcp.md +599 -0
  331. package/expertise/infrastructure/cybersecurity.md +816 -0
  332. package/expertise/infrastructure/database-mongodb.md +447 -0
  333. package/expertise/infrastructure/database-postgres.md +400 -0
  334. package/expertise/infrastructure/devops-cicd.md +787 -0
  335. package/expertise/infrastructure/index.md +27 -0
  336. package/expertise/performance/PROGRESS.md +50 -0
  337. package/expertise/performance/backend/api-latency.md +1204 -0
  338. package/expertise/performance/backend/background-jobs.md +506 -0
  339. package/expertise/performance/backend/connection-pooling.md +1209 -0
  340. package/expertise/performance/backend/database-query-optimization.md +515 -0
  341. package/expertise/performance/backend/index.md +23 -0
  342. package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
  343. package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
  344. package/expertise/performance/foundations/caching-strategies.md +489 -0
  345. package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
  346. package/expertise/performance/foundations/index.md +24 -0
  347. package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
  348. package/expertise/performance/foundations/memory-management.md +964 -0
  349. package/expertise/performance/foundations/performance-budgets.md +1314 -0
  350. package/expertise/performance/index.md +31 -0
  351. package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
  352. package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
  353. package/expertise/performance/infrastructure/index.md +22 -0
  354. package/expertise/performance/infrastructure/load-balancing.md +1081 -0
  355. package/expertise/performance/infrastructure/observability.md +1079 -0
  356. package/expertise/performance/mobile/index.md +23 -0
  357. package/expertise/performance/mobile/mobile-animations.md +544 -0
  358. package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
  359. package/expertise/performance/mobile/mobile-network.md +452 -0
  360. package/expertise/performance/mobile/mobile-rendering.md +599 -0
  361. package/expertise/performance/mobile/mobile-startup-time.md +505 -0
  362. package/expertise/performance/platform-specific/flutter-performance.md +647 -0
  363. package/expertise/performance/platform-specific/index.md +22 -0
  364. package/expertise/performance/platform-specific/node-performance.md +1307 -0
  365. package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
  366. package/expertise/performance/platform-specific/react-performance.md +1403 -0
  367. package/expertise/performance/web/bundle-optimization.md +1239 -0
  368. package/expertise/performance/web/image-and-media.md +636 -0
  369. package/expertise/performance/web/index.md +24 -0
  370. package/expertise/performance/web/network-optimization.md +1133 -0
  371. package/expertise/performance/web/rendering-performance.md +1098 -0
  372. package/expertise/performance/web/ssr-and-hydration.md +918 -0
  373. package/expertise/performance/web/web-vitals.md +1374 -0
  374. package/expertise/quality/accessibility.md +985 -0
  375. package/expertise/quality/evidence-based-verification.md +499 -0
  376. package/expertise/quality/index.md +24 -0
  377. package/expertise/quality/ml-model-audit.md +614 -0
  378. package/expertise/quality/performance.md +600 -0
  379. package/expertise/quality/testing-api.md +891 -0
  380. package/expertise/quality/testing-mobile.md +496 -0
  381. package/expertise/quality/testing-web.md +849 -0
  382. package/expertise/security/PROGRESS.md +54 -0
  383. package/expertise/security/agentic-identity.md +540 -0
  384. package/expertise/security/compliance-frameworks.md +601 -0
  385. package/expertise/security/data/data-encryption.md +364 -0
  386. package/expertise/security/data/data-privacy-gdpr.md +692 -0
  387. package/expertise/security/data/database-security.md +1171 -0
  388. package/expertise/security/data/index.md +22 -0
  389. package/expertise/security/data/pii-handling.md +531 -0
  390. package/expertise/security/foundations/authentication.md +1041 -0
  391. package/expertise/security/foundations/authorization.md +603 -0
  392. package/expertise/security/foundations/cryptography.md +1001 -0
  393. package/expertise/security/foundations/index.md +25 -0
  394. package/expertise/security/foundations/owasp-top-10.md +1354 -0
  395. package/expertise/security/foundations/secrets-management.md +1217 -0
  396. package/expertise/security/foundations/secure-sdlc.md +700 -0
  397. package/expertise/security/foundations/supply-chain-security.md +698 -0
  398. package/expertise/security/index.md +31 -0
  399. package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
  400. package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
  401. package/expertise/security/infrastructure/container-security.md +721 -0
  402. package/expertise/security/infrastructure/incident-response.md +1295 -0
  403. package/expertise/security/infrastructure/index.md +24 -0
  404. package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
  405. package/expertise/security/infrastructure/network-security.md +1337 -0
  406. package/expertise/security/mobile/index.md +23 -0
  407. package/expertise/security/mobile/mobile-android-security.md +1218 -0
  408. package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
  409. package/expertise/security/mobile/mobile-data-storage.md +1265 -0
  410. package/expertise/security/mobile/mobile-ios-security.md +1401 -0
  411. package/expertise/security/mobile/mobile-network-security.md +1520 -0
  412. package/expertise/security/smart-contract-security.md +594 -0
  413. package/expertise/security/testing/index.md +22 -0
  414. package/expertise/security/testing/penetration-testing.md +1258 -0
  415. package/expertise/security/testing/security-code-review.md +1765 -0
  416. package/expertise/security/testing/threat-modeling.md +1074 -0
  417. package/expertise/security/testing/vulnerability-scanning.md +1062 -0
  418. package/expertise/security/web/api-security.md +586 -0
  419. package/expertise/security/web/cors-and-headers.md +433 -0
  420. package/expertise/security/web/csrf.md +562 -0
  421. package/expertise/security/web/file-upload.md +1477 -0
  422. package/expertise/security/web/index.md +25 -0
  423. package/expertise/security/web/injection.md +1375 -0
  424. package/expertise/security/web/session-management.md +1101 -0
  425. package/expertise/security/web/xss.md +1158 -0
  426. package/exports/README.md +17 -0
  427. package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
  428. package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
  429. package/exports/hosts/claude/.claude/agents/designer.md +55 -0
  430. package/exports/hosts/claude/.claude/agents/executor.md +55 -0
  431. package/exports/hosts/claude/.claude/agents/learner.md +51 -0
  432. package/exports/hosts/claude/.claude/agents/planner.md +53 -0
  433. package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
  434. package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
  435. package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
  436. package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
  437. package/exports/hosts/claude/.claude/commands/author.md +42 -0
  438. package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
  439. package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
  440. package/exports/hosts/claude/.claude/commands/design.md +44 -0
  441. package/exports/hosts/claude/.claude/commands/discover.md +37 -0
  442. package/exports/hosts/claude/.claude/commands/execute.md +48 -0
  443. package/exports/hosts/claude/.claude/commands/learn.md +38 -0
  444. package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
  445. package/exports/hosts/claude/.claude/commands/plan.md +39 -0
  446. package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
  447. package/exports/hosts/claude/.claude/commands/review.md +40 -0
  448. package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
  449. package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
  450. package/exports/hosts/claude/.claude/commands/specify.md +38 -0
  451. package/exports/hosts/claude/.claude/commands/verify.md +37 -0
  452. package/exports/hosts/claude/.claude/settings.json +34 -0
  453. package/exports/hosts/claude/CLAUDE.md +19 -0
  454. package/exports/hosts/claude/export.manifest.json +38 -0
  455. package/exports/hosts/claude/host-package.json +67 -0
  456. package/exports/hosts/codex/AGENTS.md +19 -0
  457. package/exports/hosts/codex/export.manifest.json +38 -0
  458. package/exports/hosts/codex/host-package.json +41 -0
  459. package/exports/hosts/cursor/.cursor/hooks.json +16 -0
  460. package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
  461. package/exports/hosts/cursor/export.manifest.json +38 -0
  462. package/exports/hosts/cursor/host-package.json +42 -0
  463. package/exports/hosts/gemini/GEMINI.md +19 -0
  464. package/exports/hosts/gemini/export.manifest.json +38 -0
  465. package/exports/hosts/gemini/host-package.json +41 -0
  466. package/hooks/README.md +18 -0
  467. package/hooks/definitions/loop_cap_guard.yaml +21 -0
  468. package/hooks/definitions/post_tool_capture.yaml +24 -0
  469. package/hooks/definitions/pre_compact_summary.yaml +19 -0
  470. package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
  471. package/hooks/definitions/protected_path_write_guard.yaml +19 -0
  472. package/hooks/definitions/session_start.yaml +19 -0
  473. package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
  474. package/hooks/loop-cap-guard +17 -0
  475. package/hooks/post-tool-lint +36 -0
  476. package/hooks/protected-path-write-guard +17 -0
  477. package/hooks/session-start +41 -0
  478. package/llms-full.txt +2355 -0
  479. package/llms.txt +43 -0
  480. package/package.json +79 -0
  481. package/roles/README.md +20 -0
  482. package/roles/clarifier.md +42 -0
  483. package/roles/content-author.md +63 -0
  484. package/roles/designer.md +55 -0
  485. package/roles/executor.md +55 -0
  486. package/roles/learner.md +51 -0
  487. package/roles/planner.md +53 -0
  488. package/roles/researcher.md +43 -0
  489. package/roles/reviewer.md +54 -0
  490. package/roles/specifier.md +47 -0
  491. package/roles/verifier.md +71 -0
  492. package/schemas/README.md +24 -0
  493. package/schemas/accepted-learning.schema.json +20 -0
  494. package/schemas/author-artifact.schema.json +156 -0
  495. package/schemas/clarification.schema.json +19 -0
  496. package/schemas/design-artifact.schema.json +80 -0
  497. package/schemas/docs-claim.schema.json +18 -0
  498. package/schemas/export-manifest.schema.json +20 -0
  499. package/schemas/hook.schema.json +67 -0
  500. package/schemas/host-export-package.schema.json +18 -0
  501. package/schemas/implementation-plan.schema.json +19 -0
  502. package/schemas/proposed-learning.schema.json +19 -0
  503. package/schemas/research.schema.json +18 -0
  504. package/schemas/review.schema.json +29 -0
  505. package/schemas/run-manifest.schema.json +18 -0
  506. package/schemas/spec-challenge.schema.json +18 -0
  507. package/schemas/spec.schema.json +20 -0
  508. package/schemas/usage.schema.json +102 -0
  509. package/schemas/verification-proof.schema.json +29 -0
  510. package/schemas/wazir-manifest.schema.json +173 -0
  511. package/skills/README.md +40 -0
  512. package/skills/brainstorming/SKILL.md +77 -0
  513. package/skills/debugging/SKILL.md +50 -0
  514. package/skills/design/SKILL.md +61 -0
  515. package/skills/dispatching-parallel-agents/SKILL.md +128 -0
  516. package/skills/executing-plans/SKILL.md +70 -0
  517. package/skills/finishing-a-development-branch/SKILL.md +169 -0
  518. package/skills/humanize/SKILL.md +123 -0
  519. package/skills/init-pipeline/SKILL.md +124 -0
  520. package/skills/prepare-next/SKILL.md +20 -0
  521. package/skills/receiving-code-review/SKILL.md +123 -0
  522. package/skills/requesting-code-review/SKILL.md +105 -0
  523. package/skills/requesting-code-review/code-reviewer.md +108 -0
  524. package/skills/run-audit/SKILL.md +197 -0
  525. package/skills/scan-project/SKILL.md +41 -0
  526. package/skills/self-audit/SKILL.md +153 -0
  527. package/skills/subagent-driven-development/SKILL.md +154 -0
  528. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  529. package/skills/subagent-driven-development/implementer-prompt.md +102 -0
  530. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  531. package/skills/tdd/SKILL.md +23 -0
  532. package/skills/using-git-worktrees/SKILL.md +163 -0
  533. package/skills/using-skills/SKILL.md +95 -0
  534. package/skills/verification/SKILL.md +22 -0
  535. package/skills/wazir/SKILL.md +463 -0
  536. package/skills/writing-plans/SKILL.md +30 -0
  537. package/skills/writing-skills/SKILL.md +157 -0
  538. package/skills/writing-skills/anthropic-best-practices.md +122 -0
  539. package/skills/writing-skills/persuasion-principles.md +50 -0
  540. package/templates/README.md +20 -0
  541. package/templates/artifacts/README.md +10 -0
  542. package/templates/artifacts/accepted-learning.md +19 -0
  543. package/templates/artifacts/accepted-learning.template.json +12 -0
  544. package/templates/artifacts/author.md +74 -0
  545. package/templates/artifacts/author.template.json +19 -0
  546. package/templates/artifacts/clarification.md +21 -0
  547. package/templates/artifacts/clarification.template.json +12 -0
  548. package/templates/artifacts/execute-notes.md +19 -0
  549. package/templates/artifacts/implementation-plan.md +21 -0
  550. package/templates/artifacts/implementation-plan.template.json +11 -0
  551. package/templates/artifacts/learning-proposal.md +19 -0
  552. package/templates/artifacts/next-run-handoff.md +21 -0
  553. package/templates/artifacts/plan-review.md +19 -0
  554. package/templates/artifacts/proposed-learning.template.json +12 -0
  555. package/templates/artifacts/research.md +21 -0
  556. package/templates/artifacts/research.template.json +12 -0
  557. package/templates/artifacts/review-findings.md +19 -0
  558. package/templates/artifacts/review.template.json +11 -0
  559. package/templates/artifacts/run-manifest.template.json +8 -0
  560. package/templates/artifacts/spec-challenge.md +19 -0
  561. package/templates/artifacts/spec-challenge.template.json +11 -0
  562. package/templates/artifacts/spec.md +21 -0
  563. package/templates/artifacts/spec.template.json +12 -0
  564. package/templates/artifacts/verification-proof.md +19 -0
  565. package/templates/artifacts/verification-proof.template.json +11 -0
  566. package/templates/examples/accepted-learning.example.json +14 -0
  567. package/templates/examples/author.example.json +152 -0
  568. package/templates/examples/clarification.example.json +15 -0
  569. package/templates/examples/docs-claim.example.json +8 -0
  570. package/templates/examples/export-manifest.example.json +7 -0
  571. package/templates/examples/host-export-package.example.json +11 -0
  572. package/templates/examples/implementation-plan.example.json +17 -0
  573. package/templates/examples/proposed-learning.example.json +13 -0
  574. package/templates/examples/research.example.json +15 -0
  575. package/templates/examples/research.example.md +6 -0
  576. package/templates/examples/review.example.json +17 -0
  577. package/templates/examples/run-manifest.example.json +9 -0
  578. package/templates/examples/spec-challenge.example.json +14 -0
  579. package/templates/examples/spec.example.json +21 -0
  580. package/templates/examples/verification-proof.example.json +21 -0
  581. package/templates/examples/wazir-manifest.example.yaml +65 -0
  582. package/templates/task-definition-schema.md +99 -0
  583. package/tooling/README.md +20 -0
  584. package/tooling/src/adapters/context-mode.js +50 -0
  585. package/tooling/src/capture/command.js +376 -0
  586. package/tooling/src/capture/store.js +99 -0
  587. package/tooling/src/capture/usage.js +270 -0
  588. package/tooling/src/checks/branches.js +50 -0
  589. package/tooling/src/checks/brand-truth.js +110 -0
  590. package/tooling/src/checks/changelog.js +231 -0
  591. package/tooling/src/checks/command-registry.js +36 -0
  592. package/tooling/src/checks/commits.js +102 -0
  593. package/tooling/src/checks/docs-drift.js +103 -0
  594. package/tooling/src/checks/docs-truth.js +201 -0
  595. package/tooling/src/checks/runtime-surface.js +156 -0
  596. package/tooling/src/cli.js +116 -0
  597. package/tooling/src/command-options.js +56 -0
  598. package/tooling/src/commands/validate.js +320 -0
  599. package/tooling/src/doctor/command.js +91 -0
  600. package/tooling/src/export/command.js +77 -0
  601. package/tooling/src/export/compiler.js +498 -0
  602. package/tooling/src/guards/loop-cap-guard.js +52 -0
  603. package/tooling/src/guards/protected-path-write-guard.js +67 -0
  604. package/tooling/src/index/command.js +152 -0
  605. package/tooling/src/index/storage.js +1061 -0
  606. package/tooling/src/index/summarizers.js +261 -0
  607. package/tooling/src/loaders.js +18 -0
  608. package/tooling/src/project-root.js +22 -0
  609. package/tooling/src/recall/command.js +225 -0
  610. package/tooling/src/schema-validator.js +30 -0
  611. package/tooling/src/state-root.js +40 -0
  612. package/tooling/src/status/command.js +71 -0
  613. package/wazir.manifest.yaml +135 -0
  614. package/workflows/README.md +19 -0
  615. package/workflows/author.md +42 -0
  616. package/workflows/clarify.md +38 -0
  617. package/workflows/design-review.md +46 -0
  618. package/workflows/design.md +44 -0
  619. package/workflows/discover.md +37 -0
  620. package/workflows/execute.md +48 -0
  621. package/workflows/learn.md +38 -0
  622. package/workflows/plan-review.md +42 -0
  623. package/workflows/plan.md +39 -0
  624. package/workflows/prepare-next.md +37 -0
  625. package/workflows/review.md +40 -0
  626. package/workflows/run-audit.md +41 -0
  627. package/workflows/spec-challenge.md +41 -0
  628. package/workflows/specify.md +38 -0
  629. package/workflows/verify.md +37 -0
@@ -0,0 +1,505 @@
1
+ # Mobile Startup Time — Performance Expertise Module
2
+
3
+ > App startup time is the first impression users have of your app. 53% of mobile users abandon apps that take longer than 3 seconds to load (Google). Cold start times above 2 seconds correlate with 25% higher Day-1 abandonment. Users form a lasting opinion of app quality within the first 3 seconds of interaction, and apps rated below 3.5 stars see significantly reduced store visibility.
4
+
5
+ > **Impact:** Critical
6
+ > **Applies to:** Mobile (iOS, Android, Flutter, React Native)
7
+ > **Key metrics:** Cold start time, Warm start time, Hot start time, Time to Initial Display (TTID), Time to Full Display (TTFD)
8
+
9
+ ---
10
+
11
+ ## Why This Matters
12
+
13
+ - **53% of mobile users** leave if an app does not load within 3 seconds (Google — "The Need for Mobile Speed").
14
+ - Load time 1s to 3s: bounce probability rises **32%**. 1s to 5s: **90%**. 1s to 10s: **123%** (Google/SOASTA).
15
+ - Sites loading within 5s see **25% higher ad viewability**, **70% longer sessions**, **35% lower bounce rate** vs 19s loads.
16
+ - **25% of users** abandon an app after one use. **77%** abandon within 3 days of install.
17
+ - Apps rated above **4.5 stars** receive **3x more installs** on average.
18
+ - Apps reducing crash rates from 2% to 0.5% jumped **dozens of ranking positions** in stores.
19
+
20
+ ### Real Case Studies
21
+
22
+ | Company | Platform | Improvement | Key Technique |
23
+ |---------|----------|-------------|---------------|
24
+ | **Turo** | Android | **77% faster** cold start (84% at p50) | Removed splash animation, parallel async requests, Baseline Profiles (+15%) |
25
+ | **DoorDash** | iOS | **60% faster** launch | Optimized Swift protocol conformance checks, command hashing (29% faster alone) |
26
+ | **Zomato** | Android | **20% faster** cold start | Baseline Profiles (3.47s to 2.81s), AOT compilation of critical paths |
27
+ | **Fintech startup** | Flutter | **48% faster** (2.5s to 1.3s) | Tree-shaking, lazy loading, app size 45MB to 32MB |
28
+
29
+ ---
30
+
31
+ ## Performance Budgets & Targets
32
+
33
+ | Metric | Excellent | Acceptable | Poor | Unacceptable |
34
+ |--------|-----------|------------|------|--------------|
35
+ | **Cold start (flagship)** | < 800ms | < 1.5s | 1.5–3s | > 3s |
36
+ | **Cold start (mid-range)** | < 1.2s | < 2s | 2–4s | > 4s |
37
+ | **Cold start (low-end)** | < 2s | < 3s | 3–5s | > 5s |
38
+ | **Warm start** | < 400ms | < 800ms | 800ms–2s | > 2s |
39
+ | **Hot start** | < 150ms | < 300ms | 300ms–1s | > 1s |
40
+ | **TTID** | < 500ms | < 1s | 1–2s | > 2s |
41
+ | **TTFD** | < 1.5s | < 2.5s | 2.5–4s | > 4s |
42
+ | **iOS pre-main** | < 200ms | < 400ms | 400ms–1s | > 1s |
43
+
44
+ **Android Vitals thresholds:** Cold >= 5s excessive, Warm >= 2s, Hot >= 1.5s. Google recommends < 500ms cold start (aggressive ideal). Top-100 apps: **39%** achieve cold launch < 2s, **73%** < 3s.
45
+
46
+ **iOS:** Watchdog kills apps failing to launch within ~20s. Pre-main target < 400ms.
47
+
48
+ **Flutter:** Cold start target < 2s on mid-range. Engine init overhead: 300–800ms on first launch.
49
+
50
+ **React Native:** With Hermes, target cold TTI < 2s. Without Hermes: expect 30–50% slower.
51
+
52
+ ---
53
+
54
+ ## Understanding Startup States
55
+
56
+ **Cold Start** — App process not in memory. System must: load binary, create process, init runtime (ART/dyld/Dart VM), load dynamic libraries, run static initializers, create Application/AppDelegate, create first Activity/VC, render first frame. Always the slowest path.
57
+
58
+ **Warm Start** — Process in memory but UI destroyed. Recreates Activity/VC and restores state. Typically **40–60% faster** than cold.
59
+
60
+ **Hot Start** — App fully in memory, brought to foreground. Usually < 200ms on modern devices.
61
+
62
+ ---
63
+
64
+ ## Measurement & Profiling
65
+
66
+ ### Android
67
+ ```bash
68
+ # Cold start measurement
69
+ adb shell am force-stop com.example.app
70
+ adb shell am start-activity -W -n com.example.app/.MainActivity
71
+ # Output: TotalTime, WaitTime, LaunchState (COLD/WARM/HOT)
72
+ ```
73
+
74
+ **Macrobenchmark (CI-ready):**
75
+ ```kotlin
76
+ @Test
77
+ fun startupCold() = benchmarkRule.measureRepeated(
78
+ packageName = "com.example.app",
79
+ metrics = listOf(StartupTimingMetric()),
80
+ iterations = 10,
81
+ startupMode = StartupMode.COLD
82
+ ) {
83
+ pressHome()
84
+ startActivityAndWait()
85
+ }
86
+ // Outputs: timeToInitialDisplayMs, timeToFullDisplayMs — JSON for CI
87
+ ```
88
+
89
+ **Also use:** Android Vitals (real-user percentiles), Perfetto/Systrace (detailed traces).
90
+
91
+ ### iOS
92
+ ```
93
+ # Xcode scheme → Environment Variables:
94
+ DYLD_PRINT_STATISTICS = 1
95
+ # Shows: dylib loading, rebase/binding, ObjC setup, initializer time
96
+ ```
97
+
98
+ **XCTest (CI-ready):**
99
+ ```swift
100
+ func testColdLaunchTime() throws {
101
+ measure(metrics: [XCTApplicationLaunchMetric()]) {
102
+ XCUIApplication().launch()
103
+ }
104
+ // 10 iterations, set baselines in Xcode for regression detection
105
+ }
106
+ ```
107
+
108
+ **Also use:** Instruments App Launch template, MetricKit (production, delivers daily reports).
109
+
110
+ ### Flutter
111
+ ```bash
112
+ flutter run --trace-startup --profile
113
+ # Outputs startup_info.json: engineEnterTimestampMicros, timeToFirstFrameMicros
114
+ ```
115
+ ```dart
116
+ import 'dart:developer';
117
+ Timeline.startSync('DI Setup');
118
+ setupDependencyInjection();
119
+ Timeline.finishSync();
120
+ ```
121
+
122
+ ### React Native
123
+ ```javascript
124
+ performance.mark('app_start');
125
+ // ... init code ...
126
+ performance.mark('first_render');
127
+ performance.measure('startup', 'app_start', 'first_render');
128
+ ```
129
+ **Also use:** Flipper Performance plugin, Hermes sampling profiler.
130
+
131
+ ### CI Automation Strategy
132
+ ```
133
+ 1. Run startup benchmark on every PR (Macrobenchmark / XCTest)
134
+ 2. Track p50, p90, p99 across device tiers
135
+ 3. CI thresholds: p50 cold > 2s = warning, > 3s = failure, p90 cold > 5s = failure
136
+ 4. Store in time-series DB, dashboard with trend lines and alerts
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Common Bottlenecks (Ranked by Impact)
142
+
143
+ **1. Too Many Initializations at Launch** (200–2000ms)
144
+ Detect: Profile Application.onCreate / didFinishLaunching for synchronous init calls.
145
+ Fix: Defer non-critical SDKs. Only init what the first screen needs.
146
+
147
+ **2. Synchronous Network Calls at Startup** (500–5000ms+)
148
+ Detect: Main thread blocked on network I/O in trace. Turo's primary bottleneck.
149
+ Fix: Async requests, show cached/skeleton content.
150
+
151
+ **3. Heavy Third-Party SDK Init** (100–800ms per SDK)
152
+ Detect: DYLD_PRINT_STATISTICS (iOS), ContentProvider init time (Android). Firebase, analytics, crash SDKs.
153
+ Fix: Defer analytics/crash init to after first frame. Remove unused SDKs.
154
+
155
+ **4. Dynamic Library Loading (iOS)** (10–50ms per framework)
156
+ Detect: DYLD_PRINT_STATISTICS → dylib loading. 100+ dynamic frameworks = 500ms+.
157
+ Fix: Convert to static libraries. Swift 6 `@StaticDependency` reduces dyld loading by **35%**.
158
+
159
+ **5. Dex/Class Loading (Android)** (200–1500ms)
160
+ Detect: Perfetto classloading time. Multidex on older Android especially affected.
161
+ Fix: Baseline Profiles (up to **30%** improvement), R8 full mode, App Startup library.
162
+
163
+ **6. Large Splash Screen Assets** (100–500ms)
164
+ Fix: Use vector drawables/PDF assets. System splash API (Android 12+).
165
+
166
+ **7. Main Thread Blocking I/O** (50–2000ms)
167
+ Fix: Background threads for all disk I/O. Async SharedPreferences/UserDefaults.
168
+
169
+ **8. Excessive DI Setup** (50–500ms)
170
+ Detect: Profile DI container init. Koin (runtime) > Dagger/Hilt (compile-time) overhead.
171
+ Fix: Compile-time DI for large graphs. Lazy-inject non-critical deps.
172
+
173
+ **9. Database Migrations on First Run** (100–3000ms)
174
+ Fix: Background thread migrations. Progress indicator for large migrations.
175
+
176
+ **10. Custom Font Loading** (50–300ms per family)
177
+ Fix: System fonts where possible. Preloaded fonts in manifest/Info.plist.
178
+
179
+ **11. ContentProvider Auto-Init (Android)** (50–200ms each)
180
+ Fix: App Startup library to replace ContentProvider-based initialization.
181
+
182
+ **12. Swift Protocol Conformance Checks (iOS)**
183
+ DoorDash found significant overhead. Fix: Reduce protocol abstractions in hot launch paths (**29% faster**).
184
+
185
+ **13. Unused Feature Module Loading** (100–500ms)
186
+ Fix: Dynamic feature modules loaded on-demand, not at startup.
187
+
188
+ **14. Image Preloading** (50–400ms)
189
+ Fix: Only load first-frame images. Async loading for rest.
190
+
191
+ **15. Analytics Event Queue Flush** (50–300ms)
192
+ Fix: Defer flush to after first frame. Background batch dispatch.
193
+
194
+ ---
195
+
196
+ ## Optimization Patterns
197
+
198
+ ### 1. Lazy Initialization (Android)
199
+ ```kotlin
200
+ // BEFORE: ~830ms blocking in onCreate
201
+ class MyApplication : Application() {
202
+ override fun onCreate() {
203
+ super.onCreate()
204
+ FirebaseApp.initializeApp(this) // ~150ms
205
+ CrashReporting.init(this) // ~100ms
206
+ AnalyticsSDK.init(this, config) // ~200ms
207
+ ImageLoader.init(this) // ~80ms
208
+ DatabaseManager.init(this) // ~120ms
209
+ FeatureFlagService.init(this) // ~180ms
210
+ }
211
+ }
212
+
213
+ // AFTER: ~80ms blocking, rest deferred
214
+ class MyApplication : Application() {
215
+ override fun onCreate() {
216
+ super.onCreate()
217
+ ImageLoader.init(this) // Only what first frame needs
218
+ }
219
+ }
220
+ object ServiceLocator {
221
+ val analytics by lazy { AnalyticsSDK.init(appContext, config) }
222
+ val crashReporting by lazy { CrashReporting.init(appContext) }
223
+ }
224
+ class MainActivity : AppCompatActivity() {
225
+ override fun onResume() {
226
+ super.onResume()
227
+ window.decorView.post { // After first frame
228
+ lifecycleScope.launch(Dispatchers.Default) {
229
+ FirebaseApp.initializeApp(applicationContext)
230
+ ServiceLocator.crashReporting
231
+ ServiceLocator.analytics
232
+ }
233
+ }
234
+ }
235
+ }
236
+ ```
237
+
238
+ ### 2. Parallel Initialization (iOS)
239
+ ```swift
240
+ // BEFORE: ~600ms sequential
241
+ func application(_ app: UIApplication, didFinishLaunchingWithOptions opts: ...) -> Bool {
242
+ FirebaseApp.configure() // ~180ms
243
+ Crashlytics.initialize() // ~120ms
244
+ Analytics.configure(with: config) // ~150ms
245
+ NetworkManager.shared.configure() // ~90ms
246
+ ThemeManager.apply() // ~60ms
247
+ return true
248
+ }
249
+
250
+ // AFTER: ~60ms blocking, rest parallel
251
+ func application(_ app: UIApplication, didFinishLaunchingWithOptions opts: ...) -> Bool {
252
+ ThemeManager.apply() // Only critical-path
253
+ let bgQueue = DispatchQueue.global(qos: .utility)
254
+ bgQueue.async { FirebaseApp.configure() }
255
+ bgQueue.async { Crashlytics.initialize(); Analytics.configure(with: config) }
256
+ bgQueue.async { NetworkManager.shared.configure() }
257
+ return true
258
+ }
259
+ ```
260
+
261
+ ### 3. Baseline Profile Generation (Android)
262
+ ```kotlin
263
+ @Test
264
+ fun generateStartupProfile() {
265
+ rule.collect(packageName = "com.example.app", maxIterations = 15) {
266
+ pressHome()
267
+ startActivityAndWait()
268
+ device.findObject(By.res("home_feed")).wait(Until.hasObject(By.res("feed_item")), 5_000)
269
+ }
270
+ }
271
+ // Place in src/main/baseline-prof.txt. Google Play AOT-compiles on install.
272
+ // Expected: 15–30% faster cold start.
273
+ ```
274
+
275
+ ### 4. Flutter Deferred Loading
276
+ ```dart
277
+ // BEFORE: blocks first frame
278
+ void main() async {
279
+ WidgetsFlutterBinding.ensureInitialized();
280
+ await Firebase.initializeApp(); // ~200ms
281
+ await Hive.initFlutter(); // ~150ms
282
+ await loadRemoteConfig(); // ~500ms (network!)
283
+ runApp(const MyApp());
284
+ }
285
+
286
+ // AFTER: near-instant first frame
287
+ void main() {
288
+ WidgetsFlutterBinding.ensureInitialized();
289
+ runApp(const MyApp());
290
+ }
291
+ class MyApp extends StatelessWidget {
292
+ @override Widget build(BuildContext context) {
293
+ return MaterialApp(home: FutureBuilder(
294
+ future: Future.wait([Firebase.initializeApp(), Hive.initFlutter()]),
295
+ builder: (ctx, snap) => snap.connectionState == ConnectionState.done
296
+ ? const HomeScreen() : const ShimmerPlaceholder(),
297
+ ));
298
+ }
299
+ }
300
+ ```
301
+
302
+ ### 5. React Native Hermes + Inline Requires
303
+ ```javascript
304
+ // metro.config.js
305
+ module.exports = {
306
+ transformer: { getTransformOptions: async () => ({
307
+ transform: { inlineRequires: true },
308
+ })},
309
+ };
310
+
311
+ // App.js — defer non-critical init
312
+ useEffect(() => {
313
+ InteractionManager.runAfterInteractions(() => {
314
+ const { initAnalytics } = require('./services/analytics');
315
+ const { initCrashReporting } = require('./services/crashes');
316
+ initAnalytics();
317
+ initCrashReporting();
318
+ });
319
+ }, []);
320
+ // Hermes + inlineRequires: cold TTI 3.6s → 2.1s (42% faster)
321
+ ```
322
+
323
+ ### 6. iOS Static Linking Migration
324
+ ```ruby
325
+ # Podfile — convert dynamic to static
326
+ platform :ios, '16.0'
327
+ use_frameworks! :linkage => :static
328
+
329
+ # Result: dylib loading 850ms → 120ms (67% reduction)
330
+ # Apps with 50+ frameworks save 200–500ms pre-main
331
+ ```
332
+
333
+ ---
334
+
335
+ ## Anti-Patterns
336
+
337
+ 1. **"Initialize Everything at Startup Just in Case"** — Loading all SDKs synchronously adds 500–2000ms for services the user may never need that session. Categorize as critical/deferred/lazy.
338
+
339
+ 2. **Synchronous Initialization Chains** — SDK A→B→C all sequential when some branches could parallelize. Map the dependency graph, parallelize independent branches.
340
+
341
+ 3. **Network Calls Before Showing UI** — Adds full round-trip (200–5000ms). Cache last config locally, show cached content, update async.
342
+
343
+ 4. **Heavy Custom Splash Animations** — Fixed delays that cannot be optimized. Turo saved time by removing their 1s splash. Use system splash, dismiss when content ready.
344
+
345
+ 5. **Eager Feature Module Loading** — 100–500ms of class loading for unused screens. Use dynamic feature modules, init on navigation.
346
+
347
+ 6. **Blocking on Remote Config** — `fetchAndActivate()` synchronous = 200–2000ms network delay. Use cached values, fetch in background, apply next launch.
348
+
349
+ 7. **Unoptimized R8/ProGuard** — Broad keep rules = larger DEX, more classes to load. Use R8 full mode, precise keep rules.
350
+
351
+ ---
352
+
353
+ ## Architecture-Level Decisions
354
+
355
+ ### Modular Initialization Pipeline
356
+ ```
357
+ Phase 1: CRITICAL (main thread, sync, < 200ms)
358
+ └── Core DI (minimal), theme, first-screen ViewModel + cached data
359
+
360
+ Phase 2: FIRST FRAME RENDERED — user sees content/skeleton
361
+
362
+ Phase 3: DEFERRED (background, < 2s after first frame)
363
+ └── Analytics, crash reporting, push registration, network refresh
364
+
365
+ Phase 4: LAZY (on-demand, < 500ms when triggered)
366
+ └── Social login, payments, camera, feature-specific libs
367
+ ```
368
+
369
+ ### DI Framework Impact
370
+
371
+ | Framework | Startup Overhead | Best For |
372
+ |-----------|-----------------|----------|
373
+ | **Dagger/Hilt** | Near-zero (compile-time) | Large apps, perf-critical |
374
+ | **Koin** | 50–300ms (runtime) | Small-medium apps |
375
+ | **GetIt (Flutter)** | 10–100ms | Flutter apps |
376
+ | **Manual DI** | Zero | Simple apps, max control |
377
+
378
+ ### Splash vs. Skeleton Screens
379
+
380
+ Skeleton screens feel **20–30% faster** than spinners (research on perceived wait times). Use system splash to cover cold start gap, transition to skeleton for content loading. Never add artificial delays.
381
+
382
+ ---
383
+
384
+ ## Decision Tree: "My App Is Slow to Start"
385
+
386
+ ```
387
+ Cold start issue?
388
+ ├── YES → Pre-main or post-main?
389
+ │ ├── PRE-MAIN (iOS)
390
+ │ │ ├── dylib loading > 200ms → static linking
391
+ │ │ ├── initializer time > 500ms → audit +load, defer to didFinishLaunching
392
+ │ │ └── ObjC setup > 100ms → reduce ObjC classes, use Swift structs
393
+ │ └── POST-MAIN
394
+ │ ├── SDKs init synchronously → defer to after first frame
395
+ │ ├── Network blocking main thread → async + cached/skeleton
396
+ │ ├── DI setup > 200ms → compile-time DI, lazy inject
397
+ │ └── Complex first frame → simplify, skeleton, defer layouts
398
+ ├── WARM start → optimize onCreateView/viewDidLoad, reduce saved state size
399
+ └── HOT start → remove non-UI work from onResume/viewWillAppear
400
+ ```
401
+
402
+ ---
403
+
404
+ ## Testing & Regression Prevention
405
+
406
+ **CI Pipeline:**
407
+ ```yaml
408
+ # Android: Macrobenchmark in GitHub Actions
409
+ - uses: reactivecircus/android-emulator-runner@v2
410
+ with:
411
+ script: ./gradlew :benchmark:connectedAndroidTest
412
+ - run: |
413
+ COLD=$(jq '.benchmarks[0].metrics.timeToInitialDisplayMs.median' results.json)
414
+ [ $(echo "$COLD > 2000" | bc) -eq 1 ] && exit 1
415
+
416
+ # iOS: XCTest performance
417
+ - run: xcodebuild test -scheme PerformanceTests -destination "platform=iOS Simulator,name=iPhone 15"
418
+ ```
419
+
420
+ **Regression Strategy:**
421
+ 1. Baseline on known-good build (p50, p90, p99)
422
+ 2. Per-PR checks: flag > 10% regression as warning, > 20% as failure
423
+ 3. Production: Android Vitals + MetricKit + custom telemetry
424
+ 4. Quarterly review — startup time creeps up with new features
425
+
426
+ **Device Farm:** Firebase Test Lab / AWS Device Farm. Always include one low-end device (2GB RAM). Never rely only on emulator benchmarks.
427
+
428
+ ---
429
+
430
+ ## Quick Reference
431
+
432
+ ### Optimization Impact Summary
433
+
434
+ | Technique | Improvement | Effort | Platform |
435
+ |-----------|------------|--------|----------|
436
+ | Defer SDK init | 200–800ms | Low | All |
437
+ | Baseline Profiles | 15–30% cold start | Medium | Android |
438
+ | Static linking | 200–500ms pre-main | Medium | iOS |
439
+ | Hermes engine | 30–50% cold start | Low | React Native |
440
+ | Inline requires | 10–20% cold start | Low | React Native |
441
+ | Parallel init | 30–60% of init time | Medium | All |
442
+ | App Startup library | 100–300ms | Low | Android |
443
+ | Remove splash delay | 500–2000ms | Low | All |
444
+ | Compile-time DI | 50–300ms vs runtime | High | Android |
445
+ | R8 full mode | 10–20% cold start | Low | Android |
446
+ | Isolate-based init | 100–500ms off main | Medium | Flutter |
447
+ | Skeleton screens | 20–30% perceived | Medium | All |
448
+
449
+ ### Measurement Tools
450
+
451
+ | Tool | Platform | Use Case |
452
+ |------|----------|----------|
453
+ | `adb shell am start -W` | Android | Quick local measurement |
454
+ | Macrobenchmark | Android | CI regression testing |
455
+ | Android Vitals | Android | Production monitoring |
456
+ | Perfetto / Systrace | Android | Deep investigation |
457
+ | DYLD_PRINT_STATISTICS | iOS | Pre-main breakdown |
458
+ | Instruments App Launch | iOS | Deep investigation |
459
+ | MetricKit | iOS | Production monitoring |
460
+ | XCTApplicationLaunchMetric | iOS | CI regression testing |
461
+ | `flutter run --trace-startup` | Flutter | Quick measurement |
462
+ | Flipper Performance | React Native | Thread analysis |
463
+
464
+ ### Startup Audit Checklist
465
+ ```
466
+ [ ] Profile cold start on a mid-range device (not your dev phone)
467
+ [ ] Measure pre-main time (iOS) or process init time (Android)
468
+ [ ] List all initializations in Application.onCreate / didFinishLaunching
469
+ [ ] Categorize each as: Critical / Deferred / Lazy
470
+ [ ] Defer non-critical items to post-first-frame background thread
471
+ [ ] Audit third-party SDKs for ContentProvider auto-init (Android)
472
+ [ ] Check dynamic framework count (iOS) — consider static linking
473
+ [ ] Generate and ship Baseline Profiles (Android)
474
+ [ ] Enable Hermes engine (React Native)
475
+ [ ] Set up automated startup benchmark in CI
476
+ [ ] Configure production monitoring (Android Vitals / MetricKit)
477
+ [ ] Set performance budget and regression alerts
478
+ [ ] Test on lowest-tier target device
479
+ [ ] Review startup time quarterly
480
+ ```
481
+
482
+ ---
483
+
484
+ *Researched: 2026-03-08*
485
+
486
+ *Sources:*
487
+ - [App startup time — Android Developers](https://developer.android.com/topic/performance/vitals/launch-time)
488
+ - [Turo: 77% Android startup reduction](https://medium.com/turo-engineering/how-we-reduced-our-android-startup-time-by-77-650cc113c3dc)
489
+ - [DoorDash: 60% iOS launch time reduction](https://careersatdoordash.com/blog/how-we-reduced-our-ios-app-launch-time-by-60/)
490
+ - [Zomato: 20% improvement with Baseline Profiles](https://blog.zomato.com/how-we-improved-our-android-app-startup-time-by-over-20-with-baseline-profile)
491
+ - [Google: 53% abandon sites > 3s](https://www.thinkwithgoogle.com/marketing-strategies/app-and-mobile/page-load-time-statistics/)
492
+ - [Google: Page load bounce rate statistics](https://www.marketingdive.com/news/google-53-of-mobile-users-abandon-sites-that-take-over-3-seconds-to-load/426070/)
493
+ - [Reducing your app's launch time — Apple Developer](https://developer.apple.com/documentation/xcode/reducing-your-app-s-launch-time)
494
+ - [Cut iOS Launch Time by 50% in 2025 — Static Linking, Swift 6](https://medium.com/@vrxrszsb/cut-ios-app-launch-time-by-50-in-2025-advanced-strategies-with-xcode-16-static-linking-and-bfb8997af3d0)
495
+ - [iOS App Launch time analysis — Globant](https://medium.com/globant/ios-app-launch-time-analysis-and-optimization-a219ee81447c)
496
+ - [Hermes in 2025 — React Native](https://medium.com/@devonmobile/hermes-in-2025-the-invisible-engine-powering-a-faster-react-native-955711815acd)
497
+ - [Hermes V1 in React Native 0.82](https://medium.com/react-native-journal/hermes-v1-in-react-native-0-82-unlocking-faster-startup-times-bfd0cf1b107c)
498
+ - [Macrobenchmark — Android Developers](https://developer.android.com/topic/performance/benchmarking/macrobenchmark-overview)
499
+ - [Baseline Profiles — Android Developers](https://developer.android.com/topic/performance/baselineprofiles/overview)
500
+ - [XCTApplicationLaunchMetric — Apple Developer](https://developer.apple.com/documentation/xctest/xctapplicationlaunchmetric)
501
+ - [MetricKit launch time — SwiftLee](https://www.avanderlee.com/swift/metrickit-launch-time/)
502
+ - [Skeleton screen design — LogRocket](https://blog.logrocket.com/ux-design/skeleton-loading-screen-design/)
503
+ - [Benchmarking Koin vs Dagger Hilt 2024 — droidcon](https://www.droidcon.com/2024/12/03/benchmarking-koin-vs-dagger-hilt-in-modern-android-development-2024/)
504
+ - [Flutter Cold Start Optimization](https://writeflow.medium.com/flutter-cold-start-optimization-make-your-app-launch-2-faster-32d762af49c9)
505
+ - [Emerge Tools — Android Startup Performance](https://docs.emergetools.com/docs/android-startup-performance-testing-1)