@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,155 +0,0 @@
1
- # Confluence XHTML Storage Format Reference
2
-
3
- Phase 7 generates Confluence pages in XHTML storage format (`representation: "storage"`).
4
-
5
- ---
6
-
7
- ## Content Format
8
-
9
- Confluence storage format uses XHTML with Atlassian-specific `ac:` and `ri:` namespaces.
10
-
11
- ```
12
- POST /rest/api/content
13
- {
14
- "type": "page",
15
- "title": "PageTitle",
16
- "space": { "key": "DK" },
17
- "body": {
18
- "storage": {
19
- "value": "<XHTML content here>",
20
- "representation": "storage"
21
- }
22
- }
23
- }
24
- ```
25
-
26
- ---
27
-
28
- ## Creating Sub-Pages
29
-
30
- Add `ancestors` array to make a page a child of another:
31
-
32
- ```json
33
- {
34
- "type": "page",
35
- "title": "ComponentName - iOS",
36
- "ancestors": [{ "id": "PARENT_PAGE_ID" }],
37
- "space": { "key": "DK" },
38
- "body": {
39
- "storage": {
40
- "value": "<XHTML content>",
41
- "representation": "storage"
42
- }
43
- }
44
- }
45
- ```
46
-
47
- ---
48
-
49
- ## XHTML Macros
50
-
51
- ### Table of Contents
52
-
53
- ```xml
54
- <ac:structured-macro ac:name="toc">
55
- <ac:parameter ac:name="printable">true</ac:parameter>
56
- <ac:parameter ac:name="style">disc</ac:parameter>
57
- <ac:parameter ac:name="maxLevel">2</ac:parameter>
58
- <ac:parameter ac:name="minLevel">2</ac:parameter>
59
- </ac:structured-macro>
60
- ```
61
-
62
- ### Code Block
63
-
64
- ```xml
65
- <ac:structured-macro ac:name="code">
66
- <ac:parameter ac:name="language">java</ac:parameter>
67
- <ac:plain-text-body><![CDATA[code here]]></ac:plain-text-body>
68
- </ac:structured-macro>
69
- ```
70
-
71
- **Language:** Use `java` for Swift code. Confluence does not support `swift`.
72
-
73
- ### Image (Attachment)
74
-
75
- ```xml
76
- <ac:image ac:width="375"><ri:attachment ri:filename="screenshot.png"/></ac:image>
77
- ```
78
-
79
- ### Internal Page Link
80
-
81
- ```xml
82
- <ac:link><ri:page ri:content-title="PageTitle"/><ac:plain-text-link-body><![CDATA[Display Text]]></ac:plain-text-link-body></ac:link>
83
- ```
84
-
85
- ### External Link
86
-
87
- ```xml
88
- <a href="https://example.com">Link Text</a>
89
- ```
90
-
91
- ### Note Callout
92
-
93
- ```xml
94
- <ac:structured-macro ac:name="note">
95
- <ac:rich-text-body><p>Note text here</p></ac:rich-text-body>
96
- </ac:structured-macro>
97
- ```
98
-
99
- ### Warning Callout
100
-
101
- ```xml
102
- <ac:structured-macro ac:name="warning">
103
- <ac:rich-text-body><p>Warning text here</p></ac:rich-text-body>
104
- </ac:structured-macro>
105
- ```
106
-
107
- ---
108
-
109
- ## Common Patterns
110
-
111
- ### Table with Header Row
112
-
113
- ```xml
114
- <table><tbody>
115
- <tr><th>Column 1</th><th>Column 2</th></tr>
116
- <tr><td>value</td><td>value</td></tr>
117
- </tbody></table>
118
- ```
119
-
120
- ### Inline Code
121
-
122
- ```xml
123
- <code>UITestingIdentifierKey.ComponentName.element</code>
124
- ```
125
-
126
- ### Section Separator
127
-
128
- ```xml
129
- <hr/>
130
- ```
131
-
132
- ### Italic / Bold / Line Break
133
-
134
- ```xml
135
- <em>italic text</em>
136
- <strong>bold text</strong>
137
- <br/>
138
- ```
139
-
140
- ---
141
-
142
- ## Escaping Rules
143
-
144
- | Character | Escape |
145
- |-----------|--------|
146
- | `"` | `&quot;` |
147
- | `>` | `&gt;` |
148
- | `<` | `&lt;` |
149
- | `&` | `&amp;` |
150
-
151
- Inside `<![CDATA[...]]>` blocks, no escaping is needed.
152
-
153
- ---
154
-
155
- **Last Updated:** 2026-02-25
@@ -1,196 +0,0 @@
1
- # FIGMA/CSS TO SWIFTUI EFFECTS CONVERSION
2
-
3
- When translating Figma design properties (which use CSS conventions) to SwiftUI, several values require conversion. Figma's generated code (React+Tailwind) uses CSS units and conventions - these do NOT map 1:1 to SwiftUI.
4
-
5
- Source: [Matching drop shadows across CSS, Android, iOS, Figma, and Sketch](https://bjango.com/articles/matchingdropshadows/)
6
-
7
- ---
8
-
9
- ## 1. SHADOWS
10
-
11
- ### Drop Shadow (box-shadow → .shadow)
12
-
13
- Figma/CSS `box-shadow` and SwiftUI `.shadow()` use **different blur algorithms**. iOS uses double the standard deviation of CSS, so the same numeric blur value produces a visually larger blur in SwiftUI.
14
-
15
- **Conversion formula:**
16
- ```
17
- SwiftUI radius = Figma blur / 2
18
- ```
19
-
20
- | Figma/CSS | SwiftUI | Example |
21
- |-----------|---------|---------|
22
- | `box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5)` | `.shadow(color: .black.opacity(0.5), radius: 4, x: 0, y: 0)` | Blur 8 → radius 4 |
23
- | `box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25)` | `.shadow(color: .black.opacity(0.25), radius: 8, x: 0, y: 4)` | Blur 16 → radius 8 |
24
- | `box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.1)` | `.shadow(color: .black.opacity(0.1), radius: 2, x: 0, y: 2)` | Blur 4 → radius 2 |
25
-
26
- **When using design tokens:**
27
- ```swift
28
- // Token .Effects.effect8 = 8 (Figma blur value)
29
- // WRONG - passes Figma blur directly
30
- .shadow(radius: .Effects.effect8)
31
-
32
- // CORRECT - divide by 2 for SwiftUI
33
- .shadow(radius: .Effects.effect8 / 2)
34
- ```
35
-
36
- ### Shadow spread
37
- SwiftUI `.shadow()` has NO spread parameter. CSS `box-shadow` spread expands/contracts the shadow shape.
38
-
39
- **Workaround for positive spread:** Add a slightly larger background layer behind the view:
40
- ```swift
41
- ZStack {
42
- RoundedRectangle(cornerRadius: radius)
43
- .fill(shadowColor)
44
- .padding(-spread) // negative padding = expand
45
- .blur(radius: blurRadius / 2)
46
- content
47
- }
48
- ```
49
-
50
- For zero spread (the common case), no workaround needed - just omit.
51
-
52
- ### Inner Shadow
53
- CSS `box-shadow: inset ...` → SwiftUI has no built-in inner shadow.
54
-
55
- **Workaround:**
56
- ```swift
57
- .overlay(
58
- RoundedRectangle(cornerRadius: radius)
59
- .stroke(Color.black.opacity(0.1), lineWidth: 1)
60
- .blur(radius: blurRadius / 2)
61
- .mask(RoundedRectangle(cornerRadius: radius))
62
- )
63
- ```
64
-
65
- ---
66
-
67
- ## 2. BLUR EFFECTS
68
-
69
- ### Background blur (backdrop-filter → .blur)
70
- ```
71
- SwiftUI blur radius = CSS blur radius / 2
72
- ```
73
-
74
- Same conversion factor as shadows - iOS uses double the standard deviation.
75
-
76
- ```swift
77
- // Figma: backdrop-filter: blur(20px)
78
- .blur(radius: 10)
79
- ```
80
-
81
- ### Layer blur (filter: blur → .blur)
82
- Same conversion:
83
- ```swift
84
- // Figma: filter: blur(8px)
85
- .blur(radius: 4)
86
- ```
87
-
88
- ---
89
-
90
- ## 3. OPACITY
91
-
92
- Opacity maps 1:1 - no conversion needed.
93
-
94
- ```swift
95
- // Figma: opacity: 0.5
96
- .opacity(0.5)
97
- ```
98
-
99
- For color opacity (e.g., `rgba(0,0,0,0.5)`):
100
- ```swift
101
- Color.black.opacity(0.5)
102
- ```
103
-
104
- When using design tokens like `Color.Opacity.Black.opacity50`, verify the token already encodes the correct alpha - don't double-apply.
105
-
106
- ---
107
-
108
- ## 4. BORDER / STROKE
109
-
110
- ### Border width
111
- Maps 1:1, no conversion.
112
-
113
- ```swift
114
- // Figma: border: 1px solid #color
115
- .overlay(
116
- RoundedRectangle(cornerRadius: .Radius.radius8)
117
- .stroke(Color.Border.borderSubtle, lineWidth: 1)
118
- )
119
- ```
120
-
121
- ### Border radius / Corner radius
122
- Maps 1:1 between Figma and SwiftUI.
123
-
124
- ```swift
125
- // Figma: border-radius: 12px → token Radius/Radius12
126
- .clipShape(RoundedRectangle(cornerRadius: .Radius.radius12))
127
- // or
128
- .cornerRadius(.Radius.radius12)
129
- ```
130
-
131
- ---
132
-
133
- ## 5. GRADIENTS
134
-
135
- ### Linear gradient
136
- Figma angle convention differs from SwiftUI:
137
- - Figma: 0° = top-to-bottom, 90° = left-to-right
138
- - SwiftUI: Uses `UnitPoint` start/end, not angles
139
-
140
- | Figma Angle | SwiftUI Start → End |
141
- |-------------|---------------------|
142
- | 0° | `.top` → `.bottom` |
143
- | 90° | `.leading` → `.trailing` |
144
- | 180° | `.bottom` → `.top` |
145
- | 270° | `.trailing` → `.leading` |
146
- | 45° | `.topLeading` → `.bottomTrailing` |
147
-
148
- ```swift
149
- // Figma: linear-gradient(180deg, #000 0%, transparent 100%)
150
- LinearGradient(
151
- colors: [.black, .clear],
152
- startPoint: .bottom,
153
- endPoint: .top
154
- )
155
- ```
156
-
157
- ---
158
-
159
- ## 6. TRANSITIONS / ANIMATIONS
160
-
161
- Figma prototype transitions don't export via API. Common Figma Smart Animate defaults:
162
-
163
- | Figma Setting | SwiftUI Equivalent |
164
- |---------------|-------------------|
165
- | Smart Animate, 300ms, Ease In And Out | `.animation(.easeInOut(duration: 0.3), value: state)` |
166
- | Smart Animate, 200ms, Ease Out | `.animation(.easeOut(duration: 0.2), value: state)` |
167
- | Dissolve, 300ms | `.transition(.opacity)` with `.animation(.easeInOut(duration: 0.3))` |
168
- | Move In/Out | `.transition(.move(edge: .bottom))` |
169
-
170
- ### TimelineView for frame-based animations
171
- When Figma shows a component cycling between variant states (e.g., QR code glow pulse):
172
- ```swift
173
- TimelineView(.periodic(from: .now, by: interval)) { context in
174
- let state = deriveState(from: context.date)
175
- content(for: state)
176
- .animation(.easeInOut(duration: transitionDuration), value: state)
177
- }
178
- ```
179
- Derive state from the timeline date - do NOT mutate `@State` inside the TimelineView closure.
180
-
181
- ---
182
-
183
- ## QUICK REFERENCE TABLE
184
-
185
- | Property | Figma/CSS Value | SwiftUI Value | Conversion |
186
- |----------|----------------|---------------|------------|
187
- | Shadow blur | `8px` | `radius: 4` | ÷ 2 |
188
- | Shadow x/y offset | `4px` | `x: 4, y: 4` | 1:1 |
189
- | Shadow spread | `2px` | N/A | Workaround needed |
190
- | Shadow color | `rgba(0,0,0,0.5)` | `.black.opacity(0.5)` | 1:1 |
191
- | Blur | `20px` | `radius: 10` | ÷ 2 |
192
- | Opacity | `0.5` | `.opacity(0.5)` | 1:1 |
193
- | Border width | `1px` | `lineWidth: 1` | 1:1 |
194
- | Corner radius | `12px` | `.Radius.radius12` | 1:1 |
195
- | Gradient angle | CSS degrees | UnitPoint | See table |
196
- | Animation duration | ms | seconds | ÷ 1000 |
@@ -1,57 +0,0 @@
1
- # RETURN PROTOCOL
2
-
3
- When you complete this phase, output EXACTLY one of these blocks as your FINAL message.
4
-
5
- ---
6
-
7
- ## On success:
8
-
9
- ```
10
- STATUS: COMPLETE
11
- PHASE: phase-{N}
12
- GATES_PASSED: [list every gate ID that passed]
13
- ARTIFACTS_CREATED:
14
- - {path}
15
- - {path}
16
- SUMMARY: {one-line description of what was accomplished}
17
- ```
18
-
19
- ## On failure (tool error, missing file, validation fail):
20
-
21
- ```
22
- STATUS: HALT
23
- PHASE: phase-{N}
24
- GATE: {gate-id that failed}
25
- REASON: {exact reason - copy from instruction if applicable}
26
- COMPLETED_GATES: [gates that passed before halt]
27
- ARTIFACTS_CREATED: [files written before halt, or "none"]
28
- USER_ACTION_REQUIRED: {what the user must fix before retry}
29
- ```
30
-
31
- ## On decision needed (user choice required):
32
-
33
- ```
34
- STATUS: NEEDS_INPUT
35
- PHASE: phase-{N}
36
- GATE: {gate-id where decision is needed}
37
- QUESTION: {what needs to be decided}
38
- OPTIONS:
39
- 1) {choice}
40
- 2) {choice}
41
- 3) {choice}
42
- SUGGESTED: {your recommendation and why}
43
- COMPLETED_GATES: [gates passed so far]
44
- CONTEXT: {relevant data the user needs to make the decision}
45
- ```
46
-
47
- ---
48
-
49
- ## Rules
50
-
51
- 1. Output EXACTLY ONE block as your FINAL message.
52
- 2. STOP after outputting the block. Do not call any more tools.
53
- 3. Every gate you pass must appear in GATES_PASSED or COMPLETED_GATES.
54
- 4. Every file you created must appear in ARTIFACTS_CREATED.
55
- 5. Never output a STATUS block mid-execution - only at the very end.
56
- 6. If you encounter multiple failures, report the FIRST one.
57
- 7. If a HALT condition says to check for USER_DECISION in the prompt first, do so before halting.
@@ -1,89 +0,0 @@
1
- # LOCALIZATION KEY NAMING
2
-
3
- Naming rules for UIComponents localization keys.
4
-
5
- ---
6
-
7
- ## Format
8
-
9
- ```
10
- <ComponentName>.<Element>
11
- ```
12
-
13
- ---
14
-
15
- ## Rules
16
-
17
- - PascalCase segments, dots as separators, max 5 levels
18
- - No suffix like `.Label`, `.Text`, `.Title` unless disambiguation needed
19
-
20
- | Suffix Needed | Example |
21
- |---------------|---------|
22
- | Same element, different contexts | `Packages.Economy.Title`, `Packages.Economy.Description` |
23
- | Action vs display | `Packages.Submit.Button`, `Packages.Submit.Confirmation` |
24
-
25
- | No Suffix Needed | Example |
26
- |------------------|---------|
27
- | Single text per element | `Packages.Ecofly` |
28
- | Context clear from hierarchy | `Packages.Upgraded` |
29
-
30
- ---
31
-
32
- ## Text Extraction Rules
33
-
34
- ### 1. Pattern Detection
35
-
36
- | Pattern | Detection | Action |
37
- |---------|-----------|--------|
38
- | Static text | Same text across variants | Single key, static value |
39
- | Dynamic placeholder | Single character varies (A, B, K, Y) | Format key with `%@` or `%1$@` |
40
- | Repeated structure | `{Type}, {Class} Sinifi` | Combined format key |
41
-
42
- ### 2. Domain Context Deduction
43
-
44
- | Domain | Pattern | Enum |
45
- |--------|---------|------|
46
- | Booking class | Single letter (K, Y, J, C, B...) | `BookingClassCode` |
47
- | Cabin class | Economy, Business | `CabinClass` |
48
- | Package type | Ecofly, Extrafly, Primefly... | `PackageType` |
49
-
50
- ### 3. Format Keys (dynamic parts)
51
-
52
- ```
53
- Figma: "Ecofly, K Sinifi" (K varies)
54
- Key: Packages.PackageWithClass
55
- Value (TR): %1$@, %2$@ Sinifi
56
- Value (EN): %1$@, Class %2$@
57
- Runtime: String(format: key, "Ecofly", "K")
58
- ```
59
-
60
- ### 4. Static Keys (fixed text)
61
-
62
- ```
63
- Figma: "Yukseltildi"
64
- Key: Packages.Upgraded
65
- Value: Yukseltildi / Upgraded
66
- ```
67
-
68
- ### 5. One key per unique pattern, shared texts get single key
69
-
70
- ---
71
-
72
- ## Key Structure
73
-
74
- | Type | Format | Example |
75
- |------|--------|---------|
76
- | Simple | `Component.Element` | `Packages.Upgraded` |
77
- | With variants | `Component.VariantValue` | `Packages.Ecofly` |
78
- | Nested | `Component.Section.Element` | `FlightCard.Header.Title` |
79
- | Disambiguation | `Component.Element.Context` | `Booking.Date.Departure` |
80
-
81
- ---
82
-
83
- ## Validation
84
-
85
- 1. Key follows PascalCase.Dot.Notation
86
- 2. No unnecessary suffixes
87
- 3. Complete display-ready text (no concatenation)
88
- 4. Unique key for each unique text
89
- 5. Shared texts use single key