@mmerterden/multi-agent-pipeline 11.1.0 → 11.3.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 (342) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +2 -2
  3. package/docs/FIGMA_PIPELINE.md +12 -25
  4. package/docs/architecture.md +3 -5
  5. package/docs/features.md +8 -8
  6. package/install/_common.mjs +9 -1
  7. package/install/_dev-only-files.mjs +0 -6
  8. package/install/claude.mjs +45 -18
  9. package/install/copilot.mjs +16 -14
  10. package/install/templates/copilot-instructions.md +3 -3
  11. package/package.json +1 -1
  12. package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
  13. package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
  14. package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
  15. package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
  16. package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
  17. package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
  18. package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
  19. package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
  20. package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
  21. package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
  22. package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
  23. package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
  24. package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
  25. package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
  26. package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
  27. package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
  28. package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
  29. package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
  30. package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
  31. package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
  32. package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
  33. package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
  34. package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
  35. package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
  36. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
  37. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
  38. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
  39. package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
  40. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
  41. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
  42. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
  43. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
  44. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
  45. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
  46. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
  47. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
  48. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
  49. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
  50. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
  51. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
  52. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
  53. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
  54. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
  55. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
  56. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
  57. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
  58. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
  59. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
  60. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
  61. package/pipeline/preferences-template.json +17 -1
  62. package/pipeline/rules/figma-pipeline.md +2 -2
  63. package/pipeline/schemas/prefs.schema.json +0 -34
  64. package/pipeline/scripts/README.md +1 -3
  65. package/pipeline/scripts/build-stack-plugins.mjs +1 -1
  66. package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
  67. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  68. package/pipeline/scripts/phase-banner.sh +2 -2
  69. package/pipeline/scripts/review-scope.mjs +94 -0
  70. package/pipeline/scripts/scan-agent-config.sh +2 -2
  71. package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
  72. package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
  73. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
  74. package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
  75. package/pipeline/scripts/smoke-channels-flow.sh +5 -5
  76. package/pipeline/scripts/smoke-clarify.sh +1 -1
  77. package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
  78. package/pipeline/scripts/smoke-community-gates.sh +1 -1
  79. package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
  80. package/pipeline/scripts/smoke-cost-summary.sh +1 -1
  81. package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
  82. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
  83. package/pipeline/scripts/smoke-dev-critic.sh +1 -1
  84. package/pipeline/scripts/smoke-diff-explain.sh +1 -1
  85. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  86. package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
  87. package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
  88. package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
  89. package/pipeline/scripts/smoke-generate-issue.sh +8 -8
  90. package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
  91. package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
  92. package/pipeline/scripts/smoke-intent-guard.sh +1 -1
  93. package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
  94. package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
  95. package/pipeline/scripts/smoke-language-axis.sh +6 -6
  96. package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
  97. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
  98. package/pipeline/scripts/smoke-model-fallback.sh +3 -3
  99. package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
  100. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  101. package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
  102. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  103. package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
  104. package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
  105. package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
  106. package/pipeline/scripts/smoke-plan-todos.sh +3 -3
  107. package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
  108. package/pipeline/scripts/smoke-prefs-language.sh +1 -1
  109. package/pipeline/scripts/smoke-progress-contract.sh +2 -2
  110. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  111. package/pipeline/scripts/smoke-repo-map.sh +2 -2
  112. package/pipeline/scripts/smoke-shadow-git.sh +1 -1
  113. package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
  114. package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
  115. package/pipeline/scripts/smoke-test-gap.sh +1 -1
  116. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  117. package/pipeline/scripts/smoke-token-preflight.sh +2 -2
  118. package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
  119. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
  120. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  121. package/pipeline/scripts/smoke-update-check.sh +1 -1
  122. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  123. package/pipeline/scripts/smoke-validator-gates.sh +1 -1
  124. package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
  125. package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
  126. package/pipeline/scripts/smoke-work-summary.sh +1 -1
  127. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  128. package/pipeline/scripts/test-integrity-gate.mjs +83 -0
  129. package/pipeline/scripts/uninstall.mjs +2 -2
  130. package/pipeline/skills/.skill-manifest.json +40 -160
  131. package/pipeline/skills/.skills-index.json +21 -372
  132. package/pipeline/skills/shared/README.md +1 -1
  133. package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
  134. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
  135. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  136. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  137. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
  138. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  139. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  140. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
  141. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
  142. package/pipeline/skills/shared/external/backlog/BACKLOG.md +32 -0
  143. package/pipeline/skills/shared/external/backlog/SKILL.md +49 -0
  144. package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
  145. package/pipeline/skills/shared/external/skill-creator/SKILL.md +48 -0
  146. package/pipeline/skills/shared/external/skill-creator/audit.md +59 -0
  147. package/pipeline/skills/shared/external/skill-creator/checklist.md +32 -0
  148. package/pipeline/skills/shared/external/skill-creator/examples.md +65 -0
  149. package/pipeline/skills/shared/external/skill-creator/label-check.md +43 -0
  150. package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +83 -0
  151. package/pipeline/skills/shared/external/skill-creator/template.md +67 -0
  152. package/pipeline/skills/skills-index.md +4 -43
  153. package/pipeline/commands/multi-agent/refactor.md +0 -188
  154. package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
  155. package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
  156. package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
  157. package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
  158. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
  159. package/pipeline/scripts/smoke-figma-sync.sh +0 -149
  160. package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
  161. package/pipeline/skills/figma-android/README.md +0 -38
  162. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
  163. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
  164. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
  165. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
  166. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
  167. package/pipeline/skills/figma-common/README.md +0 -64
  168. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
  169. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
  170. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
  171. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
  172. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
  173. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
  174. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
  175. package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
  176. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
  177. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
  178. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
  179. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
  180. package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
  181. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
  182. package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
  183. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
  184. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
  185. package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
  186. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
  187. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
  188. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
  189. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
  190. package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
  191. package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
  192. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
  193. package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
  194. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
  195. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
  196. package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
  197. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
  198. package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
  199. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
  200. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
  201. package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
  202. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
  203. package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
  204. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
  205. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
  206. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
  207. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
  208. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
  209. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
  210. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
  211. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
  212. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
  213. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
  214. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
  215. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
  216. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
  217. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
  218. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
  219. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
  220. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
  221. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
  222. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
  223. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
  224. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
  225. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
  226. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
  227. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
  228. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
  229. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
  230. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
  231. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
  232. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
  233. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
  234. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
  235. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
  236. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
  237. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
  238. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
  239. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
  240. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
  241. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
  242. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
  243. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
  244. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
  245. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
  246. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
  247. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
  248. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
  249. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
  250. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
  251. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
  252. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
  253. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
  254. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
  255. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
  256. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
  257. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
  258. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
  259. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
  260. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
  261. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
  262. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
  263. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
  264. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
  265. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
  266. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
  267. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
  268. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
  269. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
  270. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
  271. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
  272. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
  273. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
  274. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
  275. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
  276. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
  277. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
  278. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
  279. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
  280. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
  281. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
  282. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
  283. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
  284. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
  285. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
  286. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
  287. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
  288. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
  289. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
  290. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
  291. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
  292. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
  293. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
  294. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
  295. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
  296. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
  297. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
  298. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
  299. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
  300. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
  301. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
  302. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
  303. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
  304. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
  305. /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
  306. /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
  307. /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
  308. /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
  309. /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
  310. /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
  311. /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
  312. /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
  313. /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
  314. /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
  315. /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
  316. /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
  317. /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
  318. /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
  319. /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
  320. /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
  321. /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
  322. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
  323. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
  324. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
  325. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
  326. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
  327. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
  328. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
  329. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
  330. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
  331. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
  332. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
  333. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
  334. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
  335. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
  336. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
  337. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
  338. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
  339. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
  340. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
  341. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
  342. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
