novahiz 0.2.2 → 0.2.5

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 (565) hide show
  1. package/NOTICE.md +25 -15
  2. package/README.md +353 -355
  3. package/adapters/README.md +1 -1
  4. package/adapters/opencode/agent/novahiz.md +1 -2
  5. package/adapters/opencode/commands/novahiz-init.md +10 -0
  6. package/adapters/opencode/instructions.md +1 -1
  7. package/adapters/opencode/novahiz.ts +182 -4
  8. package/bin/novahiz.cmd +2 -2
  9. package/catalog/categories.json +1085 -1093
  10. package/catalog/overrides.json +12 -13
  11. package/catalog/providers.json +18 -34
  12. package/catalog/rules.json +15 -22
  13. package/docs/ARCHITECTURE.md +2 -2
  14. package/docs/CATALOG.md +7 -6
  15. package/docs/CONFIGURATION.md +5 -5
  16. package/docs/CONSTITUTION.md +4 -4
  17. package/docs/GATE.md +7 -11
  18. package/docs/HARNESSES.md +11 -0
  19. package/docs/INSTALL.md +7 -5
  20. package/docs/PLUGIN.md +24 -6
  21. package/docs/PROVIDERS.md +12 -10
  22. package/docs/ROADMAPS.md +4 -3
  23. package/docs/RULES.md +11 -10
  24. package/install/bootstrap.mjs +9 -19
  25. package/install/install.mjs +23 -41
  26. package/mcp/novahiz-tools/index.mjs +35 -6
  27. package/novahiz.config.example.json +1 -5
  28. package/package.json +6 -7
  29. package/skills/apple-ui-audit/SKILL.md +95 -0
  30. package/skills/apple-ui-audit/references/screen-walkthrough.md +29 -0
  31. package/skills/browser-session/SKILL.md +61 -0
  32. package/skills/browser-session/references/session-run-sheet.md +30 -0
  33. package/skills/browser-session/scripts/browser_session_preflight.mjs +74 -0
  34. package/skills/browser-session/scripts/sample-run.json +5 -0
  35. package/skills/code-standards/SKILL.md +85 -0
  36. package/skills/code-standards/references/pr-review-worksheet.md +35 -0
  37. package/skills/design-token-pipeline/SKILL.md +85 -0
  38. package/skills/design-token-pipeline/references/dtcg-sample.json +37 -0
  39. package/skills/llm-threat-review/SKILL.md +99 -0
  40. package/skills/llm-threat-review/references/review-worksheet.md +34 -0
  41. package/skills/llm-threat-review/scripts/llm_risk_lint.mjs +105 -0
  42. package/skills/novahiz-audit/SKILL.md +1 -1
  43. package/skills/novahiz-gate/SKILL.md +7 -6
  44. package/skills/novahiz-humanizer/SKILL.md +1 -1
  45. package/skills/novahiz-implement/SKILL.md +1 -1
  46. package/skills/novahiz-init/SKILL.md +112 -0
  47. package/skills/novahiz-planner/SKILL.md +1 -2
  48. package/skills/openapi-mcp-server/SKILL.md +76 -0
  49. package/skills/openapi-mcp-server/references/mcp-ship-checklist.md +30 -0
  50. package/skills/openapi-mcp-server/references/tool-worksheet.md +30 -0
  51. package/skills/openapi-mcp-server/scripts/openapi_mcp_lint.mjs +133 -0
  52. package/skills/package-risk-audit/SKILL.md +83 -0
  53. package/skills/package-risk-audit/references/intake-worksheet.md +19 -0
  54. package/skills/package-risk-audit/scripts/dep_risk_lint.mjs +131 -0
  55. package/skills/secrets-hygiene/SKILL.md +62 -0
  56. package/skills/secrets-hygiene/references/rotation-playbook.md +27 -0
  57. package/skills/secrets-hygiene/scripts/secret_scan.mjs +120 -0
  58. package/skills/skill-authoring/SKILL.md +93 -0
  59. package/skills/skill-authoring/references/skill-template.md +59 -0
  60. package/skills/skill-authoring/scripts/skill_frontmatter_lint.mjs +65 -0
  61. package/skills/skill-eval-loop/SKILL.md +103 -0
  62. package/skills/skill-eval-loop/references/negative-patterns.md +12 -0
  63. package/skills/skill-eval-loop/references/run-sheet.md +40 -0
  64. package/skills/skill-eval-loop/scripts/skill_structure_check.mjs +100 -0
  65. package/skills/ui-craft-rules/SKILL.md +96 -0
  66. package/skills/ui-slop-remover/SKILL.md +110 -0
  67. package/skills/ui-slop-remover/references/tell-catalogue.md +58 -0
  68. package/skills/ui-slop-remover/scripts/slop_lint.mjs +119 -0
  69. package/src/autodocs.ts +192 -0
  70. package/src/cli.ts +8 -1
  71. package/src/commands/autodocs.ts +250 -0
  72. package/src/commands/doctor.ts +226 -217
  73. package/src/commands/gate.ts +16 -5
  74. package/src/commands/init.ts +356 -0
  75. package/src/commands/task.ts +20 -7
  76. package/src/gate.ts +401 -401
  77. package/src/ledger.ts +39 -0
  78. package/src/targets.ts +43 -7
  79. package/bundled-skills/ab-testing/SKILL.md +0 -353
  80. package/bundled-skills/ab-testing/evals/evals.json +0 -105
  81. package/bundled-skills/ab-testing/references/sample-size-guide.md +0 -263
  82. package/bundled-skills/ab-testing/references/test-templates.md +0 -277
  83. package/bundled-skills/ad-creative/SKILL.md +0 -425
  84. package/bundled-skills/ad-creative/assets/creative-review-template.html +0 -400
  85. package/bundled-skills/ad-creative/evals/evals.json +0 -217
  86. package/bundled-skills/ad-creative/references/creative-review-page.md +0 -106
  87. package/bundled-skills/ad-creative/references/creative-roadmap.md +0 -118
  88. package/bundled-skills/ad-creative/references/generative-tools.md +0 -637
  89. package/bundled-skills/ad-creative/references/hook-system.md +0 -115
  90. package/bundled-skills/ad-creative/references/imessage-video-ads.md +0 -201
  91. package/bundled-skills/ad-creative/references/meta-creative-formats.md +0 -114
  92. package/bundled-skills/ad-creative/references/motion-video-ads.md +0 -126
  93. package/bundled-skills/ad-creative/references/platform-specs.md +0 -213
  94. package/bundled-skills/ad-creative/references/short-form-video-specs.md +0 -213
  95. package/bundled-skills/ad-creative/references/static-ad-templates.md +0 -308
  96. package/bundled-skills/ads/SKILL.md +0 -499
  97. package/bundled-skills/ads/evals/evals.json +0 -157
  98. package/bundled-skills/ads/references/abm-playbook.md +0 -93
  99. package/bundled-skills/ads/references/ad-copy-templates.md +0 -207
  100. package/bundled-skills/ads/references/audience-targeting.md +0 -243
  101. package/bundled-skills/ads/references/audit-guardrails.md +0 -83
  102. package/bundled-skills/ads/references/b2b-paid-playbook.md +0 -115
  103. package/bundled-skills/ads/references/conversion-tracking.md +0 -361
  104. package/bundled-skills/ads/references/creative-research-automation.md +0 -103
  105. package/bundled-skills/ads/references/google-ads-audit-checklist.md +0 -84
  106. package/bundled-skills/ads/references/google-search-playbook.md +0 -120
  107. package/bundled-skills/ads/references/linkedin-b2b-playbook.md +0 -107
  108. package/bundled-skills/ads/references/meta-decision-system.md +0 -176
  109. package/bundled-skills/ads/references/payback-period.md +0 -69
  110. package/bundled-skills/ads/references/platform-setup-checklists.md +0 -277
  111. package/bundled-skills/ads/references/rsa-output-spec.md +0 -88
  112. package/bundled-skills/agent-device/SKILL.md +0 -20
  113. package/bundled-skills/ai-seo/SKILL.md +0 -488
  114. package/bundled-skills/ai-seo/evals/evals.json +0 -135
  115. package/bundled-skills/ai-seo/references/agent-readiness.md +0 -57
  116. package/bundled-skills/ai-seo/references/citations-vs-recommendations.md +0 -85
  117. package/bundled-skills/ai-seo/references/content-patterns.md +0 -287
  118. package/bundled-skills/ai-seo/references/content-types.md +0 -71
  119. package/bundled-skills/ai-seo/references/format-volatility.md +0 -98
  120. package/bundled-skills/ai-seo/references/okf.md +0 -104
  121. package/bundled-skills/ai-seo/references/platform-ranking-factors.md +0 -154
  122. package/bundled-skills/ai-seo/references/youtube-ai-citations.md +0 -60
  123. package/bundled-skills/analytics/SKILL.md +0 -310
  124. package/bundled-skills/analytics/evals/evals.json +0 -90
  125. package/bundled-skills/analytics/references/event-library.md +0 -260
  126. package/bundled-skills/analytics/references/ga4-implementation.md +0 -300
  127. package/bundled-skills/analytics/references/gtm-implementation.md +0 -390
  128. package/bundled-skills/android-emulator/SKILL.md +0 -32
  129. package/bundled-skills/android-reverse-engineering/LICENSE +0 -190
  130. package/bundled-skills/android-reverse-engineering/SKILL.md +0 -313
  131. package/bundled-skills/android-reverse-engineering/references/api-extraction-patterns.md +0 -197
  132. package/bundled-skills/android-reverse-engineering/references/call-flow-analysis.md +0 -210
  133. package/bundled-skills/android-reverse-engineering/references/fernflower-usage.md +0 -115
  134. package/bundled-skills/android-reverse-engineering/references/jadx-usage.md +0 -116
  135. package/bundled-skills/android-reverse-engineering/references/kotlin-name-recovery.md +0 -108
  136. package/bundled-skills/android-reverse-engineering/references/setup-guide.md +0 -221
  137. package/bundled-skills/android-reverse-engineering/references/third_party_hosts.txt +0 -122
  138. package/bundled-skills/android-reverse-engineering/scripts/check-deps.ps1 +0 -165
  139. package/bundled-skills/android-reverse-engineering/scripts/check-deps.sh +0 -129
  140. package/bundled-skills/android-reverse-engineering/scripts/decompile.ps1 +0 -400
  141. package/bundled-skills/android-reverse-engineering/scripts/decompile.sh +0 -578
  142. package/bundled-skills/android-reverse-engineering/scripts/find-api-calls.ps1 +0 -121
  143. package/bundled-skills/android-reverse-engineering/scripts/find-api-calls.sh +0 -339
  144. package/bundled-skills/android-reverse-engineering/scripts/fingerprint.sh +0 -241
  145. package/bundled-skills/android-reverse-engineering/scripts/install-dep.ps1 +0 -345
  146. package/bundled-skills/android-reverse-engineering/scripts/install-dep.sh +0 -448
  147. package/bundled-skills/android-reverse-engineering/scripts/lookup-name.sh +0 -85
  148. package/bundled-skills/android-reverse-engineering/scripts/recover-kotlin-names.sh +0 -140
  149. package/bundled-skills/build-graph/SKILL.md +0 -38
  150. package/bundled-skills/claude-history-ingest/SKILL.md +0 -463
  151. package/bundled-skills/claude-history-ingest/references/claude-data-format.md +0 -118
  152. package/bundled-skills/codex-history-ingest/SKILL.md +0 -248
  153. package/bundled-skills/codex-history-ingest/references/codex-data-format.md +0 -82
  154. package/bundled-skills/cold-email/SKILL.md +0 -159
  155. package/bundled-skills/cold-email/evals/evals.json +0 -94
  156. package/bundled-skills/cold-email/references/benchmarks.md +0 -83
  157. package/bundled-skills/cold-email/references/follow-up-sequences.md +0 -81
  158. package/bundled-skills/cold-email/references/frameworks.md +0 -90
  159. package/bundled-skills/cold-email/references/personalization.md +0 -79
  160. package/bundled-skills/cold-email/references/subject-lines.md +0 -53
  161. package/bundled-skills/competitor-profiling/SKILL.md +0 -415
  162. package/bundled-skills/competitor-profiling/evals/evals.json +0 -85
  163. package/bundled-skills/competitor-profiling/references/templates.md +0 -167
  164. package/bundled-skills/competitor-profiling/references/tool-reference.md +0 -179
  165. package/bundled-skills/computer-use/SKILL.md +0 -41
  166. package/bundled-skills/content-strategy/SKILL.md +0 -439
  167. package/bundled-skills/content-strategy/evals/evals.json +0 -116
  168. package/bundled-skills/content-strategy/references/content-distribution.md +0 -83
  169. package/bundled-skills/content-strategy/references/headless-cms.md +0 -194
  170. package/bundled-skills/copilot-history-ingest/SKILL.md +0 -376
  171. package/bundled-skills/copilot-history-ingest/references/copilot-data-format.md +0 -321
  172. package/bundled-skills/copy-editing/SKILL.md +0 -457
  173. package/bundled-skills/copy-editing/evals/evals.json +0 -89
  174. package/bundled-skills/copy-editing/references/checklist.md +0 -66
  175. package/bundled-skills/copy-editing/references/content-refresh.md +0 -38
  176. package/bundled-skills/copy-editing/references/plain-english-alternatives.md +0 -394
  177. package/bundled-skills/copywriting/SKILL.md +0 -256
  178. package/bundled-skills/copywriting/evals/evals.json +0 -126
  179. package/bundled-skills/copywriting/references/copy-frameworks.md +0 -433
  180. package/bundled-skills/copywriting/references/natural-transitions.md +0 -272
  181. package/bundled-skills/cro/SKILL.md +0 -187
  182. package/bundled-skills/cro/evals/evals.json +0 -111
  183. package/bundled-skills/cro/references/experiments.md +0 -248
  184. package/bundled-skills/cro/references/form.md +0 -422
  185. package/bundled-skills/cross-linker/SKILL.md +0 -309
  186. package/bundled-skills/customer-research/SKILL.md +0 -305
  187. package/bundled-skills/customer-research/evals/evals.json +0 -176
  188. package/bundled-skills/customer-research/references/interviews-and-surveys.md +0 -155
  189. package/bundled-skills/customer-research/references/source-guides.md +0 -401
  190. package/bundled-skills/daily-update/SKILL.md +0 -223
  191. package/bundled-skills/dart-add-unit-test/SKILL.md +0 -122
  192. package/bundled-skills/dart-build-cli-app/SKILL.md +0 -185
  193. package/bundled-skills/dart-collect-coverage/SKILL.md +0 -141
  194. package/bundled-skills/dart-fix-runtime-errors/SKILL.md +0 -166
  195. package/bundled-skills/dart-generate-test-mocks/SKILL.md +0 -155
  196. package/bundled-skills/dart-migrate-to-checks-package/SKILL.md +0 -528
  197. package/bundled-skills/dart-resolve-package-conflicts/SKILL.md +0 -116
  198. package/bundled-skills/dart-run-static-analysis/SKILL.md +0 -104
  199. package/bundled-skills/dart-setup-ffi-assets/SKILL.md +0 -419
  200. package/bundled-skills/dart-use-doc-examples/SKILL.md +0 -96
  201. package/bundled-skills/dart-use-ffigen/SKILL.md +0 -218
  202. package/bundled-skills/dart-use-pattern-matching/SKILL.md +0 -146
  203. package/bundled-skills/dart-use-primary-constructors/SKILL.md +0 -262
  204. package/bundled-skills/dart-write-documentation/SKILL.md +0 -136
  205. package/bundled-skills/debug-issue/SKILL.md +0 -28
  206. package/bundled-skills/dogfood/SKILL.md +0 -27
  207. package/bundled-skills/eas-app-stores/SKILL.md +0 -176
  208. package/bundled-skills/eas-app-stores/agents/openai.yaml +0 -4
  209. package/bundled-skills/eas-app-stores/references/app-store-metadata.md +0 -497
  210. package/bundled-skills/eas-app-stores/references/ios-app-store.md +0 -376
  211. package/bundled-skills/eas-app-stores/references/native-ios.md +0 -167
  212. package/bundled-skills/eas-app-stores/references/play-store.md +0 -244
  213. package/bundled-skills/eas-app-stores/references/testflight.md +0 -62
  214. package/bundled-skills/eas-app-stores/references/workflows.md +0 -120
  215. package/bundled-skills/eas-hosting/SKILL.md +0 -431
  216. package/bundled-skills/eas-hosting/agents/openai.yaml +0 -4
  217. package/bundled-skills/eas-observe/SKILL.md +0 -54
  218. package/bundled-skills/eas-observe/agents/openai.yaml +0 -4
  219. package/bundled-skills/eas-observe/references/metrics.md +0 -98
  220. package/bundled-skills/eas-observe/references/queries.md +0 -403
  221. package/bundled-skills/eas-observe/references/setup.md +0 -476
  222. package/bundled-skills/eas-observe/references/third-party.md +0 -136
  223. package/bundled-skills/eas-simulator/SKILL.md +0 -208
  224. package/bundled-skills/eas-simulator/agents/openai.yaml +0 -4
  225. package/bundled-skills/eas-simulator/references/controllers.md +0 -106
  226. package/bundled-skills/eas-simulator/references/run-your-app.md +0 -224
  227. package/bundled-skills/eas-simulator/references/troubleshooting.md +0 -44
  228. package/bundled-skills/eas-update/SKILL.md +0 -146
  229. package/bundled-skills/eas-update/agents/openai.yaml +0 -4
  230. package/bundled-skills/eas-update-insights/SKILL.md +0 -238
  231. package/bundled-skills/eas-update-insights/agents/openai.yaml +0 -4
  232. package/bundled-skills/eas-update-insights/references/channel-insights-schema.md +0 -47
  233. package/bundled-skills/eas-update-insights/references/update-insights-schema.md +0 -69
  234. package/bundled-skills/eas-workflows/SKILL.md +0 -99
  235. package/bundled-skills/eas-workflows/agents/openai.yaml +0 -4
  236. package/bundled-skills/eas-workflows/scripts/fetch.js +0 -109
  237. package/bundled-skills/eas-workflows/scripts/package.json +0 -6
  238. package/bundled-skills/emails/SKILL.md +0 -311
  239. package/bundled-skills/emails/evals/evals.json +0 -93
  240. package/bundled-skills/emails/references/copy-guidelines.md +0 -113
  241. package/bundled-skills/emails/references/email-types.md +0 -515
  242. package/bundled-skills/emails/references/sequence-templates.md +0 -168
  243. package/bundled-skills/explore-codebase/SKILL.md +0 -29
  244. package/bundled-skills/expo-animation/LICENSE +0 -21
  245. package/bundled-skills/expo-animation/RECIPES.md +0 -385
  246. package/bundled-skills/expo-animation/SKILL.md +0 -267
  247. package/bundled-skills/expo-animation/agents/openai.yaml +0 -4
  248. package/bundled-skills/expo-app-clip/SKILL.md +0 -290
  249. package/bundled-skills/expo-app-clip/agents/openai.yaml +0 -4
  250. package/bundled-skills/expo-app-clip/references/native-module.md +0 -96
  251. package/bundled-skills/expo-brownfield/SKILL.md +0 -62
  252. package/bundled-skills/expo-brownfield/agents/openai.yaml +0 -4
  253. package/bundled-skills/expo-brownfield/references/brownfield-integrated.md +0 -526
  254. package/bundled-skills/expo-brownfield/references/brownfield-isolated.md +0 -451
  255. package/bundled-skills/expo-brownfield/references/comparison.md +0 -63
  256. package/bundled-skills/expo-brownfield/references/troubleshooting.md +0 -88
  257. package/bundled-skills/expo-data-fetching/SKILL.md +0 -478
  258. package/bundled-skills/expo-data-fetching/agents/openai.yaml +0 -4
  259. package/bundled-skills/expo-data-fetching/references/expo-router-loaders.md +0 -341
  260. package/bundled-skills/expo-data-fetching/references/offline-and-cancellation.md +0 -68
  261. package/bundled-skills/expo-design-system/SKILL.md +0 -376
  262. package/bundled-skills/expo-design-system/agents/openai.yaml +0 -4
  263. package/bundled-skills/expo-design-system/references/audit.md +0 -190
  264. package/bundled-skills/expo-design-system/references/native-slop.md +0 -74
  265. package/bundled-skills/expo-dev-client/SKILL.md +0 -182
  266. package/bundled-skills/expo-dev-client/agents/openai.yaml +0 -4
  267. package/bundled-skills/expo-dom/SKILL.md +0 -425
  268. package/bundled-skills/expo-dom/agents/openai.yaml +0 -4
  269. package/bundled-skills/expo-examples/SKILL.md +0 -106
  270. package/bundled-skills/expo-examples/agents/openai.yaml +0 -4
  271. package/bundled-skills/expo-examples/references/catalog.md +0 -105
  272. package/bundled-skills/expo-migrate-module/SKILL.md +0 -113
  273. package/bundled-skills/expo-migrate-module/agents/openai.yaml +0 -4
  274. package/bundled-skills/expo-migrate-module/references/compatibility.md +0 -73
  275. package/bundled-skills/expo-migrate-module/references/example.md +0 -212
  276. package/bundled-skills/expo-migrate-module/references/migration-map.md +0 -306
  277. package/bundled-skills/expo-module/SKILL.md +0 -151
  278. package/bundled-skills/expo-module/agents/openai.yaml +0 -4
  279. package/bundled-skills/expo-module/references/config-plugin.md +0 -90
  280. package/bundled-skills/expo-module/references/create-expo-module.md +0 -206
  281. package/bundled-skills/expo-module/references/lifecycle.md +0 -127
  282. package/bundled-skills/expo-module/references/module-config.md +0 -48
  283. package/bundled-skills/expo-module/references/native-module.md +0 -286
  284. package/bundled-skills/expo-module/references/native-view.md +0 -171
  285. package/bundled-skills/expo-native-ui/SKILL.md +0 -201
  286. package/bundled-skills/expo-native-ui/agents/openai.yaml +0 -4
  287. package/bundled-skills/expo-native-ui/references/controls.md +0 -231
  288. package/bundled-skills/expo-native-ui/references/gradients.md +0 -106
  289. package/bundled-skills/expo-native-ui/references/icons.md +0 -232
  290. package/bundled-skills/expo-native-ui/references/media.md +0 -193
  291. package/bundled-skills/expo-native-ui/references/storage.md +0 -121
  292. package/bundled-skills/expo-native-ui/references/visual-effects.md +0 -198
  293. package/bundled-skills/expo-native-ui/references/webgpu-three.md +0 -605
  294. package/bundled-skills/expo-overview/SKILL.md +0 -115
  295. package/bundled-skills/expo-overview/agents/openai.yaml +0 -4
  296. package/bundled-skills/expo-project-structure/SKILL.md +0 -114
  297. package/bundled-skills/expo-project-structure/agents/openai.yaml +0 -4
  298. package/bundled-skills/expo-router/SKILL.md +0 -240
  299. package/bundled-skills/expo-router/agents/openai.yaml +0 -4
  300. package/bundled-skills/expo-router/references/form-sheet.md +0 -253
  301. package/bundled-skills/expo-router/references/route-structure.md +0 -229
  302. package/bundled-skills/expo-router/references/search.md +0 -248
  303. package/bundled-skills/expo-router/references/tabs.md +0 -433
  304. package/bundled-skills/expo-router/references/toolbar-and-headers.md +0 -284
  305. package/bundled-skills/expo-router/references/zoom-transitions.md +0 -158
  306. package/bundled-skills/expo-skill-eval/SKILL.md +0 -314
  307. package/bundled-skills/expo-skill-eval/agents/visual-grader.md +0 -52
  308. package/bundled-skills/expo-skill-eval/references/design-rubric.md +0 -45
  309. package/bundled-skills/expo-skill-eval/references/runtime-matrix.md +0 -34
  310. package/bundled-skills/expo-skill-eval/scripts/check-static.sh +0 -64
  311. package/bundled-skills/expo-skill-eval/scripts/clean-fixture.sh +0 -56
  312. package/bundled-skills/expo-skill-eval/scripts/generate_viewer.py +0 -450
  313. package/bundled-skills/expo-skill-eval/scripts/latest-sdk.sh +0 -46
  314. package/bundled-skills/expo-skill-eval/scripts/make-fixture.sh +0 -95
  315. package/bundled-skills/expo-skill-eval/scripts/make-workspace.sh +0 -31
  316. package/bundled-skills/expo-skill-eval/scripts/snapshot-android.sh +0 -284
  317. package/bundled-skills/expo-skill-eval/scripts/snapshot-ios.sh +0 -132
  318. package/bundled-skills/expo-skill-eval/scripts/snapshot-web.sh +0 -61
  319. package/bundled-skills/expo-skill-feedback/SKILL.md +0 -87
  320. package/bundled-skills/expo-skill-feedback/agents/openai.yaml +0 -4
  321. package/bundled-skills/expo-skill-feedback/scripts/skill-event.cjs +0 -180
  322. package/bundled-skills/expo-skill-feedback/scripts/telemetry.cjs +0 -65
  323. package/bundled-skills/expo-skill-feedback/scripts/telemetry_common.cjs +0 -171
  324. package/bundled-skills/expo-ui/SKILL.md +0 -101
  325. package/bundled-skills/expo-ui/agents/openai.yaml +0 -4
  326. package/bundled-skills/expo-ui/references/drop-in-replacements.md +0 -27
  327. package/bundled-skills/expo-ui/references/jetpack-compose.md +0 -73
  328. package/bundled-skills/expo-ui/references/swift-ui.md +0 -73
  329. package/bundled-skills/expo-ui/references/universal.md +0 -104
  330. package/bundled-skills/expo-ui/scripts/list-components.js +0 -193
  331. package/bundled-skills/expo-upgrade/SKILL.md +0 -150
  332. package/bundled-skills/expo-upgrade/agents/openai.yaml +0 -4
  333. package/bundled-skills/expo-upgrade/references/expo-av-to-audio.md +0 -132
  334. package/bundled-skills/expo-upgrade/references/expo-av-to-video.md +0 -160
  335. package/bundled-skills/expo-upgrade/references/native-tabs.md +0 -124
  336. package/bundled-skills/expo-upgrade/references/new-architecture.md +0 -79
  337. package/bundled-skills/expo-upgrade/references/react-19.md +0 -79
  338. package/bundled-skills/expo-upgrade/references/react-compiler.md +0 -59
  339. package/bundled-skills/expo-upgrade/references/react-navigation-to-expo-router.md +0 -61
  340. package/bundled-skills/expo-web-to-native/SKILL.md +0 -91
  341. package/bundled-skills/expo-web-to-native/agents/openai.yaml +0 -4
  342. package/bundled-skills/expo-web-to-native/references/false-friends.md +0 -119
  343. package/bundled-skills/expo-web-to-native/references/native-patterns.md +0 -39
  344. package/bundled-skills/expo-web-to-native/references/run-as-goal.md +0 -48
  345. package/bundled-skills/expo-web-to-native/references/verify-on-device.md +0 -45
  346. package/bundled-skills/find-skills/SKILL.md +0 -141
  347. package/bundled-skills/flutter-add-integration-test/SKILL.md +0 -163
  348. package/bundled-skills/flutter-add-widget-preview/SKILL.md +0 -145
  349. package/bundled-skills/flutter-add-widget-test/SKILL.md +0 -154
  350. package/bundled-skills/flutter-apply-architecture-best-practices/SKILL.md +0 -162
  351. package/bundled-skills/flutter-build-responsive-layout/SKILL.md +0 -139
  352. package/bundled-skills/flutter-fix-layout-issues/SKILL.md +0 -130
  353. package/bundled-skills/flutter-implement-json-serialization/SKILL.md +0 -153
  354. package/bundled-skills/flutter-setup-declarative-routing/SKILL.md +0 -255
  355. package/bundled-skills/flutter-setup-localization/SKILL.md +0 -210
  356. package/bundled-skills/flutter-use-http-package/SKILL.md +0 -174
  357. package/bundled-skills/graph-colorize/SKILL.md +0 -180
  358. package/bundled-skills/hermes-history-ingest/SKILL.md +0 -239
  359. package/bundled-skills/hermes-history-ingest/references/hermes-data-format.md +0 -131
  360. package/bundled-skills/impl-validator/SKILL.md +0 -118
  361. package/bundled-skills/ios-simulator/SKILL.md +0 -32
  362. package/bundled-skills/json-canvas/SKILL.md +0 -244
  363. package/bundled-skills/json-canvas/references/EXAMPLES.md +0 -329
  364. package/bundled-skills/launch/SKILL.md +0 -381
  365. package/bundled-skills/launch/evals/evals.json +0 -106
  366. package/bundled-skills/llm-wiki/SKILL.md +0 -661
  367. package/bundled-skills/llm-wiki/references/WRITING.md +0 -28
  368. package/bundled-skills/llm-wiki/references/karpathy-pattern.md +0 -45
  369. package/bundled-skills/marketing-plan/SKILL.md +0 -300
  370. package/bundled-skills/marketing-plan/evals/evals.json +0 -112
  371. package/bundled-skills/marketing-plan/references/aarrr-framework.md +0 -180
  372. package/bundled-skills/marketing-plan/references/budget-planning.md +0 -168
  373. package/bundled-skills/marketing-plan/references/client-types.md +0 -373
  374. package/bundled-skills/marketing-plan/references/current-state-rubric.md +0 -255
  375. package/bundled-skills/marketing-plan/references/example-quietude.md +0 -972
  376. package/bundled-skills/marketing-plan/references/funding-stage-unlocks.md +0 -230
  377. package/bundled-skills/marketing-plan/references/growth-patterns.md +0 -190
  378. package/bundled-skills/marketing-plan/references/idea-cross-reference.md +0 -265
  379. package/bundled-skills/marketing-plan/references/measurement-framework.md +0 -213
  380. package/bundled-skills/marketing-plan/references/methodology.md +0 -363
  381. package/bundled-skills/marketing-plan/references/ops-stack-mapping.md +0 -197
  382. package/bundled-skills/marketing-plan/references/plan-template.md +0 -494
  383. package/bundled-skills/marketing-plan/references/team-and-agency-model.md +0 -278
  384. package/bundled-skills/marketing-psychology/SKILL.md +0 -455
  385. package/bundled-skills/marketing-psychology/evals/evals.json +0 -88
  386. package/bundled-skills/memory-bridge/SKILL.md +0 -163
  387. package/bundled-skills/memory-save/SKILL.md +0 -88
  388. package/bundled-skills/obsidian-bases/SKILL.md +0 -499
  389. package/bundled-skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
  390. package/bundled-skills/obsidian-cli/SKILL.md +0 -106
  391. package/bundled-skills/obsidian-layout-adjustment/SKILL.md +0 -226
  392. package/bundled-skills/obsidian-layout-adjustment/evals/evals.json +0 -53
  393. package/bundled-skills/obsidian-layout-adjustment/references/workflow-reference.md +0 -212
  394. package/bundled-skills/obsidian-markdown/SKILL.md +0 -196
  395. package/bundled-skills/obsidian-markdown/references/CALLOUTS.md +0 -58
  396. package/bundled-skills/obsidian-markdown/references/EMBEDS.md +0 -70
  397. package/bundled-skills/obsidian-markdown/references/PROPERTIES.md +0 -61
  398. package/bundled-skills/offers/SKILL.md +0 -155
  399. package/bundled-skills/offers/evals/evals.json +0 -21
  400. package/bundled-skills/offers/references/bonus-stacking.md +0 -150
  401. package/bundled-skills/offers/references/examples.md +0 -215
  402. package/bundled-skills/offers/references/guarantee-design.md +0 -172
  403. package/bundled-skills/offers/references/offer-anatomy.md +0 -203
  404. package/bundled-skills/offers/references/offer-formats.md +0 -240
  405. package/bundled-skills/offers/references/saas-offers.md +0 -116
  406. package/bundled-skills/offers/references/scarcity-urgency.md +0 -175
  407. package/bundled-skills/offers/references/value-equation.md +0 -134
  408. package/bundled-skills/onboarding/SKILL.md +0 -261
  409. package/bundled-skills/onboarding/evals/evals.json +0 -108
  410. package/bundled-skills/onboarding/references/activation-models.md +0 -57
  411. package/bundled-skills/onboarding/references/experiments.md +0 -258
  412. package/bundled-skills/onboarding/references/minimum-path-to-value.md +0 -49
  413. package/bundled-skills/openclaw-history-ingest/SKILL.md +0 -257
  414. package/bundled-skills/openclaw-history-ingest/references/openclaw-data-format.md +0 -154
  415. package/bundled-skills/orchestration/SKILL.md +0 -69
  416. package/bundled-skills/pi-history-ingest/SKILL.md +0 -312
  417. package/bundled-skills/pricing/SKILL.md +0 -295
  418. package/bundled-skills/pricing/evals/evals.json +0 -119
  419. package/bundled-skills/pricing/references/pricing-models.md +0 -66
  420. package/bundled-skills/pricing/references/pricing-page-teardown.md +0 -85
  421. package/bundled-skills/pricing/references/research-methods.md +0 -152
  422. package/bundled-skills/pricing/references/tier-structure.md +0 -232
  423. package/bundled-skills/product-marketing/SKILL.md +0 -255
  424. package/bundled-skills/product-marketing/evals/evals.json +0 -98
  425. package/bundled-skills/prospecting/SKILL.md +0 -262
  426. package/bundled-skills/prospecting/evals/evals.json +0 -122
  427. package/bundled-skills/prospecting/references/b2b-prospecting.md +0 -106
  428. package/bundled-skills/prospecting/references/compliance.md +0 -123
  429. package/bundled-skills/prospecting/references/data-sources.md +0 -287
  430. package/bundled-skills/prospecting/references/demand-signals.md +0 -129
  431. package/bundled-skills/prospecting/references/local-prospecting.md +0 -165
  432. package/bundled-skills/prospecting/references/saas-prospecting.md +0 -123
  433. package/bundled-skills/refactor-safely/SKILL.md +0 -29
  434. package/bundled-skills/review-delta/SKILL.md +0 -46
  435. package/bundled-skills/review-pr/SKILL.md +0 -66
  436. package/bundled-skills/sales-enablement/SKILL.md +0 -359
  437. package/bundled-skills/sales-enablement/evals/evals.json +0 -91
  438. package/bundled-skills/sales-enablement/references/deck-frameworks.md +0 -263
  439. package/bundled-skills/sales-enablement/references/demo-scripts.md +0 -355
  440. package/bundled-skills/sales-enablement/references/objection-library.md +0 -270
  441. package/bundled-skills/sales-enablement/references/one-pager-templates.md +0 -208
  442. package/bundled-skills/seo-audit/SKILL.md +0 -499
  443. package/bundled-skills/seo-audit/evals/evals.json +0 -136
  444. package/bundled-skills/seo-audit/references/ai-writing-detection.md +0 -200
  445. package/bundled-skills/seo-audit/references/international-seo.md +0 -230
  446. package/bundled-skills/session-brain/SKILL.md +0 -101
  447. package/bundled-skills/session-search/SKILL.md +0 -97
  448. package/bundled-skills/social/SKILL.md +0 -413
  449. package/bundled-skills/social/evals/evals.json +0 -107
  450. package/bundled-skills/social/references/carousel-frameworks.md +0 -141
  451. package/bundled-skills/social/references/listening-sources-template.md +0 -123
  452. package/bundled-skills/social/references/listening.md +0 -283
  453. package/bundled-skills/social/references/platform-limits.md +0 -110
  454. package/bundled-skills/social/references/platforms.md +0 -170
  455. package/bundled-skills/social/references/post-templates.md +0 -179
  456. package/bundled-skills/social/references/reverse-engineering.md +0 -195
  457. package/bundled-skills/social/references/short-form-video.md +0 -237
  458. package/bundled-skills/tag-taxonomy/SKILL.md +0 -218
  459. package/bundled-skills/vault-skill-factory/SKILL.md +0 -143
  460. package/bundled-skills/video/SKILL.md +0 -346
  461. package/bundled-skills/video/evals/evals.json +0 -103
  462. package/bundled-skills/video/references/ai-video-prompting.md +0 -175
  463. package/bundled-skills/video/references/edit-anatomy.md +0 -84
  464. package/bundled-skills/wiki-agent/SKILL.md +0 -322
  465. package/bundled-skills/wiki-capture/SKILL.md +0 -337
  466. package/bundled-skills/wiki-capture/references/RAW-FORMAT.md +0 -115
  467. package/bundled-skills/wiki-context-pack/SKILL.md +0 -89
  468. package/bundled-skills/wiki-dashboard/SKILL.md +0 -472
  469. package/bundled-skills/wiki-dedup/SKILL.md +0 -320
  470. package/bundled-skills/wiki-digest/SKILL.md +0 -243
  471. package/bundled-skills/wiki-export/SKILL.md +0 -445
  472. package/bundled-skills/wiki-history-ingest/SKILL.md +0 -61
  473. package/bundled-skills/wiki-import/SKILL.md +0 -276
  474. package/bundled-skills/wiki-ingest/SKILL.md +0 -563
  475. package/bundled-skills/wiki-ingest/references/ingest-prompts.md +0 -54
  476. package/bundled-skills/wiki-ingest/references/pageindex.md +0 -72
  477. package/bundled-skills/wiki-ingest/references/url-sources.md +0 -295
  478. package/bundled-skills/wiki-lint/SKILL.md +0 -643
  479. package/bundled-skills/wiki-narrate/SKILL.md +0 -120
  480. package/bundled-skills/wiki-narrate/references/voices.md +0 -29
  481. package/bundled-skills/wiki-query/SKILL.md +0 -307
  482. package/bundled-skills/wiki-rebuild/SKILL.md +0 -212
  483. package/bundled-skills/wiki-research/SKILL.md +0 -319
  484. package/bundled-skills/wiki-setup/SKILL.md +0 -359
  485. package/bundled-skills/wiki-stage-commit/SKILL.md +0 -164
  486. package/bundled-skills/wiki-status/SKILL.md +0 -556
  487. package/bundled-skills/wiki-switch/SKILL.md +0 -115
  488. package/bundled-skills/wiki-synthesize/SKILL.md +0 -212
  489. package/bundled-skills/wiki-update/SKILL.md +0 -271
  490. package/skills/ai-security/SKILL.md +0 -132
  491. package/skills/ai-security/references/atlas-coverage.md +0 -60
  492. package/skills/ai-security/scripts/ai_threat_scanner.py +0 -373
  493. package/skills/anti-AI-design/SKILL.md +0 -72
  494. package/skills/apple-hig-audit/SKILL.md +0 -64
  495. package/skills/apple-hig-audit/references/accessibility.md +0 -78
  496. package/skills/apple-hig-audit/references/platform-specifics.md +0 -57
  497. package/skills/apple-hig-audit/references/visual-design.md +0 -68
  498. package/skills/apple-hig-audit/scripts/hig_checker.py +0 -115
  499. package/skills/apple-hig-audit/templates/hig-audit-template.md +0 -114
  500. package/skills/dependency-auditor/README.md +0 -98
  501. package/skills/dependency-auditor/SKILL.md +0 -114
  502. package/skills/dependency-auditor/assets/sample_go.mod +0 -53
  503. package/skills/dependency-auditor/assets/sample_package.json +0 -72
  504. package/skills/dependency-auditor/assets/sample_requirements.txt +0 -71
  505. package/skills/dependency-auditor/expected_outputs/sample_license_report.txt +0 -37
  506. package/skills/dependency-auditor/expected_outputs/sample_upgrade_plan.txt +0 -59
  507. package/skills/dependency-auditor/expected_outputs/sample_vulnerability_report.json +0 -71
  508. package/skills/dependency-auditor/references/dependency_management_best_practices.md +0 -46
  509. package/skills/dependency-auditor/references/license_compatibility_matrix.md +0 -57
  510. package/skills/dependency-auditor/references/vulnerability_assessment_guide.md +0 -62
  511. package/skills/dependency-auditor/scripts/dep_scanner.py +0 -595
  512. package/skills/dependency-auditor/scripts/license_checker.py +0 -442
  513. package/skills/dependency-auditor/scripts/upgrade_planner.py +0 -490
  514. package/skills/dependency-auditor/test-inventory.json +0 -421
  515. package/skills/dependency-auditor/test-project/package.json +0 -72
  516. package/skills/design-system-tokens/SKILL.md +0 -90
  517. package/skills/design-system-tokens/assets/design_system_doc_template.md +0 -129
  518. package/skills/design-system-tokens/references/component-architecture.md +0 -88
  519. package/skills/design-system-tokens/references/developer-handoff.md +0 -61
  520. package/skills/design-system-tokens/references/responsive-calculations.md +0 -72
  521. package/skills/design-system-tokens/references/token-generation.md +0 -62
  522. package/skills/design-system-tokens/scripts/design_token_generator.py +0 -315
  523. package/skills/engineering-code-standards/SKILL.md +0 -174
  524. package/skills/env-secrets-manager/SKILL.md +0 -102
  525. package/skills/env-secrets-manager/references/secret-patterns.md +0 -56
  526. package/skills/env-secrets-manager/references/validation-detection-rotation.md +0 -76
  527. package/skills/env-secrets-manager/scripts/env_auditor.py +0 -340
  528. package/skills/frontend-design-taste/SKILL.md +0 -62
  529. package/skills/mcp-server-builder/README.md +0 -42
  530. package/skills/mcp-server-builder/SKILL.md +0 -144
  531. package/skills/mcp-server-builder/references/openapi-extraction-guide.md +0 -34
  532. package/skills/mcp-server-builder/references/production-hardening-guide.md +0 -80
  533. package/skills/mcp-server-builder/references/python-server-template.md +0 -22
  534. package/skills/mcp-server-builder/references/spec-compatibility.md +0 -129
  535. package/skills/mcp-server-builder/references/typescript-server-template.md +0 -19
  536. package/skills/mcp-server-builder/references/validation-checklist.md +0 -30
  537. package/skills/mcp-server-builder/scripts/mcp_validator.py +0 -180
  538. package/skills/mcp-server-builder/scripts/openapi_to_mcp.py +0 -279
  539. package/skills/playwright-agent/SKILL.md +0 -147
  540. package/skills/skill-creator/LICENSE.txt +0 -14
  541. package/skills/skill-creator/SKILL.md +0 -471
  542. package/skills/skill-creator/agents/analyzer.md +0 -274
  543. package/skills/skill-creator/agents/comparator.md +0 -202
  544. package/skills/skill-creator/agents/grader.md +0 -223
  545. package/skills/skill-creator/assets/eval_review.html +0 -143
  546. package/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  547. package/skills/skill-creator/eval-viewer/viewer.html +0 -1321
  548. package/skills/skill-creator/references/schemas.md +0 -430
  549. package/skills/skill-creator/scripts/__init__.py +0 -0
  550. package/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  551. package/skills/skill-creator/scripts/generate_report.py +0 -322
  552. package/skills/skill-creator/scripts/improve_description.py +0 -247
  553. package/skills/skill-creator/scripts/package_skill.py +0 -136
  554. package/skills/skill-creator/scripts/quick_validate.py +0 -103
  555. package/skills/skill-creator/scripts/run_eval.py +0 -310
  556. package/skills/skill-creator/scripts/run_loop.py +0 -328
  557. package/skills/skill-creator/scripts/utils.py +0 -47
  558. package/skills/write-a-skill/SKILL.md +0 -111
  559. package/skills/write-a-skill/references/companion_tooling.md +0 -61
  560. package/skills/write-a-skill/references/description_design_patterns.md +0 -136
  561. package/skills/write-a-skill/references/progressive_disclosure_principles.md +0 -87
  562. package/skills/write-a-skill/references/quality_gates_for_skills.md +0 -158
  563. package/skills/write-a-skill/scripts/skill_description_validator.py +0 -241
  564. package/skills/write-a-skill/scripts/skill_review_checklist_runner.py +0 -257
  565. package/skills/write-a-skill/scripts/skill_structure_validator.py +0 -265
