@mmerterden/multi-agent-pipeline 11.2.0 → 11.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -0
- package/README.md +2 -2
- package/docs/FIGMA_PIPELINE.md +12 -25
- package/docs/architecture.md +3 -5
- package/docs/features.md +8 -8
- package/install/_dev-only-files.mjs +0 -6
- package/install/claude.mjs +39 -17
- package/install/copilot.mjs +22 -16
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +1 -1
- package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
- package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
- package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
- package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
- package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
- package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
- package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
- package/pipeline/lib/credential-store.sh +8 -4
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
- package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
- package/pipeline/preferences-template.json +17 -1
- package/pipeline/rules/figma-pipeline.md +2 -2
- package/pipeline/schemas/prefs.schema.json +0 -34
- package/pipeline/scripts/README.md +1 -3
- package/pipeline/scripts/build-skills-index.mjs +3 -6
- package/pipeline/scripts/eval-mine-corpus.mjs +187 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/lint-skills.mjs +26 -1
- package/pipeline/scripts/phase-banner.sh +2 -2
- package/pipeline/scripts/review-scope.mjs +94 -0
- package/pipeline/scripts/scan-agent-config.sh +2 -2
- package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
- package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
- package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
- package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
- package/pipeline/scripts/smoke-channels-flow.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +1 -1
- package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
- package/pipeline/scripts/smoke-community-gates.sh +1 -1
- package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
- package/pipeline/scripts/smoke-cost-summary.sh +1 -1
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
- package/pipeline/scripts/smoke-dev-critic.sh +1 -1
- package/pipeline/scripts/smoke-diff-explain.sh +1 -1
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
- package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
- package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
- package/pipeline/scripts/smoke-generate-issue.sh +8 -8
- package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
- package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
- package/pipeline/scripts/smoke-intent-guard.sh +1 -1
- package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
- package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
- package/pipeline/scripts/smoke-language-axis.sh +6 -6
- package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
- package/pipeline/scripts/smoke-model-fallback.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
- package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
- package/pipeline/scripts/smoke-plan-todos.sh +3 -3
- package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
- package/pipeline/scripts/smoke-prefs-language.sh +1 -1
- package/pipeline/scripts/smoke-progress-contract.sh +2 -2
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +2 -2
- package/pipeline/scripts/smoke-shadow-git.sh +1 -1
- package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
- package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
- package/pipeline/scripts/smoke-test-gap.sh +1 -1
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-token-preflight.sh +2 -2
- package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-update-check.sh +1 -1
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-gates.sh +1 -1
- package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
- package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
- package/pipeline/scripts/smoke-work-summary.sh +1 -1
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/test-integrity-gate.mjs +83 -0
- package/pipeline/scripts/uninstall.mjs +17 -6
- package/pipeline/skills/.skill-manifest.json +40 -160
- package/pipeline/skills/.skills-index.json +3 -373
- package/pipeline/skills/shared/README.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
- package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
- package/pipeline/skills/skills-index.md +3 -44
- package/pipeline/commands/multi-agent/refactor.md +0 -188
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
- package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
- package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
- package/pipeline/scripts/smoke-figma-sync.sh +0 -149
- package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
- package/pipeline/skills/figma-android/README.md +0 -38
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
- package/pipeline/skills/figma-common/README.md +0 -64
- package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
- package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
- package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
- package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
- package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
- package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
- package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
- /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
- /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
- /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
|
-
| `"` | `"` |
|
|
147
|
-
| `>` | `>` |
|
|
148
|
-
| `<` | `<` |
|
|
149
|
-
| `&` | `&` |
|
|
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
|