@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.
- package/CHANGELOG.md +58 -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/_common.mjs +9 -1
- package/install/_dev-only-files.mjs +0 -6
- package/install/claude.mjs +45 -18
- package/install/copilot.mjs +16 -14
- 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/{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-stack-plugins.mjs +1 -1
- package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- 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 +2 -2
- package/pipeline/skills/.skill-manifest.json +40 -160
- package/pipeline/skills/.skills-index.json +21 -372
- 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/backlog/BACKLOG.md +32 -0
- package/pipeline/skills/shared/external/backlog/SKILL.md +49 -0
- package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
- package/pipeline/skills/shared/external/skill-creator/SKILL.md +48 -0
- package/pipeline/skills/shared/external/skill-creator/audit.md +59 -0
- package/pipeline/skills/shared/external/skill-creator/checklist.md +32 -0
- package/pipeline/skills/shared/external/skill-creator/examples.md +65 -0
- package/pipeline/skills/shared/external/skill-creator/label-check.md +43 -0
- package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +83 -0
- package/pipeline/skills/shared/external/skill-creator/template.md +67 -0
- package/pipeline/skills/skills-index.md +4 -43
- 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,262 +0,0 @@
|
|
|
1
|
-
# PHASE 4E - View Modifiers Extension (+Modifiers)
|
|
2
|
-
|
|
3
|
-
Generate `{ComponentName}+Modifiers.swift` - a thin extension on the View that forwards each Configuration property as a discoverable chain modifier method.
|
|
4
|
-
|
|
5
|
-
CONDITIONAL: Only for COMPLEX components with `@GenerateViewConfiguration` + Configuration pattern.
|
|
6
|
-
SEQUENTIAL: Runs AFTER Phase 4A (Configuration) and Phase 4B (View) complete.
|
|
7
|
-
|
|
8
|
-
**NOTE:** `@GenerateViewConfiguration` generates ONLY the `configured()` method. It CANNOT generate View-level forwarding modifiers because Swift macros cannot introspect types other than the one they're attached to - the Configuration struct's properties are invisible to a macro on the View. This phase (AI-written +Modifiers) is ALWAYS required for COMPLEX components.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## CONTEXT VARIABLES
|
|
13
|
-
|
|
14
|
-
Provided by the orchestrator:
|
|
15
|
-
- `componentName` - e.g., "TurkishButton"
|
|
16
|
-
- `componentLocation` - e.g., "{repos.components.path}/Sources/UIComponents/Components/DesignSystemCore/Button/TurkishButton"
|
|
17
|
-
- `artifactPath` - path to implementation artifacts
|
|
18
|
-
- `complexity` - must be COMPLEX (skip if SIMPLE)
|
|
19
|
-
- `gitUser` - git user name for file header
|
|
20
|
-
- `date` - DD.MM.YYYY format
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## PRE-CHECK
|
|
25
|
-
|
|
26
|
-
1. **Complexity gate**: If `complexity` is SIMPLE → skip this phase entirely (no Configuration = no modifiers to forward).
|
|
27
|
-
|
|
28
|
-
2. **Verify files exist**:
|
|
29
|
-
```
|
|
30
|
-
{componentLocation}/{ComponentName}.swift - View (Phase 4B)
|
|
31
|
-
{componentLocation}/{ComponentName}Configuration.swift - Configuration (Phase 4A)
|
|
32
|
-
```
|
|
33
|
-
Both must exist. Missing → HALT.
|
|
34
|
-
|
|
35
|
-
3. **Read Configuration**: Parse all `public let` properties from `{ComponentName}Configuration.swift`. Extract:
|
|
36
|
-
- Property name
|
|
37
|
-
- Property type
|
|
38
|
-
- Whether it's optional (e.g., `Image?`)
|
|
39
|
-
|
|
40
|
-
HALT if pre-check fails:
|
|
41
|
-
```
|
|
42
|
-
STATUS: HALT
|
|
43
|
-
PHASE: phase-4e
|
|
44
|
-
GATE: PRE_CHECK
|
|
45
|
-
REASON: {ComponentName}Configuration.swift not found. Phase 4A must complete first.
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## ARCHITECTURAL RULE - Configuration Purity
|
|
51
|
-
|
|
52
|
-
**Configuration structs hold ONLY declarative, value-type properties.**
|
|
53
|
-
|
|
54
|
-
The following MUST NOT be in Configuration - they are direct View dependencies:
|
|
55
|
-
|
|
56
|
-
| Excluded Type | Reason | Where It Lives |
|
|
57
|
-
|---------------|--------|----------------|
|
|
58
|
-
| Closures (`() -> Void`, `(T) -> Void`) | Side effects, not declarative state | View property: `private let action: () -> Void` |
|
|
59
|
-
| `@Binding` / `Binding<T>` | Reference semantics, not value type | View property: `@Binding var isPresented: Bool` |
|
|
60
|
-
| `@State` / `@ObservedObject` | SwiftUI state management | View property |
|
|
61
|
-
| `AnyView` / `@ViewBuilder` closures | View composition, not configuration | View property or generic parameter |
|
|
62
|
-
|
|
63
|
-
**Consequence for +Modifiers:** Only Configuration properties get forwarding methods. View dependencies (closures, bindings) are set at init time or via paired modifiers (Phase 4B). Paired modifiers (data+closure combined) live in the View file, not in +Modifiers.
|
|
64
|
-
|
|
65
|
-
**CRITICAL - Skip rules for forwarding modifiers:**
|
|
66
|
-
1. **Coexistent/paired properties (PAIRED_ACTION_SUBCOMPONENT):** Do NOT generate forwarding modifiers for config properties that are the data half of a paired modifier (e.g., `secondaryButtonTitle`). Setting title without action creates a nonsensical state. These are ONLY set via paired modifiers in the View file (e.g., `.secondaryButton(title) { action }`).
|
|
67
|
-
2. **Init-param properties:** Do NOT generate forwarding modifiers for config properties that are required init parameters (e.g., `primaryButtonTitle`). These are set once at construction and should not be modified after init.
|
|
68
|
-
|
|
69
|
-
**`configured()` is internal API.** It is used ONLY inside +Modifiers forwarding methods and paired modifiers. Consumers use the named forwarding modifiers (`.state()`, `.title()`) and paired modifiers (`.secondaryButton(title) { action }`). Never expose `configured()` in Code Connect, previews, or usage examples.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## GATE 1: GENERATE_MODIFIERS_FILE
|
|
74
|
-
|
|
75
|
-
### 1.1 File Location
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
{componentLocation}/{ComponentName}+Modifiers.swift
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### 1.2 Template
|
|
82
|
-
|
|
83
|
-
```swift
|
|
84
|
-
//
|
|
85
|
-
// {ComponentName}+Modifiers.swift
|
|
86
|
-
// UIComponents
|
|
87
|
-
//
|
|
88
|
-
// Created by {gitUser} on {date}.
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
import SwiftUI
|
|
92
|
-
|
|
93
|
-
// MARK: - {ComponentName} Modifiers
|
|
94
|
-
|
|
95
|
-
extension {ComponentName} {
|
|
96
|
-
|
|
97
|
-
/// Returns a new {ComponentName} with the specified {propertyName}.
|
|
98
|
-
///
|
|
99
|
-
/// - Parameter {paramName}: {brief description from Configuration doc comment}
|
|
100
|
-
/// - Returns: A new {ComponentName} instance with the updated {propertyName}
|
|
101
|
-
public func {methodName}(_ value: {PropertyType}) -> {ComponentName} {
|
|
102
|
-
configured { $0.{configMethodName}(value) }
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### 1.3 Method Generation Rules
|
|
108
|
-
|
|
109
|
-
For each `public let` property in the Configuration:
|
|
110
|
-
|
|
111
|
-
| Configuration Property | Generated Method |
|
|
112
|
-
|------------------------|-----------------|
|
|
113
|
-
| `let title: String` | `func title(_ value: String) -> Self` |
|
|
114
|
-
| `let style: Style` | `func style(_ value: {ComponentName}Configuration.Style) -> Self` |
|
|
115
|
-
| `let icon: Image?` | `func icon(_ value: Image?) -> Self` |
|
|
116
|
-
|
|
117
|
-
**Naming rules:**
|
|
118
|
-
- Method name = property name (same as Configuration chain modifier)
|
|
119
|
-
- Parameter label: `_ value` (unlabeled, matches Configuration pattern)
|
|
120
|
-
- Return type: the concrete View type (e.g., `TurkishButton`), NOT `Self` or `some View`
|
|
121
|
-
- Nested enum types: use fully qualified path from Configuration (e.g., `TurkishButtonConfiguration.Style`)
|
|
122
|
-
|
|
123
|
-
**Body**: Always delegates to `configured { $0.{propertyName}(value) }`.
|
|
124
|
-
|
|
125
|
-
### 1.4 Localized String Overloads
|
|
126
|
-
|
|
127
|
-
For each `String` property that does NOT have `@IgnoreLocalization` on the Configuration:
|
|
128
|
-
|
|
129
|
-
```swift
|
|
130
|
-
/// Returns a new {ComponentName} with a localized {propertyName}.
|
|
131
|
-
///
|
|
132
|
-
/// - Parameter value: The localization key to resolve
|
|
133
|
-
/// - Returns: A new {ComponentName} instance with the localized {propertyName}
|
|
134
|
-
public func {methodName}(localized value: LocalizationStringKey) -> {ComponentName} {
|
|
135
|
-
configured { $0.{configMethodName}(localized: value) }
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
If any localized overload is generated, add `import CoreLocalization` to the file imports.
|
|
140
|
-
|
|
141
|
-
### 1.5 Skip Rules
|
|
142
|
-
|
|
143
|
-
Do NOT generate a modifier for properties marked with `@IgnoreChainModifier` in the Configuration.
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## GATE 2: VALIDATE
|
|
148
|
-
|
|
149
|
-
1. **File exists**: `{componentLocation}/{ComponentName}+Modifiers.swift`
|
|
150
|
-
2. **Method count**: Number of generated methods ≥ number of Configuration `public let` properties (excluding `@IgnoreChainModifier`)
|
|
151
|
-
3. **No closures/bindings**: Verify no method accepts closure or Binding parameter types
|
|
152
|
-
4. **Build check**: The file should compile (validated in Phase 4 orchestrator build step)
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## GATE 3: UPDATE_PREVIEW
|
|
157
|
-
|
|
158
|
-
After generating the +Modifiers file, check if the Preview structs in `{ComponentName}.swift` can benefit from the new API. Do NOT change Preview - it should continue using the `{ config in ... }` pattern for clarity. The +Modifiers API is for call-site usage, not previews.
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## EXAMPLE OUTPUT
|
|
163
|
-
|
|
164
|
-
For `TurkishButton` with Configuration properties `title`, `style`, `size`, `colorTheme`, `icon`, `iconPosition`:
|
|
165
|
-
|
|
166
|
-
```swift
|
|
167
|
-
//
|
|
168
|
-
// TurkishButton+Modifiers.swift
|
|
169
|
-
// UIComponents
|
|
170
|
-
//
|
|
171
|
-
// Created by SELAHATTIN MUHAMMET DULGEROGLU on 03.03.2026.
|
|
172
|
-
//
|
|
173
|
-
|
|
174
|
-
import CoreLocalization
|
|
175
|
-
import SwiftUI
|
|
176
|
-
|
|
177
|
-
// MARK: - TurkishButton Modifiers
|
|
178
|
-
|
|
179
|
-
extension TurkishButton {
|
|
180
|
-
|
|
181
|
-
/// Returns a new TurkishButton with the specified title.
|
|
182
|
-
///
|
|
183
|
-
/// - Parameter value: The button title text
|
|
184
|
-
/// - Returns: A new TurkishButton instance with the updated title
|
|
185
|
-
public func title(_ value: String) -> TurkishButton {
|
|
186
|
-
configured { $0.title(value) }
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/// Returns a new TurkishButton with a localized title.
|
|
190
|
-
///
|
|
191
|
-
/// - Parameter value: The localization key to resolve
|
|
192
|
-
/// - Returns: A new TurkishButton instance with the localized title
|
|
193
|
-
public func title(localized value: LocalizationStringKey) -> TurkishButton {
|
|
194
|
-
configured { $0.title(localized: value) }
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/// Returns a new TurkishButton with the specified style.
|
|
198
|
-
///
|
|
199
|
-
/// - Parameter value: The visual style (primary, secondary, ghost)
|
|
200
|
-
/// - Returns: A new TurkishButton instance with the updated style
|
|
201
|
-
public func style(_ value: TurkishButtonConfiguration.Style) -> TurkishButton {
|
|
202
|
-
configured { $0.style(value) }
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/// Returns a new TurkishButton with the specified size.
|
|
206
|
-
///
|
|
207
|
-
/// - Parameter value: The button size (xlarge, default, medium, small)
|
|
208
|
-
/// - Returns: A new TurkishButton instance with the updated size
|
|
209
|
-
public func size(_ value: TurkishButtonConfiguration.Size) -> TurkishButton {
|
|
210
|
-
configured { $0.size(value) }
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/// Returns a new TurkishButton with the specified color theme.
|
|
214
|
-
///
|
|
215
|
-
/// - Parameter value: The color theme (brand, white)
|
|
216
|
-
/// - Returns: A new TurkishButton instance with the updated color theme
|
|
217
|
-
public func colorTheme(_ value: TurkishButtonConfiguration.ColorTheme) -> TurkishButton {
|
|
218
|
-
configured { $0.colorTheme(value) }
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/// Returns a new TurkishButton with the specified icon.
|
|
222
|
-
///
|
|
223
|
-
/// - Parameter value: The icon image, or `nil` to hide
|
|
224
|
-
/// - Returns: A new TurkishButton instance with the updated icon
|
|
225
|
-
public func icon(_ value: Image?) -> TurkishButton {
|
|
226
|
-
configured { $0.icon(value) }
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/// Returns a new TurkishButton with the specified icon position.
|
|
230
|
-
///
|
|
231
|
-
/// - Parameter value: The icon position (leading, trailing)
|
|
232
|
-
/// - Returns: A new TurkishButton instance with the updated icon position
|
|
233
|
-
public func iconPosition(_ value: TurkishButtonConfiguration.IconPosition) -> TurkishButton {
|
|
234
|
-
configured { $0.iconPosition(value) }
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
**Call-site usage becomes:**
|
|
240
|
-
```swift
|
|
241
|
-
// Before (configuration closure):
|
|
242
|
-
TurkishButton { $0.title("Book Now").style(.primary).size(.xlarge) } action: { }
|
|
243
|
-
|
|
244
|
-
// After (+Modifiers):
|
|
245
|
-
TurkishButton(action: { })
|
|
246
|
-
.title("Book Now")
|
|
247
|
-
.style(.primary)
|
|
248
|
-
.size(.xlarge)
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## SUCCESS OUTPUT
|
|
254
|
-
|
|
255
|
-
```
|
|
256
|
-
STATUS: COMPLETE
|
|
257
|
-
PHASE: phase-4e
|
|
258
|
-
GATES_PASSED: [PRE_CHECK, GENERATE_MODIFIERS_FILE, VALIDATE, UPDATE_PREVIEW]
|
|
259
|
-
ARTIFACTS_CREATED:
|
|
260
|
-
- {componentLocation}/{ComponentName}+Modifiers.swift
|
|
261
|
-
SUMMARY: Generated {COUNT} modifier methods forwarding Configuration properties. Closures/Bindings excluded per architectural rule.
|
|
262
|
-
```
|