@@ -1,376 +0,0 @@
1
- # Submitting to iOS App Store
2
-
3
- For native SwiftUI/UIKit apps without a React Native runtime, configure the Xcode/EAS path in [native-ios.md](native-ios.md) first. The signing, App Store Connect, and review stages below apply to both native Swift and Expo/React Native apps.
4
-
5
- ## Contents
6
-
7
- - [Prerequisites](#prerequisites)
8
- - [Credential Setup](#credential-setup)
9
- - [Submission Commands](#submission-commands)
10
- - [App Store Connect Configuration](#app-store-connect-configuration)
11
- - [TestFlight vs App Store](#testflight-vs-app-store)
12
- - [Complete the Public Release](#complete-the-public-release)
13
- - [App Review Process](#app-review-process)
14
- - [Version and Build Numbers](#version-and-build-numbers)
15
- - [Release Options](#release-options)
16
- - [Certificates and Provisioning](#certificates-and-provisioning)
17
- - [App Store Metadata](#app-store-metadata)
18
- - [Troubleshooting](#troubleshooting)
19
- - [CI/CD Integration](#cicd-integration)
20
- - [Tips](#tips)
21
-
22
- ## Prerequisites
23
-
24
- 1. **Apple Developer Account** - Enroll at [developer.apple.com](https://developer.apple.com)
25
- 2. **App Store Connect App** - Create your app record before first submission
26
- 3. **Apple Credentials** - Configure via EAS or environment variables
27
-
28
- ## Credential Setup
29
-
30
- ### Using EAS Credentials
31
-
32
- ```bash
33
- eas credentials -p ios
34
- ```
35
-
36
- This interactive flow helps you:
37
- - Create or select a distribution certificate
38
- - Create or select a provisioning profile
39
- - Configure App Store Connect API key (recommended)
40
-
41
- ### App Store Connect API Key (Recommended)
42
-
43
- API keys avoid 2FA prompts in CI/CD:
44
-
45
- Use `eas credentials -p ios` to select the build profile and configure its App Store Connect API key. Reuse a working managed key when one already exists. For an existing local team API key, configure the submit profile explicitly:
46
-
47
- Configure in `eas.json`:
48
-
49
- ```json
50
- {
51
- "submit": {
52
- "production": {
53
- "ios": {
54
- "ascApiKeyPath": "./AuthKey_XXXXX.p8",
55
- "ascApiKeyIssuerId": "xxxxx-xxxx-xxxx-xxxx-xxxxx",
56
- "ascApiKeyId": "XXXXXXXXXX"
57
- }
58
- }
59
- }
60
- }
61
- ```
62
-
63
- Keep private key material outside version control. Use the installed CLI's credential flow and current documentation when setting up a different key type.
64
-
65
- ### Apple ID Authentication (Alternative)
66
-
67
- For manual submissions, you can use Apple ID:
68
-
69
- ```bash
70
- EXPO_APPLE_ID=your@email.com
71
- EXPO_APPLE_TEAM_ID=XXXXXXXXXX
72
- EXPO_APPLE_APP_SPECIFIC_PASSWORD=xxxx-xxxx-xxxx-xxxx
73
- ```
74
-
75
- The app-specific password is for the upload flow. Interactive Apple Developer signing setup has a separate authentication flow.
76
-
77
- ## Submission Commands
78
-
79
- ```bash
80
- # Build and submit to App Store Connect
81
- eas build -p ios --profile production --auto-submit
82
-
83
- # Submit the verified build
84
- eas submit -p ios --profile production --id BUILD_ID
85
-
86
- # Expo / React Native TestFlight shortcut
87
- npx testflight
88
- ```
89
-
90
- ## App Store Connect Configuration
91
-
92
- ### First-Time Setup
93
-
94
- Before submitting, complete in App Store Connect:
95
-
96
- 1. **App Information**
97
- - Primary language
98
- - Bundle ID (must match the archive; Xcode is authoritative for checked-in native projects)
99
- - SKU (unique identifier)
100
-
101
- 2. **Pricing and Availability**
102
- - Price tier
103
- - Available countries
104
-
105
- 3. **App Privacy**
106
- - Privacy policy URL
107
- - Data collection declarations
108
-
109
- 4. **App Review Information**
110
- - Contact information
111
- - Demo account (if login required)
112
- - Notes for reviewers
113
-
114
- ### EAS Configuration
115
-
116
- ```json
117
- {
118
- "cli": {
119
- "version": ">= 16.0.1",
120
- "appVersionSource": "remote"
121
- },
122
- "build": {
123
- "production": {
124
- "ios": {
125
- "resourceClass": "m-medium",
126
- "autoIncrement": true
127
- }
128
- }
129
- },
130
- "submit": {
131
- "production": {
132
- "ios": {
133
- "appleId": "your@email.com",
134
- "ascAppId": "1234567890",
135
- "appleTeamId": "XXXXXXXXXX"
136
- }
137
- }
138
- }
139
- }
140
- ```
141
-
142
- Find `ascAppId` in App Store Connect → App Information → Apple ID.
143
-
144
- ## TestFlight vs App Store
145
-
146
- ### TestFlight (Beta Testing)
147
-
148
- - Builds appear after Apple processing; compliance and group assignment may still need attention
149
- - Internal testers (up to 100) - verify the build is available to the intended group
150
- - External testers (up to 10,000) - requires beta review
151
- - Builds expire after 90 days
152
-
153
- ### App Store (Production)
154
-
155
- - Requires passing App Review
156
- - Submit for review from App Store Connect
157
- - Choose release timing (immediate, scheduled, manual)
158
-
159
- ## Complete the Public Release
160
-
161
- EAS Submit uploads the binary to App Store Connect. Public distribution continues through the app version's App Review and release flow, as described in the [EAS Submit guide](https://docs.expo.dev/submit/ios/).
162
-
163
- 1. Open the correct app and iOS version in App Store Connect. In its Build section, select the exact processed version/build you verified. Reuse an eligible TestFlight build when its code, icon, and configuration are ready for production; build again when those must change. Confirm the build is selectable for the App Store version. See [Apple's build-selection guide](https://developer.apple.com/help/app-store-connect/manage-builds/choose-a-build-to-submit/).
164
- 2. Complete the required listing and review information: screenshots, description, support/privacy URLs, age rating, privacy declarations, export compliance, reviewer contact/login, and pricing/availability as applicable. Resolve the version's outstanding requirements before submission.
165
- 3. Choose the requested release timing: manual release, automatic release after approval, or automatic release no earlier than a chosen date. Approval is still required for the date-based option.
166
- 4. Click **Add for Review**, inspect the draft submission, then **Submit for Review**. Adding to a draft alone does not send it to Apple. Handle review messages and verify the resulting status. See [Apple's submission steps](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-an-app/).
167
- 5. After approval, follow the selected release timing. For manual release, the version waits in **Pending Developer Release** until **Release This Version** is completed. Verify availability in the intended storefronts before reporting it live. See [Apple's release options](https://developer.apple.com/help/app-store-connect/manage-your-apps-availability/select-an-app-store-version-release-option/).
168
-
169
- Perform these publication steps only within the requested release scope. Preparing documentation or uploading a TestFlight beta does not itself request a public launch. Report the exact version/build and distinguish uploaded, submitted for review, approved, and publicly available.
170
-
171
- ## App Review Process
172
-
173
- ### What Reviewers Check
174
-
175
- 1. **Functionality** - App works as described
176
- 2. **UI/UX** - Follows Human Interface Guidelines
177
- 3. **Content** - Appropriate and accurate
178
- 4. **Privacy** - Data handling matches declarations
179
- 5. **Legal** - Complies with local laws
180
-
181
- ### Common Rejection Reasons
182
-
183
- | Issue | Solution |
184
- |-------|----------|
185
- | Crashes/bugs | Test thoroughly before submission |
186
- | Incomplete metadata | Fill all required fields |
187
- | Placeholder content | Remove "lorem ipsum" and test data |
188
- | Missing login credentials | Provide demo account |
189
- | Privacy policy missing | Add URL in App Store Connect |
190
- | Guideline 4.2 (minimum functionality) | Ensure app provides value |
191
-
192
- ### Expedited Review
193
-
194
- Request expedited review for:
195
- - Critical bug fixes
196
- - Time-sensitive events
197
- - Security issues
198
-
199
- Go to App Store Connect → your app → App Review → Request Expedited Review.
200
-
201
- ## Version and Build Numbers
202
-
203
- iOS uses two version identifiers:
204
-
205
- - **Version** (`CFBundleShortVersionString`): User-facing, e.g., "1.2.3"
206
- - **Build Number** (`CFBundleVersion`): Internal, must increment for each upload
207
-
208
- For Expo projects whose native files are generated from app config, configure in `app.json`:
209
-
210
- ```json
211
- {
212
- "expo": {
213
- "version": "1.2.3",
214
- "ios": {
215
- "buildNumber": "1"
216
- }
217
- }
218
- }
219
- ```
220
-
221
- With `autoIncrement: true` and remote versioning, EAS increments its counter and writes native version metadata during the build. When setting up or changing native Swift versioning, or diagnosing a duplicate build number, verify the archive's `CFBundleVersion` as described in [native-ios.md](native-ios.md). A changing remote counter does not prove Xcode used it.
222
-
223
- ## Release Options
224
-
225
- These JSON examples are fragments of `store.config.json` for EAS Metadata. They configure release timing; uploading with EAS Submit still requires selecting the processed build and completing App Review before a public release.
226
-
227
- ### Automatic Release
228
-
229
- Release immediately when approved:
230
-
231
- ```json
232
- {
233
- "apple": {
234
- "release": {
235
- "automaticRelease": true
236
- }
237
- }
238
- }
239
- ```
240
-
241
- ### Scheduled Release
242
-
243
- ```json
244
- {
245
- "apple": {
246
- "release": {
247
- "automaticRelease": "2025-03-01T10:00:00Z"
248
- }
249
- }
250
- }
251
- ```
252
-
253
- ### Phased Release
254
-
255
- Gradual rollout over 7 days:
256
-
257
- ```json
258
- {
259
- "apple": {
260
- "release": {
261
- "phasedRelease": true
262
- }
263
- }
264
- }
265
- ```
266
-
267
- Rollout: Day 1 (1%) → Day 2 (2%) → Day 3 (5%) → Day 4 (10%) → Day 5 (20%) → Day 6 (50%) → Day 7 (100%)
268
-
269
- ## Certificates and Provisioning
270
-
271
- ### Distribution Certificate
272
-
273
- - Required for App Store submissions
274
- - Limited to 3 per Apple Developer account
275
- - Valid for 1 year
276
- - EAS manages automatically
277
-
278
- ### Provisioning Profile
279
-
280
- - Links app, certificate, and entitlements
281
- - App Store profiles don't include device UDIDs
282
- - EAS creates and manages automatically
283
-
284
- ### Check Current Credentials
285
-
286
- ```bash
287
- eas credentials -p ios
288
- ```
289
-
290
- ## App Store Metadata
291
-
292
- Use EAS Metadata to manage App Store listing from code:
293
-
294
- ```bash
295
- # Pull existing metadata
296
- eas metadata:pull
297
-
298
- # Push changes
299
- eas metadata:push
300
- ```
301
-
302
- See ./app-store-metadata.md for detailed configuration.
303
-
304
- ## Troubleshooting
305
-
306
- ### "No suitable application records found"
307
-
308
- Create the app in App Store Connect first with matching bundle ID.
309
-
310
- ### "The bundle version must be higher"
311
-
312
- Compare the number inside the rejected archive with EAS's remote counter. For native Swift, check the plist/build-setting ownership described in [native-ios.md](native-ios.md), then rebuild and submit the corrected artifact.
313
-
314
- ### "Missing compliance information"
315
-
316
- Review the app's actual encryption use and complete Apple's export-compliance requirements. For an Expo app generated from app config, an exempt app can declare:
317
-
318
- ```json
319
- {
320
- "expo": {
321
- "ios": {
322
- "config": {
323
- "usesNonExemptEncryption": false
324
- }
325
- }
326
- }
327
- }
328
- ```
329
-
330
- For a checked-in Swift app, the equivalent declaration belongs in its native Info.plist as `ITSAppUsesNonExemptEncryption`. Use the value appropriate to the app; changing app.json alone does not update its native plist.
331
-
332
- ### "Invalid provisioning profile"
333
-
334
- ```bash
335
- eas credentials -p ios
336
- ```
337
-
338
- ### Build stuck in "Processing"
339
-
340
- App Store Connect processing can take 5-30 minutes. Check status in App Store Connect → TestFlight.
341
-
342
- ## CI/CD Integration
343
-
344
- For automated submissions in CI/CD:
345
-
346
- ```yaml
347
- # .eas/workflows/release.yml
348
- name: Upload production iOS build
349
-
350
- on:
351
- push:
352
- tags: ['v*']
353
-
354
- jobs:
355
- build:
356
- type: build
357
- params:
358
- platform: ios
359
- profile: production
360
-
361
- submit:
362
- type: submit
363
- needs: [build]
364
- params:
365
- build_id: ${{ needs.build.outputs.build_id }}
366
- profile: production
367
- ```
368
-
369
- ## Tips
370
-
371
- - Submit to TestFlight early and often for feedback
372
- - Use beta app review for external testers to catch issues before App Store review
373
- - Respond to reviewer questions promptly in App Store Connect
374
- - Keep demo account credentials up to date
375
- - Monitor App Store Connect notifications for review updates
376
- - Use phased release for major updates to catch issues early
@@ -1,167 +0,0 @@
1
- # Native Swift iOS apps on EAS
2
-
3
- Use this path when the app runs SwiftUI or UIKit and the task is to build or distribute it with EAS. Adding React Native screens is a different task. [EAS Build supports native projects without Expo or React Native](https://docs.expo.dev/build/introduction/), but the main setup tutorials assume a React Native project.
4
-
5
- ## Keep the delivery wrapper small
6
-
7
- Inspect the Xcode project, shared scheme, Swift entry point, dependencies, signing settings, and current release configuration first. Keep hand-maintained native code checked in. Running `expo prebuild --clean` would regenerate native directories; it is not a setup step for this path.
8
-
9
- The default EAS iOS pipeline expects a project beneath `ios/`. A typical layout is:
10
-
11
- ```text
12
- app.json
13
- eas.json
14
- package.json
15
- package-lock.json
16
- ios/
17
- Podfile
18
- MyApp.xcodeproj/
19
- MyApp/
20
- MyApp.swift
21
- Info.plist
22
- ```
23
-
24
- The package file is tooling metadata, not a JavaScript app. A project with no Node dependencies can use:
25
-
26
- ```json
27
- {
28
- "name": "my-app",
29
- "version": "1.0.0",
30
- "private": true
31
- }
32
- ```
33
-
34
- Keep a matching lockfile for the chosen package manager. Do not add `expo`, `react`, `react-native`, an `index.js`, Metro, or `expo-dev-client` merely to use EAS. Preserve those dependencies if the app actually uses them. EAS CLI can read a minimal `app.json` without an installed Expo SDK:
35
-
36
- ```json
37
- {
38
- "expo": {
39
- "name": "My App",
40
- "slug": "my-app",
41
- "ios": { "bundleIdentifier": "com.example.myapp" }
42
- }
43
- }
44
- ```
45
-
46
- `eas init` links the project and writes `extra.eas.projectId`. Reuse the existing ID when one exists. The `expo` JSON key is EAS configuration here, not evidence of an Expo runtime. Xcode's bundle identifier is authoritative for a checked-in native project; keep any duplicate app-config identifier consistent, particularly for GitHub-triggered builds.
47
-
48
- The [default iOS worker](https://github.com/expo/eas-cli/blob/main/packages/build-tools/src/builders/ios.ts) skips prebuild for checked-in native projects but still runs `pod install`. For an app with no pods, a minimal `Podfile` can serve as an adapter:
49
-
50
- ```ruby
51
- platform :ios, '17.0'
52
-
53
- target 'MyApp' do
54
- end
55
- ```
56
-
57
- Use the app's real deployment target and target name. This does not add React Native pods. If the project must avoid CocoaPods or has a different layout, use a [custom EAS build](https://docs.expo.dev/custom-builds/get-started/) or archive/export with Xcode and submit the resulting IPA. Do not relocate an established native project just to match this example.
58
-
59
- ## Build and submit profiles
60
-
61
- Select the actual shared scheme. Set `ios.image` from the [current build-image list](https://docs.expo.dev/build-reference/infrastructure/) when a particular Xcode/SDK is required. Use explicit build configurations; `developmentClient: true` configures Expo's development client, not generic Swift debugging.
62
-
63
- ```json
64
- {
65
- "cli": { "appVersionSource": "remote" },
66
- "build": {
67
- "base": { "ios": { "scheme": "MyApp" } },
68
- "simulator": {
69
- "extends": "base",
70
- "ios": { "simulator": true, "buildConfiguration": "Debug" }
71
- },
72
- "testflight": {
73
- "extends": "base",
74
- "distribution": "store",
75
- "autoIncrement": true,
76
- "ios": { "buildConfiguration": "Release" }
77
- },
78
- "production": {
79
- "extends": "base",
80
- "distribution": "store",
81
- "autoIncrement": true,
82
- "ios": { "buildConfiguration": "Release" }
83
- }
84
- },
85
- "submit": {
86
- "testflight": { "ios": { "ascAppId": "1234567890" } },
87
- "production": { "ios": { "ascAppId": "1234567890" } }
88
- }
89
- }
90
- ```
91
-
92
- The IDs and target names above are examples. `ascAppId` is the numeric App Store Connect app ID, not the EAS project UUID, bundle ID, or Apple team ID. Verify the selected Apple team, the native bundle ID, and the app record together; one Apple login may belong to multiple organizations.
93
-
94
- A pure Swift wrapper with neither Expo dependencies nor Expo SDK metadata needs no Expo Doctor or JavaScript-bundling skip flags. Existing native build phases and actual dependency integrations still need inspection. Avoid carrying unexplained environment overrides from a React Native template; keep native compiler settings in the Xcode project or xcconfig and retain Release debug symbols for crash reports.
95
-
96
- For icon selection or other native build preparation, use an EAS lifecycle hook such as `eas-build-post-install` when necessary. An Expo config/prebuild plugin will not run on this native path. Preserve an existing hook rather than replacing its other work.
97
-
98
- ## Versioning and icon troubleshooting
99
-
100
- These checks address two failures encountered while testing a SwiftUI release: a stale archive build number and a default icon with an alpha channel. Use the relevant check during initial setup, after changing versioning, bundle IDs, or icons, or to diagnose a rejected upload. Routine releases use the EAS build/submit flow below.
101
-
102
- EAS remote versioning increments a counter. The [native version updater](https://github.com/expo/eas-cli/blob/main/packages/eas-cli/src/build/ios/version.ts) writes `CFBundleVersion` to the target's explicit `INFOPLIST_FILE`. A generated plist with a fixed `CURRENT_PROJECT_VERSION` can leave every archive reporting build 1 even while the EAS dashboard reports increasing numbers.
103
-
104
- For the default pipeline, an explicit app plist is a tested approach:
105
-
106
- ```text
107
- GENERATE_INFOPLIST_FILE = NO
108
- INFOPLIST_FILE = MyApp/Info.plist
109
- MARKETING_VERSION = 1.0.0
110
- ```
111
-
112
- Include these entries in the complete app plist:
113
-
114
- ```xml
115
- <key>CFBundleShortVersionString</key>
116
- <string>$(MARKETING_VERSION)</string>
117
- <key>CFBundleVersion</key>
118
- <string>1</string>
119
- ```
120
-
121
- That local build number is a starting value; EAS writes the remote value during the store build. Apply the settings to the app's relevant configurations and preserve the rest of its metadata: identity, privacy usage descriptions, scene/launch configuration, orientations and supported devices. Do not replace a full plist with this excerpt or change test targets indiscriminately. Review extension targets' version synchronization separately.
122
-
123
- An existing generated-plist setup can also work if its build process explicitly sets `CURRENT_PROJECT_VERSION` before archiving. Keep it when verified; do not migrate every native project automatically. Changing only `app.json` or observing an incremented remote counter is insufficient evidence.
124
-
125
- When setting up or changing versioning or the bundle ID, or diagnosing a rejected upload, inspect the built app's plist with macOS's built-in tools:
126
-
127
- ```bash
128
- plutil -p "/path/to/MyApp.xcarchive/Products/Applications/MyApp.app/Info.plist"
129
- ```
130
-
131
- For a downloaded `.ipa`, unzip it into a temporary directory and inspect `Payload/MyApp.app/Info.plist`; for a built `.app`, inspect its `Info.plist` directly. Compare `CFBundleIdentifier`, `CFBundleShortVersionString`, and `CFBundleVersion` with the intended release. Values must be resolved strings, and `CFBundleSupportedPlatforms` must contain `iPhoneOS`, not `iPhoneSimulator`. `eas build:view BUILD_ID --json` provides build details and the artifact URL; its reported version is not a substitute for checking the archive.
132
-
133
- When adding or changing a default (Any/light) 1024px AppIcon PNG, or diagnosing an icon rejection, inspect the source selected by that build profile:
134
-
135
- ```bash
136
- sips -g pixelWidth -g pixelHeight -g hasAlpha "/path/to/AppIcon.appiconset/icon.png"
137
- ```
138
-
139
- The default icon should be 1024×1024 with no alpha channel, even if every pixel looks opaque. Preserve transparency in dark variants and Icon Composer layers; follow [Apple's guidance for each appearance](https://developer.apple.com/documentation/xcode/configuring-your-app-icon). These local checks help diagnose the artifact; use the EAS submission logs and Apple processing status to verify acceptance.
140
-
141
- Check privacy usage descriptions against the features used by the app. Set the encryption declaration according to the app's actual encryption use; do not copy `false` solely to suppress an export-compliance prompt.
142
-
143
- ## Ship the exact build
144
-
145
- Reuse established EAS/Apple credentials. For a new setup, configure signing with `eas credentials -p ios` and select the correct team. An App Store Connect API key supports unattended submission without changing the app's owner or bundle ID.
146
-
147
- ```bash
148
- eas build --platform ios --profile testflight --no-wait --non-interactive
149
- # Record the returned build ID; verify its result and source revision.
150
- eas submit --platform ios --profile testflight --id BUILD_ID --non-interactive
151
- ```
152
-
153
- For an IPA exported elsewhere:
154
-
155
- ```bash
156
- eas submit --platform ios --profile testflight --path /path/to/MyApp.ipa
157
- ```
158
-
159
- Use the explicit ID when multiple builds exist. Keep the distribution scope the user requested. Follow the submission's worker logs through Apple processing, then check tester availability in App Store Connect. A successful upload does not create tester access or release the app publicly.
160
-
161
- For production, reuse an eligible uploaded build when it already has the intended release code, icon, configuration, and version. If the beta build uses a preview icon or different configuration, create and verify a production-profile build, then upload that exact archive. A second upload is not required solely to move an eligible tested build into App Review.
162
-
163
- Complete the [public release steps in App Store Connect](ios-app-store.md#complete-the-public-release): select the processed build, finish the listing/privacy/review information, submit for App Review, and apply the requested release timing. The [official EAS Submit guide](https://docs.expo.dev/submit/ios/) describes this handoff. TestFlight distribution alone does not authorize publishing an App Store release.
164
-
165
- ## Verification scope
166
-
167
- This approach was exercised with a SwiftUI app on EAS CLI 18.6.0 and Xcode 26.2: an isolated default-pipeline simulator build succeeded without Expo/React/React Native dependencies or skip flags. The explicit-plist and opaque-icon fixes were also verified by a signed device build accepted by Apple. Recheck worker/CLI behavior when updating tooling; project layout, custom hooks, extensions and signing requirements can differ.