@@ -1,580 +0,0 @@
1
- # PHASE 7A - Wiki Documentation: Generate Markdown
2
-
3
- Generate a single-file markdown documentation page for the wiki submodule.
4
- No VPN required. No Confluence knowledge needed.
5
-
6
- PREV: Phase 6 (Code Connect)
7
- NEXT: Phase 7B (inline - commit + push wiki repo)
8
- TOOL RESTRICTIONS: No Edit
9
-
10
- > **No VPN needed.** This phase writes to the local wiki submodule. The orchestrator
11
- > handles git commit + push in Phase 7B (inline, no subagent).
12
-
13
- ---
14
-
15
- ## PRE_CHECK
16
-
17
- ```
18
- Read: {artifactPath}/IMPLEMENTATION_HISTORY.md
19
- Read: {componentLocation}/{componentName}.swift
20
- Read: {componentLocation}/FIGMA.md
21
- Read: {artifactPath}/pass1/screenshot.png (verify exists)
22
- Read: {artifactPath}/pass1/screenshots/variants.md (if exists - variant property values)
23
- Read: {artifactPath}/pass3/07_implementation_spec.md
24
- Read: {artifactPath}/pass3/08_utility_integration.md
25
- Read: {artifactPath}/pass3/03_nested_components.md
26
- Read: {artifactPath}/pass2/utility_analytics.md (if exists)
27
- ```
28
-
29
- Also find iOS snapshot tests and reference images:
30
-
31
- ```
32
- Glob: Tests/UIComponentsTests/Snapshot/**/{componentName}SnapshotTests.swift
33
- Glob: Tests/UIComponentsTests/Snapshot/**/{componentName}/__Snapshots__/{componentName}SnapshotTests/*.png
34
- ```
35
-
36
- Read the snapshot test file to extract test names and the Swift code each test uses.
37
-
38
- Also read the per-component registry:
39
-
40
- ```bash
41
- cd {repos.common.path} && .build/debug/FigmaRegistryUtility lookup --node-id '{nodeId}'
42
- ```
43
-
44
- EXTRACT:
45
- - `componentName`, `nodeId`, `fileKey`
46
- - `componentLocation`, `artifactPath`
47
- - `complexity` (SIMPLE/COMPLEX from pass3/07)
48
- - `registryData` (testingIdentifiers, localizationKeys, accessibilityKeys, analyticsEvents)
49
- - Initializer signature (from FIGMA.md)
50
- - Usage examples (from FIGMA.md)
51
- - Nested components (from FIGMA.md / pass3/03)
52
- - Description, screen, section, size (from pass3/07)
53
-
54
- Derive wiki paths:
55
- - `wikiRoot` = `{repos.wiki.path}`
56
- - `wikiCategory` = derive from `artifactPath` (e.g., `DesignSystemCore`, `MobileAppComponents/Components/BottomAction`)
57
- - `wikiComponentPath` = `{wikiRoot}/{wikiCategory}/{componentName}`
58
-
59
- If IMPLEMENTATION_HISTORY.md, the Swift file, or FIGMA.md is missing:
60
-
61
- ```
62
- STATUS: HALT
63
- PHASE: phase-7a
64
- GATE: PRE_CHECK
65
- REASON: Required artifacts not found.
66
- COMPLETED_GATES: []
67
- ARTIFACTS_CREATED: none
68
- USER_ACTION_REQUIRED: Ensure Phase 4 completed. Required: IMPLEMENTATION_HISTORY.md, {componentName}.swift, FIGMA.md
69
- ```
70
-
71
- ---
72
-
73
- ## GATE 1: CREATE_WIKI_STRUCTURE
74
-
75
- Create output directory and copy screenshots.
76
-
77
- ```bash
78
- mkdir -p {wikiComponentPath}/assets
79
- cp {artifactPath}/pass1/screenshot.png {wikiComponentPath}/assets/screenshot.png
80
- ```
81
-
82
- If variant screenshots exist:
83
-
84
- ```bash
85
- if [ -d "{artifactPath}/pass1/screenshots" ]; then
86
- cp {artifactPath}/pass1/screenshots/*.png {wikiComponentPath}/assets/
87
- fi
88
- ```
89
-
90
- If iOS snapshot test reference images exist, copy with `ios_` prefix:
91
-
92
- ```bash
93
- # Snapshot image filenames are: test_snapshot_{mode}_{variant}.{mode}_{variant}.png
94
- # Extract the named part (after the dot) and prefix with ios_
95
- # e.g. test_snapshot_light_success.light_success.png → ios_light_success.png
96
- for f in __Snapshots__/{ComponentName}SnapshotTests/*.png; do
97
- named=$(echo "$(basename "$f")" | sed 's/.*\.\(.*\)\.png/\1/')
98
- cp "$f" {wikiComponentPath}/assets/ios_${named}.png
99
- done
100
- ```
101
-
102
- List all copied assets for the ARTIFACTS_CREATED output.
103
-
104
- ---
105
-
106
- ## GATE 2: GENERATE_MARKDOWN
107
-
108
- Write `{wikiComponentPath}/{ComponentName}.md` using the template below.
109
-
110
- **All images use wiki syntax:** `[[/{wikiCategory}/{componentName}/assets/{filename}]]`
111
-
112
- > **CRITICAL:** GitHub Wiki `[[image.png|alt]]` syntax uses `|` for alt text.
113
- > Inside markdown tables, `|` is the column separator - so `[[image.png|alt]]` breaks the table.
114
- > **Rule:** NEVER use `|alt` in image links inside tables. Use `[[image.png]]` only.
115
- > Outside tables (e.g., the hero screenshot at top), `[[image.png|alt]]` is safe.
116
-
117
- ### Data Mapping
118
-
119
- | Template Variable | Source |
120
- |-------------------|--------|
121
- | `{DESCRIPTION}` | Synthesize 1-line from pass3/07 overview |
122
- | `{FILE_KEY}`, `{NODE_ID}` | From context |
123
- | `{SCREEN}`, `{SECTION}`, `{SIZE}` | From pass3/07 metadata |
124
- | `{OVERVIEW_TEXT}` | 2-3 sentence description from pass3/07 |
125
- | Testing Identifiers table | `registryData.testingIdentifiers` - columns: Element (usage), Key, Value |
126
- | Localization Keys table | `registryData.localizationKeys` - columns: Element, Key, Default |
127
- | Accessibility tables | `registryData.accessibilityKeys` - Labels + Hints |
128
- | Analytics Events | `registryData.analyticsEvents` - element + event description |
129
- | Sub-Components | From FIGMA.md nested components / pass3/03 |
130
- | Changelog | Current date + "Initial documentation" |
131
-
132
- ### Empty Section Handling
133
-
134
- - If `testingIdentifiers` is empty: `*No testing identifiers registered.*`
135
- - If `localizationKeys` is empty: `*No localization keys. Text content is dynamic.*`
136
- - If `accessibilityKeys` is empty: `*No dedicated accessibility keys.*`
137
- - If `analyticsEvents` is empty: `*No analytics events. No interactive elements.*`
138
- - If no nested components: `*No nested View components.*`
139
- - If no variant screenshots: show only main screenshot, skip Variants table
140
-
141
- ### Markdown Template
142
-
143
- ```markdown
144
- # {ComponentName}
145
-
146
- *{DESCRIPTION}*
147
-
148
- [[/{wikiCategory}/{componentName}/assets/screenshot.png|{ComponentName}]]
149
-
150
- [View in Figma](https://www.figma.com/design/{FILE_KEY}/?node-id={NODE_ID_DASH})
151
-
152
- **Screen:** {SCREEN}
153
- **Section:** {SECTION}
154
- **Size:** {SIZE}
155
-
156
- ---
157
-
158
- ## Variants
159
-
160
- | Variant | Properties | Screenshot |
161
- |---------|-----------|-----------|
162
- | {VariantName} | `{Prop}={Value}` | [[/{wikiCategory}/{componentName}/assets/{VariantName}.png]] |
163
-
164
- <!-- Use pass1/screenshots/variants.md for variant names + property values -->
165
- <!-- If no variant screenshots, skip this section entirely -->
166
-
167
- ---
168
-
169
- ## Overview
170
-
171
- {OVERVIEW_TEXT}
172
-
173
- ---
174
-
175
- ## Testing Identifiers
176
-
177
- *Shared across platforms*
178
-
179
- | Element | Key | Value |
180
- |---------|-----|-------|
181
- | {usage} | `{key}` | `{value}` |
182
-
183
- ---
184
-
185
- ## Localization Keys
186
-
187
- *Shared across platforms*
188
-
189
- | Element | Key | Default (EN) |
190
- |---------|-----|-------------|
191
- | {element} | `{key}` | {default} |
192
-
193
- ---
194
-
195
- ## Accessibility
196
-
197
- *Shared across platforms*
198
-
199
- ### Labels
200
-
201
- | Element | Key |
202
- |---------|-----|
203
- | {element} | `{key}` |
204
-
205
- ### Hints
206
-
207
- | Element | Key |
208
- |---------|-----|
209
- | {element} | `{key}` |
210
-
211
- ---
212
-
213
- ## Analytics Events
214
-
215
- *Shared across platforms*
216
-
217
- ### {event_element}
218
-
219
- {event_description}
220
-
221
- | Property | Value |
222
- |----------|-------|
223
- | Element | {element} |
224
- | Identifier Key | `{identifierKey}` |
225
-
226
- ---
227
-
228
- ## Sub-Components
229
-
230
- | Component | Description |
231
- |-----------|-------------|
232
- | [[{SubComponentName}]] | {description} |
233
-
234
- ---
235
-
236
- ## Platform Implementations
237
-
238
- | Platform | Status |
239
- |----------|--------|
240
- | iOS | Implemented |
241
- | Android | Pending |
242
-
243
- ---
244
-
245
- ## iOS Implementation
246
-
247
- ### Initializer
248
-
249
- <!-- IF SIMPLE: -->
250
- ```swift
251
- {INIT_SIGNATURE}
252
- ```
253
-
254
- #### Parameters
255
-
256
- | Parameter | Type | Default | Description |
257
- |-----------|------|---------|-------------|
258
- | `{param}` | `{Type}` | {default} | {description} |
259
-
260
- <!-- IF COMPLEX: -->
261
- ```swift
262
- // Chain modifiers (recommended)
263
- {ComponentName} { /* dependency closure */ }
264
- .{modifier}({value})
265
-
266
- // Configuration closure
267
- {ComponentName} { config in
268
- config
269
- .{modifier}({value})
270
- }
271
-
272
- // Direct configuration
273
- {ComponentName}(configuration: {ComponentName}Configuration(
274
- {param}: {value}
275
- ))
276
- ```
277
-
278
- #### Configuration Properties
279
-
280
- | Property | Type | Default | Description |
281
- |----------|------|---------|-------------|
282
- | `{param}` | `{Type}` | {default} | {description} |
283
-
284
- #### Chain Modifiers
285
-
286
- Auto-generated by `@GenerateChainModifiers`.
287
-
288
- | Modifier | Type | Description |
289
- |----------|------|-------------|
290
- | `.{property}(_:)` | `{Type}` | {description} |
291
-
292
- <!-- END complexity branching -->
293
-
294
- ### Usage
295
-
296
- ```swift
297
- import UIComponents
298
-
299
- {USAGE_CODE}
300
- ```
301
-
302
- ### Testing Identifiers - iOS
303
-
304
- | Element | iOS Usage |
305
- |---------|-----------|
306
- | {element} | `.accessibilityIdentifier(.{ComponentName}.{element})` |
307
-
308
- <!-- Skip if no testing identifiers -->
309
-
310
- ### Localization - iOS
311
-
312
- | Element | iOS Usage |
313
- |---------|-----------|
314
- | {element} | `Text(.{ComponentName}.{element})` |
315
-
316
- <!-- Skip if no localization keys -->
317
-
318
- ### Accessibility - iOS
319
-
320
- | Element | iOS Usage |
321
- |---------|-----------|
322
- | {element} | `.accessibilityLabel(.{ComponentName}.{element})` |
323
-
324
- <!-- Skip if no accessibility keys -->
325
-
326
- ### Analytics - iOS
327
-
328
- #### {event_element}
329
-
330
- **Modifier:**
331
-
332
- ```swift
333
- {ANALYTICS_MODIFIER_CODE_FROM_PASS2}
334
- ```
335
-
336
- **Firebase Schema:**
337
-
338
- ```json
339
- {FIREBASE_SCHEMA_JSON}
340
- ```
341
-
342
- <!-- Skip if no analytics events -->
343
-
344
- ---
345
-
346
- ## Code Connect
347
-
348
- | Property | Value |
349
- |----------|-------|
350
- | Status | Published |
351
- | Strategy | {CODE_CONNECT_STRATEGY} |
352
- | File | `{ComponentName}.figma.swift` |
353
-
354
- <!-- Strategy from pass1/component_properties.json codeConnectStrategy -->
355
- <!-- If Code Connect was not published (Phase 6 skipped), set Status = Pending -->
356
-
357
- ---
358
-
359
- ## Snapshot Tests
360
-
361
- *Reference snapshots generated by `{ComponentName}SnapshotTests`.*
362
-
363
- ### {Category}
364
-
365
- | Variant | Code | Light | Dark |
366
- |---------|------|-------|------|
367
- | **{VariantName}** | `{ComponentName}({param}: .{value})` | [[/{wikiCategory}/{componentName}/assets/ios_light_{variant}.png]] | [[/{wikiCategory}/{componentName}/assets/ios_dark_{variant}.png]] |
368
-
369
- <!-- Group by test category from MARK comments in snapshot test file -->
370
- <!-- Code column: full init using preferred style (SIMPLE: direct init, COMPLEX: chain modifiers) -->
371
- <!-- Pair light/dark for same variant side by side -->
372
- <!-- Skip this section if no snapshot tests exist -->
373
-
374
- ### RTL Variants (Arabic)
375
-
376
- | Variant | Code | Light | Dark |
377
- |---------|------|-------|------|
378
- | **{VariantName}** | `{ComponentName}({param}: "{arabicText}")` | [[/{wikiCategory}/{componentName}/assets/ios_rtl_light_{variant}.png]] | [[/{wikiCategory}/{componentName}/assets/ios_rtl_dark_{variant}.png]] |
379
-
380
- <!-- RTL snapshots use ios_rtl_ prefix. Arabic text from phase-5b Arabic Sample Text table. -->
381
- <!-- Skip if no RTL snapshot tests exist -->
382
-
383
- ---
384
-
385
- ## Changelog
386
-
387
- | Date | Change |
388
- |------|--------|
389
- | {DATE} | Initial documentation |
390
- ```
391
-
392
- **IMPORTANT:**
393
- - Replace ALL template variables with actual data.
394
- - Remove ALL HTML comments (<!-- ... -->) from final output.
395
- - Include only sections that have data - skip empty optional sections entirely.
396
- - The `## iOS Implementation` heading is the split marker. Everything above is shared/cross-platform, everything from `## iOS Implementation` onward is iOS-specific. The standalone `/figma-to-swift-ui-confluence` skill uses this marker to split into two Confluence XHTML files.
397
-
398
- ---
399
-
400
- ## GATE 3: VALIDATE_MARKDOWN
401
-
402
- Run the validation script:
403
-
404
- ```bash
405
- python3 .instructions/figma/figma-to-swiftui/scripts/validate-phase7a.py \
406
- --wiki-path "{wikiComponentPath}" \
407
- --component-name "{ComponentName}" \
408
- --mode wiki
409
- ```
410
-
411
- The script outputs JSON with `status`, `violations`, `warnings`, and `stats`.
412
-
413
- ### What the script checks in wiki mode
414
-
415
- **{ComponentName}.md - Structure:**
416
- - Required sections: `## Overview`, `## Testing Identifiers`, `## Localization Keys`, `## Accessibility`, `## Analytics Events`, `## Sub-Components`, `## Platform Implementations`, `## Changelog`
417
- - `## iOS Implementation` marker present
418
- - Under iOS: `### Initializer`, `### Usage`, `### Snapshot Tests` (if snapshot assets exist)
419
-
420
- **Content integrity:**
421
- - No unreplaced template variables (`{ComponentName}`, `{DESCRIPTION}`, etc.)
422
- - No remaining template comments (`<!-- IF`, `<!-- END`, `<!-- ELSE`)
423
-
424
- **Asset reference integrity:**
425
- - Every `[[...assets/{filename}` reference (with or without `|alt`) has a matching file in `{wikiComponentPath}/assets/`
426
- - Orphan detection: files in `assets/` not referenced by markdown (warning, not failure)
427
- - No `|alt` inside table rows (pipe breaks table columns)
428
- - `screenshot.png` exists
429
-
430
- **Snapshot coverage:**
431
- - Every snapshot variant has both `ios_light_{variant}.png` AND `ios_dark_{variant}.png`
432
- - Every snapshot asset is referenced in the markdown
433
- - RTL: same check for `ios_rtl_light_` / `ios_rtl_dark_` pairs
434
-
435
- ### On failure
436
-
437
- Fix violations, re-generate markdown, re-run validation.
438
-
439
- ```
440
- STATUS: HALT
441
- PHASE: phase-7a
442
- GATE: VALIDATE_MARKDOWN
443
- REASON: Wiki markdown validation failed.
444
- VIOLATIONS: {violations from script JSON}
445
- WARNINGS: {warnings from script JSON}
446
- STATS: {stats from script JSON}
447
- COMPLETED_GATES: [PRE_CHECK, CREATE_WIKI_STRUCTURE, GENERATE_MARKDOWN]
448
- USER_ACTION_REQUIRED: Fix the violations listed above and re-generate the markdown.
449
- ```
450
-
451
- ---
452
-
453
- ## GATE 4: UPDATE_SIDEBAR
454
-
455
- **Pre-condition**: Ensure the wiki is up-to-date before regenerating:
456
- ```bash
457
- cd {wikiRoot}
458
- git pull origin master 2>/dev/null || true
459
- ```
460
-
461
- The sidebar is generated deterministically from the wiki directory structure by `sidebar-generator.py`. Do NOT manually edit `_Sidebar.md`.
462
-
463
- Run the generator:
464
- ```bash
465
- python3 .instructions/figma/figma-to-swiftui/scripts/sidebar-generator.py --wiki-root {wikiRoot}
466
- ```
467
-
468
- This script scans `DesignSystemCore/`, `MobileAppComponents/`, and `VisualAssets/` folders, then produces a sorted, idempotent `_Sidebar.md`. Every run with the same directory state produces identical output - eliminating merge conflicts.
469
-
470
- **Post-validation (HARD GATE - must pass to proceed)**:
471
- ```bash
472
- grep -q '\[\[{ComponentName}\]\]' {wikiRoot}/_Sidebar.md
473
- ```
474
- If grep exits non-zero → HALT:
475
- ```
476
- STATUS: HALT
477
- PHASE: phase-7a
478
- GATE: UPDATE_SIDEBAR
479
- REASON: _Sidebar.md does not contain [[{ComponentName}]] after sidebar-generator.py run.
480
- USER_ACTION_REQUIRED: Verify the component wiki folder exists under the correct section directory and re-run sidebar-generator.py.
481
- ```
482
- Do NOT proceed to GATE 5 until this validation passes.
483
-
484
- ---
485
-
486
- ## GATE 5: UPDATE_STATUS_TABLE
487
-
488
- The status page is generated by `confluence-component-status.py`, not manually edited.
489
- Run the script to regenerate it with the newly implemented component included:
490
-
491
- ```bash
492
- python3 .instructions/figma/figma-to-swiftui/scripts/confluence-component-status.py
493
- ```
494
-
495
- The script reads the component index and produces `{wikiRoot}/ComponentImplementationStatus.md` with the current status of all components. The newly implemented component will appear as ✅ with a `[[wiki-link]]` automatically.
496
-
497
- ---
498
-
499
- ## GATE 6: UPDATE_REGISTRY
500
-
501
- Run the Phase 7 finalize script to mark `wiki` in the component registry:
502
-
503
- ```bash
504
- python3 .instructions/figma/figma-to-swiftui/scripts/phase7-finalize.py \
505
- --node-id "{nodeId}" \
506
- --platform ios
507
- ```
508
-
509
- | Result | Action |
510
- |--------|--------|
511
- | Exit 0, `"action": "updated"` | `status.ios.wiki` set green, `against = implemented.version` - proceed |
512
- | Exit 0, `"action": "already_current"` | Already marked against current implemented.version - proceed |
513
- | Exit 0, `"action": "created"` | New registry file created - proceed |
514
- | Exit 1 | HALT - registry update failed |
515
-
516
- **Why this matters:** This is the single source of truth for `status.ios.wiki`. The script records `against = status.ios.implemented.version` so the flag automatically drops to yellow on the next Phase 4 version bump until wiki pages are refreshed. `figma-iteration-commit` reads this and syncs the GitHub issue via `update-issue-from-registry.py`.
517
-
518
- FAIL →
519
- ```
520
- STATUS: HALT
521
- PHASE: phase-7a
522
- GATE: UPDATE_REGISTRY
523
- REASON: phase7-finalize.py failed.
524
- COMPLETED_GATES: [PRE_CHECK, CREATE_WIKI_STRUCTURE, GENERATE_MARKDOWN, VALIDATE_MARKDOWN, UPDATE_SIDEBAR, UPDATE_STATUS_TABLE]
525
- USER_ACTION_REQUIRED: Check script error output; verify node-id matches the registry.
526
- ```
527
-
528
- ---
529
-
530
- ## GATE 7: UPDATE_HISTORY
531
-
532
- Append to `{artifactPath}/IMPLEMENTATION_HISTORY.md`:
533
-
534
- ```markdown
535
- ## Phase 7A: Wiki Documentation
536
- - Status: Complete
537
- - Wiki Page: {wikiComponentPath}/{ComponentName}.md
538
- - Assets: {COUNT} screenshots
539
- - Validation: Passed
540
- - Sidebar: Updated
541
- - Status Table: Updated
542
- ```
543
-
544
- ---
545
-
546
- ## VALIDATION CHECKLIST
547
-
548
- ```
549
- [ ] {wikiComponentPath}/{ComponentName}.md exists
550
- [ ] {wikiComponentPath}/assets/screenshot.png exists
551
- [ ] Markdown has ## iOS Implementation split marker
552
- [ ] Main sections present: Variants, Overview, Testing IDs, Localization, Accessibility, Analytics, Sub-Components, Platform Implementations, Changelog
553
- [ ] iOS sections present: Initializer, Usage, Code Connect, Snapshot Tests (if snapshots exist)
554
- [ ] All images use wiki syntax: [[/...]]
555
- [ ] No image alt text (|alt) used inside markdown tables
556
- [ ] All template variables replaced
557
- [ ] No HTML comments remaining
558
- [ ] All referenced image filenames exist in assets/
559
- [ ] _Sidebar.md contains [[{ComponentName}]]
560
- [ ] ComponentImplementationStatus.md contains row for component
561
- [ ] phase7-finalize.py passed (status.ios.wiki updated)
562
- [ ] IMPLEMENTATION_HISTORY.md updated with Phase 7A entry
563
- ```
564
-
565
- ---
566
-
567
- ## SUCCESS OUTPUT
568
-
569
- ```
570
- STATUS: COMPLETE
571
- PHASE: phase-7a
572
- GATES_PASSED: [PRE_CHECK, CREATE_WIKI_STRUCTURE, GENERATE_MARKDOWN, VALIDATE_MARKDOWN, UPDATE_SIDEBAR, UPDATE_STATUS_TABLE, UPDATE_REGISTRY, UPDATE_HISTORY]
573
- ARTIFACTS_CREATED:
574
- - {wikiComponentPath}/{ComponentName}.md (validated)
575
- - {wikiComponentPath}/assets/ ({COUNT} screenshots)
576
- - {wikiRoot}/_Sidebar.md (updated)
577
- - {wikiRoot}/ComponentImplementationStatus.md (updated)
578
- - {artifactPath}/IMPLEMENTATION_HISTORY.md (updated)
579
- SUMMARY: Wiki documentation generated. {SECTION_COUNT} sections. {SCREENSHOT_COUNT} assets. Ready for phase-7b commit+push.
580
- ```
@@ -1,51 +0,0 @@
1
- # PHASE 8 - Cleanup
2
-
3
- Remove generated artifacts that are no longer needed after upload, to avoid bloating the codebase.
4
- PREV: Phase 7B (Confluence Upload)
5
-
6
- ---
7
-
8
- ## PRE-CHECK
9
-
10
- Read `{artifactPath}/IMPLEMENTATION_HISTORY.md`.
11
-
12
- Verify Phase 7B is complete (has "Phase 7B" section with "Status: Complete").
13
-
14
- If Phase 7B is not complete → HALT. Do not delete artifacts that haven't been uploaded yet.
15
-
16
- ---
17
-
18
- ## GATE 1: DELETE CONFLUENCE ARTIFACTS
19
-
20
- If `{artifactPath}/confluence/` exists AND Phase 7B is complete:
21
-
22
- Delete `{artifactPath}/confluence/` (the entire directory including `assets/`, `main.html`, `ios.html`).
23
-
24
- These are local XHTML generation artifacts. The content is live on Confluence - the local copy is only needed during Phase 7A generation and 7B upload.
25
-
26
- If confluence directory does not exist → skip (already cleaned or never generated locally).
27
-
28
- ---
29
-
30
- ## GATE 2: UPDATE IMPLEMENTATION HISTORY
31
-
32
- Append to `{artifactPath}/IMPLEMENTATION_HISTORY.md`:
33
-
34
- ```markdown
35
- ## Phase 8: Cleanup
36
- - Confluence artifacts: Deleted (uploaded in Phase 7B)
37
- - Date: {DD.MM.YYYY}
38
- ```
39
-
40
- ---
41
-
42
- ## PHASE OUTPUT
43
-
44
- ```
45
- STATUS: COMPLETE
46
- PHASE: phase-8
47
- GATES_PASSED: [PRE_CHECK, DELETE_CONFLUENCE_ARTIFACTS, UPDATE_HISTORY]
48
- DELETED:
49
- - {artifactPath}/confluence/ ({size})
50
- SUMMARY: Cleanup complete. Removed {total_size} of generated Confluence artifacts.
51
- ```