@mmerterden/multi-agent-pipeline 8.6.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 +2623 -0
- package/LICENSE +21 -0
- package/README.md +852 -0
- package/docs/FIGMA_PIPELINE.md +138 -0
- package/docs/GENERICITY-REVIEW.md +277 -0
- package/docs/STABILITY-FIX-PLAN.md +168 -0
- package/docs/adr/0001-three-model-triage.md +81 -0
- package/docs/adr/0002-instruction-driven-flag.md +62 -0
- package/docs/adr/0003-unified-shared-skills.md +55 -0
- package/docs/adr/0004-zero-dependency-philosophy.md +60 -0
- package/docs/adr/0005-lazy-phase-docs.md +68 -0
- package/docs/adr/0006-skills-core-external-split.md +52 -0
- package/docs/adr/0007-multi-tool-adapter-framework.md +110 -0
- package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +98 -0
- package/docs/adr/README.md +33 -0
- package/docs/architecture.md +181 -0
- package/docs/best-practices.md +93 -0
- package/docs/features.md +274 -0
- package/docs/performance.md +116 -0
- package/docs/recovery-guide.md +479 -0
- package/index.js +76 -0
- package/install/_adapters.mjs +69 -0
- package/install/_common.mjs +150 -0
- package/install/_copilot-instructions.mjs +32 -0
- package/install/_dev-only-files.mjs +23 -0
- package/install/_platform-filter.mjs +132 -0
- package/install/_telemetry.mjs +79 -0
- package/install/claude.mjs +332 -0
- package/install/copilot.mjs +254 -0
- package/install/index.mjs +179 -0
- package/install/templates/copilot-instructions.md +319 -0
- package/install.js +24 -0
- package/package.json +78 -0
- package/pipeline/adapters/_base.mjs +288 -0
- package/pipeline/adapters/copilot-chat.mjs +158 -0
- package/pipeline/adapters/cursor.mjs +187 -0
- package/pipeline/agents/android-architect.md +42 -0
- package/pipeline/agents/backend-architect.md +43 -0
- package/pipeline/agents/code-reviewer.md +57 -0
- package/pipeline/agents/dev-critic.md +148 -0
- package/pipeline/agents/explorer.md +34 -0
- package/pipeline/agents/ios-architect.md +41 -0
- package/pipeline/agents/security-auditor.md +98 -0
- package/pipeline/agents/task-clarifier.md +113 -0
- package/pipeline/claude-md-template.md +55 -0
- package/pipeline/commands/archive-guard.md +45 -0
- package/pipeline/commands/deploy.md +54 -0
- package/pipeline/commands/figma-to-swiftui.md +295 -0
- package/pipeline/commands/multi-agent/_account-picker.md +90 -0
- package/pipeline/commands/multi-agent/_dev-context.md +111 -0
- package/pipeline/commands/multi-agent/_input-parser.md +43 -0
- package/pipeline/commands/multi-agent/_repo-picker.md +76 -0
- package/pipeline/commands/multi-agent/autopilot.md +116 -0
- package/pipeline/commands/multi-agent/channels.md +465 -0
- package/pipeline/commands/multi-agent/delete.md +66 -0
- package/pipeline/commands/multi-agent/dev-autopilot.md +120 -0
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +110 -0
- package/pipeline/commands/multi-agent/dev-local.md +105 -0
- package/pipeline/commands/multi-agent/dev.md +246 -0
- package/pipeline/commands/multi-agent/diff-explain.md +68 -0
- package/pipeline/commands/multi-agent/help.md +422 -0
- package/pipeline/commands/multi-agent/issue.md +79 -0
- package/pipeline/commands/multi-agent/jira.md +132 -0
- package/pipeline/commands/multi-agent/kill.md +38 -0
- package/pipeline/commands/multi-agent/language.md +94 -0
- package/pipeline/commands/multi-agent/local-autopilot.md +139 -0
- package/pipeline/commands/multi-agent/local.md +117 -0
- package/pipeline/commands/multi-agent/log.md +25 -0
- package/pipeline/commands/multi-agent/manual-test.md +43 -0
- package/pipeline/commands/multi-agent/purge.md +39 -0
- package/pipeline/commands/multi-agent/refactor.md +188 -0
- package/pipeline/commands/multi-agent/refs/android-guide.md +250 -0
- package/pipeline/commands/multi-agent/refs/audit-guide.md +240 -0
- package/pipeline/commands/multi-agent/refs/backend-guide.md +135 -0
- package/pipeline/commands/multi-agent/refs/channels/confluence.md +153 -0
- package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +141 -0
- package/pipeline/commands/multi-agent/refs/channels/jira.md +127 -0
- package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +135 -0
- package/pipeline/commands/multi-agent/refs/channels/pr.md +139 -0
- package/pipeline/commands/multi-agent/refs/channels/wiki.md +66 -0
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +92 -0
- package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +326 -0
- package/pipeline/commands/multi-agent/refs/frontend-guide.md +136 -0
- package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +104 -0
- package/pipeline/commands/multi-agent/refs/keychain.md +80 -0
- package/pipeline/commands/multi-agent/refs/knowledge.md +112 -0
- package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +207 -0
- package/pipeline/commands/multi-agent/refs/phases/log-format.md +89 -0
- package/pipeline/commands/multi-agent/refs/phases/modes.md +156 -0
- package/pipeline/commands/multi-agent/refs/phases/operations.md +91 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +481 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +264 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +278 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +364 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +378 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +129 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +339 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +361 -0
- package/pipeline/commands/multi-agent/refs/phases.md +187 -0
- package/pipeline/commands/multi-agent/refs/progress-contract.md +155 -0
- package/pipeline/commands/multi-agent/refs/rules.md +189 -0
- package/pipeline/commands/multi-agent/refs/swiftui-guide.md +254 -0
- package/pipeline/commands/multi-agent/refs/tracker-contract.md +256 -0
- package/pipeline/commands/multi-agent/refs/wiki-capture.md +109 -0
- package/pipeline/commands/multi-agent/resume.md +28 -0
- package/pipeline/commands/multi-agent/review.md +228 -0
- package/pipeline/commands/multi-agent/scan.md +74 -0
- package/pipeline/commands/multi-agent/search.md +97 -0
- package/pipeline/commands/multi-agent/setup.md +767 -0
- package/pipeline/commands/multi-agent/stack.md +48 -0
- package/pipeline/commands/multi-agent/status.md +38 -0
- package/pipeline/commands/multi-agent/sync.md +319 -0
- package/pipeline/commands/multi-agent/test.md +39 -0
- package/pipeline/commands/multi-agent/update.md +88 -0
- package/pipeline/commands/multi-agent.md +293 -0
- package/pipeline/commands/security-review.md +6 -0
- package/pipeline/commands/sim-test.md +256 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +25 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +30 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +12 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +43 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +35 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +35 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +12 -0
- package/pipeline/eval/golden-tasks/README.md +65 -0
- package/pipeline/eval/triage/01-empty-findings/expected.json +6 -0
- package/pipeline/eval/triage/01-empty-findings/input.json +5 -0
- package/pipeline/eval/triage/01-empty-findings/notes.md +7 -0
- package/pipeline/eval/triage/02-real-blocker/expected.json +15 -0
- package/pipeline/eval/triage/02-real-blocker/input.json +14 -0
- package/pipeline/eval/triage/02-real-blocker/notes.md +7 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +18 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/input.json +14 -0
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +10 -0
- package/pipeline/eval/triage/04-false-positive-reject/expected.json +18 -0
- package/pipeline/eval/triage/04-false-positive-reject/input.json +14 -0
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +10 -0
- package/pipeline/eval/triage/05-mixed-classification/expected.json +43 -0
- package/pipeline/eval/triage/05-mixed-classification/input.json +38 -0
- package/pipeline/eval/triage/05-mixed-classification/notes.md +17 -0
- package/pipeline/eval/triage/06-severity-mismatch/expected.json +15 -0
- package/pipeline/eval/triage/06-severity-mismatch/input.json +14 -0
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +9 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +27 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/input.json +22 -0
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +9 -0
- package/pipeline/eval/triage/08-style-misclassified/expected.json +18 -0
- package/pipeline/eval/triage/08-style-misclassified/input.json +14 -0
- package/pipeline/eval/triage/08-style-misclassified/notes.md +9 -0
- package/pipeline/eval/triage/09-cascading-finding/expected.json +23 -0
- package/pipeline/eval/triage/09-cascading-finding/input.json +22 -0
- package/pipeline/eval/triage/09-cascading-finding/notes.md +9 -0
- package/pipeline/eval/triage/10-deferred-crossref/expected.json +18 -0
- package/pipeline/eval/triage/10-deferred-crossref/input.json +14 -0
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +9 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +27 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +22 -0
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +14 -0
- package/pipeline/eval/triage/README.md +54 -0
- package/pipeline/lib/account-resolver.sh +204 -0
- package/pipeline/lib/channels-multi-repo.sh +218 -0
- package/pipeline/lib/context-link-extractor.sh +192 -0
- package/pipeline/lib/credential-store-resolver.sh +57 -0
- package/pipeline/lib/credential-store.sh +226 -0
- package/pipeline/lib/fetch-confluence.sh +358 -0
- package/pipeline/lib/fetch-crashlytics.sh +314 -0
- package/pipeline/lib/fetch-fortify.sh +321 -0
- package/pipeline/lib/fetch-swagger.sh +270 -0
- package/pipeline/lib/issue-fetcher.sh +333 -0
- package/pipeline/lib/multi-repo-pipeline.sh +252 -0
- package/pipeline/lib/plan-todos.sh +284 -0
- package/pipeline/lib/post-pr-review.sh +374 -0
- package/pipeline/lib/repo-cache.sh +231 -0
- package/pipeline/lib/review-watch.sh +244 -0
- package/pipeline/lib/shadow-git.sh +222 -0
- package/pipeline/lib/submodule-detector.sh +177 -0
- package/pipeline/lib/vercel-deploy.sh +170 -0
- package/pipeline/preferences-template.json +132 -0
- package/pipeline/rules/app-store-guidelines.md +59 -0
- package/pipeline/rules/code-review.md +27 -0
- package/pipeline/rules/code-style.md +37 -0
- package/pipeline/rules/debugging.md +24 -0
- package/pipeline/rules/figma-pipeline.md +190 -0
- package/pipeline/rules/git-conventions.md +29 -0
- package/pipeline/rules/kotlin-android.md +92 -0
- package/pipeline/rules/performance.md +23 -0
- package/pipeline/rules/security.md +39 -0
- package/pipeline/rules/swiftui-qa.md +32 -0
- package/pipeline/rules/tdd.md +25 -0
- package/pipeline/rules/testing.md +37 -0
- package/pipeline/schemas/agent-state.schema.json +273 -0
- package/pipeline/schemas/analysis-output.schema.json +59 -0
- package/pipeline/schemas/clarify-output.schema.json +74 -0
- package/pipeline/schemas/dev-critic-output.schema.json +104 -0
- package/pipeline/schemas/diff-risk.schema.json +78 -0
- package/pipeline/schemas/figma-project-config.schema.json +372 -0
- package/pipeline/schemas/migrations/README.md +73 -0
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +112 -0
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +75 -0
- package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +64 -0
- package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +36 -0
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +34 -0
- package/pipeline/schemas/plan-todos.schema.json +62 -0
- package/pipeline/schemas/planning-output.schema.json +57 -0
- package/pipeline/schemas/prefs.schema.json +1137 -0
- package/pipeline/schemas/reviewer-output.schema.json +55 -0
- package/pipeline/schemas/test-gap.schema.json +64 -0
- package/pipeline/schemas/token-budget.json +17 -0
- package/pipeline/schemas/triage-corpus.schema.json +31 -0
- package/pipeline/schemas/triage-output.schema.json +115 -0
- package/pipeline/scripts/.last-figma-sync-plan.json +23 -0
- package/pipeline/scripts/README-figma-smokes.md +34 -0
- package/pipeline/scripts/README.md +104 -0
- package/pipeline/scripts/aggregate-metrics.mjs +310 -0
- package/pipeline/scripts/audit-log-rotate.sh +61 -0
- package/pipeline/scripts/audit-log.sh +69 -0
- package/pipeline/scripts/benchmark-phase-0.sh +128 -0
- package/pipeline/scripts/build-skills-index.mjs +139 -0
- package/pipeline/scripts/classify-plan-safety.mjs +177 -0
- package/pipeline/scripts/cost-table.json +27 -0
- package/pipeline/scripts/diff-explain.mjs +276 -0
- package/pipeline/scripts/diff-risk-score.mjs +328 -0
- package/pipeline/scripts/eval-golden-tasks-live.mjs +294 -0
- package/pipeline/scripts/eval-golden-tasks.mjs +223 -0
- package/pipeline/scripts/eval-triage.mjs +171 -0
- package/pipeline/scripts/figma-placeholder-map.json +191 -0
- package/pipeline/scripts/fixtures/diff-risk-android.diff +40 -0
- package/pipeline/scripts/fixtures/diff-risk-ios.diff +48 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +16 -0
- package/pipeline/scripts/fixtures/test-gap-node.diff +30 -0
- package/pipeline/scripts/fixtures/test-gap-python.diff +32 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +170 -0
- package/pipeline/scripts/gen-skills-index.mjs +90 -0
- package/pipeline/scripts/github-ssh-setup.sh +103 -0
- package/pipeline/scripts/import-figma-skills.sh +253 -0
- package/pipeline/scripts/keychain-save.sh +74 -0
- package/pipeline/scripts/keychain.py +294 -0
- package/pipeline/scripts/log-metric.sh +98 -0
- package/pipeline/scripts/match-skills.mjs +167 -0
- package/pipeline/scripts/memory-load.sh +46 -0
- package/pipeline/scripts/memory-save.sh +76 -0
- package/pipeline/scripts/migrate-prefs.mjs +390 -0
- package/pipeline/scripts/migrate-state.mjs +215 -0
- package/pipeline/scripts/output-quality-check.sh +125 -0
- package/pipeline/scripts/phase-banner.sh +158 -0
- package/pipeline/scripts/phase-tracker.sh +548 -0
- package/pipeline/scripts/pre-commit-check.sh +69 -0
- package/pipeline/scripts/pre-push-check.sh +77 -0
- package/pipeline/scripts/render-agent-log-cost.sh +149 -0
- package/pipeline/scripts/render-cost-summary.sh +137 -0
- package/pipeline/scripts/render-work-summary.sh +195 -0
- package/pipeline/scripts/repo-map.mjs +367 -0
- package/pipeline/scripts/run-aggregator.mjs +298 -0
- package/pipeline/scripts/scan-skills.sh +332 -0
- package/pipeline/scripts/search-logs.sh +291 -0
- package/pipeline/scripts/sign-skills.sh +67 -0
- package/pipeline/scripts/smoke-adapters.sh +207 -0
- package/pipeline/scripts/smoke-add-detail.sh +137 -0
- package/pipeline/scripts/smoke-agent-log-cost.sh +183 -0
- package/pipeline/scripts/smoke-agent-model-routing.sh +87 -0
- package/pipeline/scripts/smoke-bitbucket-contract.sh +223 -0
- package/pipeline/scripts/smoke-channels-flow.sh +130 -0
- package/pipeline/scripts/smoke-ci-workflows.sh +88 -0
- package/pipeline/scripts/smoke-clarify.sh +148 -0
- package/pipeline/scripts/smoke-commands-skills-parity.sh +87 -0
- package/pipeline/scripts/smoke-compliance-skills.sh +119 -0
- package/pipeline/scripts/smoke-cost-summary.sh +139 -0
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +198 -0
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +128 -0
- package/pipeline/scripts/smoke-delete-flow.sh +151 -0
- package/pipeline/scripts/smoke-dev-critic.sh +144 -0
- package/pipeline/scripts/smoke-diff-explain.sh +128 -0
- package/pipeline/scripts/smoke-diff-risk.sh +161 -0
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +160 -0
- package/pipeline/scripts/smoke-eval-live.sh +136 -0
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +71 -0
- package/pipeline/scripts/smoke-figma-android-parity.sh +148 -0
- package/pipeline/scripts/smoke-figma-config-schema.sh +144 -0
- package/pipeline/scripts/smoke-figma-credential-store.sh +105 -0
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +177 -0
- package/pipeline/scripts/smoke-figma-dispatch.sh +123 -0
- package/pipeline/scripts/smoke-figma-skill-import.sh +174 -0
- package/pipeline/scripts/smoke-figma-sync.sh +149 -0
- package/pipeline/scripts/smoke-identity-isolation.sh +70 -0
- package/pipeline/scripts/smoke-install-layout.sh +241 -0
- package/pipeline/scripts/smoke-install-leak-gate.sh +125 -0
- package/pipeline/scripts/smoke-issue-comment-template.sh +86 -0
- package/pipeline/scripts/smoke-issue-jira-triad.sh +120 -0
- package/pipeline/scripts/smoke-keychain.sh +158 -0
- package/pipeline/scripts/smoke-language-axis.sh +109 -0
- package/pipeline/scripts/smoke-lib-scripts.sh +395 -0
- package/pipeline/scripts/smoke-migrate-state.sh +102 -0
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +158 -0
- package/pipeline/scripts/smoke-multi-repo-integration.sh +116 -0
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +61 -0
- package/pipeline/scripts/smoke-no-token-prompt.sh +69 -0
- package/pipeline/scripts/smoke-pat-audit.sh +107 -0
- package/pipeline/scripts/smoke-per-repo-memory.sh +156 -0
- package/pipeline/scripts/smoke-personal-data.sh +82 -0
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +170 -0
- package/pipeline/scripts/smoke-phase-6-multi.sh +79 -0
- package/pipeline/scripts/smoke-phase-banner.sh +101 -0
- package/pipeline/scripts/smoke-phase-tracker.sh +255 -0
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +241 -0
- package/pipeline/scripts/smoke-phase4-triage.sh +142 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +71 -0
- package/pipeline/scripts/smoke-plan-safety.sh +139 -0
- package/pipeline/scripts/smoke-plan-todos.sh +193 -0
- package/pipeline/scripts/smoke-pr-review-actions.sh +152 -0
- package/pipeline/scripts/smoke-pre-commit.sh +138 -0
- package/pipeline/scripts/smoke-pref-migration.sh +224 -0
- package/pipeline/scripts/smoke-prefs-language.sh +134 -0
- package/pipeline/scripts/smoke-progress-contract.sh +118 -0
- package/pipeline/scripts/smoke-push-retry.sh +75 -0
- package/pipeline/scripts/smoke-readme-counts.sh +120 -0
- package/pipeline/scripts/smoke-repo-map.sh +300 -0
- package/pipeline/scripts/smoke-review-watch.sh +134 -0
- package/pipeline/scripts/smoke-run-aggregator.sh +216 -0
- package/pipeline/scripts/smoke-schema-validation.sh +173 -0
- package/pipeline/scripts/smoke-search.sh +187 -0
- package/pipeline/scripts/smoke-shadow-git.sh +175 -0
- package/pipeline/scripts/smoke-skill-authoring.sh +142 -0
- package/pipeline/scripts/smoke-skill-language.sh +83 -0
- package/pipeline/scripts/smoke-skill-manifest.sh +138 -0
- package/pipeline/scripts/smoke-skill-scan.sh +198 -0
- package/pipeline/scripts/smoke-stack-swap.sh +132 -0
- package/pipeline/scripts/smoke-subagent-validators.sh +105 -0
- package/pipeline/scripts/smoke-sync-delegation.sh +74 -0
- package/pipeline/scripts/smoke-sync-parity.sh +92 -0
- package/pipeline/scripts/smoke-tasklist-ordering.sh +111 -0
- package/pipeline/scripts/smoke-telemetry.sh +147 -0
- package/pipeline/scripts/smoke-test-gap.sh +183 -0
- package/pipeline/scripts/smoke-token-budget.sh +67 -0
- package/pipeline/scripts/smoke-tracker-contract.sh +129 -0
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +65 -0
- package/pipeline/scripts/smoke-triage-memory.sh +174 -0
- package/pipeline/scripts/smoke-url-enrichment.sh +70 -0
- package/pipeline/scripts/smoke-validator-contradiction.sh +67 -0
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +129 -0
- package/pipeline/scripts/smoke-wiki-integration.sh +146 -0
- package/pipeline/scripts/smoke-work-summary.sh +163 -0
- package/pipeline/scripts/smoke-worktree-path-convention.sh +86 -0
- package/pipeline/scripts/smoke-write-state.sh +115 -0
- package/pipeline/scripts/stack-swap.sh +182 -0
- package/pipeline/scripts/sync-figma-source.sh +228 -0
- package/pipeline/scripts/sync-parity-check.sh +135 -0
- package/pipeline/scripts/test-gap-rules/android.json +25 -0
- package/pipeline/scripts/test-gap-rules/ios.json +29 -0
- package/pipeline/scripts/test-gap-rules/node.json +17 -0
- package/pipeline/scripts/test-gap-rules/python.json +19 -0
- package/pipeline/scripts/test-gap-scan.mjs +343 -0
- package/pipeline/scripts/token-budget-report.mjs +145 -0
- package/pipeline/scripts/triage-memory.mjs +258 -0
- package/pipeline/scripts/ui-tree-dumper.swift +122 -0
- package/pipeline/scripts/uninstall.mjs +331 -0
- package/pipeline/scripts/update-issue-progress.sh +146 -0
- package/pipeline/scripts/validate-analysis.mjs +132 -0
- package/pipeline/scripts/validate-diff-risk.mjs +117 -0
- package/pipeline/scripts/validate-planning.mjs +180 -0
- package/pipeline/scripts/validate-reviewer.mjs +131 -0
- package/pipeline/scripts/validate-schemas.mjs +88 -0
- package/pipeline/scripts/validate-test-gap.mjs +90 -0
- package/pipeline/scripts/validate-triage.mjs +175 -0
- package/pipeline/scripts/verify-skills.sh +126 -0
- package/pipeline/scripts/write-state.mjs +175 -0
- package/pipeline/skills/.skill-manifest.json +779 -0
- package/pipeline/skills/.skills-index.json +1771 -0
- package/pipeline/skills/figma-android/README.md +36 -0
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +62 -0
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +158 -0
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +120 -0
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +35 -0
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +124 -0
- package/pipeline/skills/figma-common/README.md +57 -0
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +277 -0
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +498 -0
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +283 -0
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +362 -0
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +206 -0
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +337 -0
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +211 -0
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +218 -0
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +246 -0
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +73 -0
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +316 -0
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +542 -0
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +745 -0
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +203 -0
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +1015 -0
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +331 -0
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +398 -0
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +104 -0
- package/pipeline/skills/figma-common/figma-review/SKILL.md +395 -0
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +514 -0
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +592 -0
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +129 -0
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +104 -0
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +274 -0
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +808 -0
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +633 -0
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +711 -0
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +233 -0
- package/pipeline/skills/figma-common/performance-start/SKILL.md +425 -0
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +706 -0
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +418 -0
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +67 -0
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +178 -0
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +184 -0
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +219 -0
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +274 -0
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +401 -0
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +57 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +307 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +119 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +174 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +333 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +368 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +393 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +617 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +352 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +337 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +206 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +235 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +214 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +871 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +156 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +175 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +333 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +412 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +336 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +695 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +380 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +262 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +482 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +274 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +636 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +142 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +547 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +39 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +659 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +580 -0
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +51 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +129 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +64 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +531 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +89 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +155 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +196 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +57 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +89 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +227 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +157 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +90 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +116 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +153 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +130 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +218 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +188 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +93 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +98 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +261 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +147 -0
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +182 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +185 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +609 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +261 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +184 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +188 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +768 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +191 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +420 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +94 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +336 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +391 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +292 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +1 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +93 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +299 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +343 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +206 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +149 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +281 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +332 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +98 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +298 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +195 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +1298 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +228 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +1089 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +141 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +106 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +162 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +105 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +179 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +260 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +260 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +86 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +321 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +1470 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +176 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +147 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +629 -0
- package/pipeline/skills/shared/README.md +212 -0
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +315 -0
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +348 -0
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +944 -0
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +51 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +300 -0
- package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +63 -0
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +64 -0
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +56 -0
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +36 -0
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +42 -0
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +66 -0
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +292 -0
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +35 -0
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +38 -0
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +41 -0
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +87 -0
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +37 -0
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +53 -0
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +28 -0
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +47 -0
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +42 -0
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +191 -0
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +31 -0
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +62 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +309 -0
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +55 -0
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +41 -0
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +184 -0
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +44 -0
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +34 -0
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +45 -0
- package/pipeline/skills/shared/external/agentflow/SKILL.md +199 -0
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +438 -0
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +584 -0
- package/pipeline/skills/shared/external/android-architecture/SKILL.md +407 -0
- package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +153 -0
- package/pipeline/skills/shared/external/android-performance/SKILL.md +736 -0
- package/pipeline/skills/shared/external/android-security/SKILL.md +577 -0
- package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +66 -0
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +85 -0
- package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +910 -0
- package/pipeline/skills/shared/external/app-clips/SKILL.md +436 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +489 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +1076 -0
- package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +75 -0
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +409 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +411 -0
- package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +259 -0
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +90 -0
- package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +152 -0
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +118 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +500 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +425 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +344 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +508 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +285 -0
- package/pipeline/skills/shared/external/architecture/SKILL.md +60 -0
- package/pipeline/skills/shared/external/authentication/SKILL.md +496 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +211 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +499 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +390 -0
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +461 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +425 -0
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +462 -0
- package/pipeline/skills/shared/external/clean-code/SKILL.md +94 -0
- package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +116 -0
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +492 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +461 -0
- package/pipeline/skills/shared/external/compose-components/SKILL.md +441 -0
- package/pipeline/skills/shared/external/compose-navigation/SKILL.md +436 -0
- package/pipeline/skills/shared/external/compose-testing/SKILL.md +527 -0
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +425 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +409 -0
- package/pipeline/skills/shared/external/context-compression/SKILL.md +266 -0
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +491 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +435 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +388 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +405 -0
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +495 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +420 -0
- package/pipeline/skills/shared/external/coreml/SKILL.md +458 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +765 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +467 -0
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +335 -0
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +422 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +387 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +298 -0
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +37 -0
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +477 -0
- package/pipeline/skills/shared/external/docker-expert/SKILL.md +413 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +460 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +541 -0
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +483 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +326 -0
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +190 -0
- package/pipeline/skills/shared/external/firebase/SKILL.md +61 -0
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +348 -0
- package/pipeline/skills/shared/external/gradle-kotlin-dsl/SKILL.md +552 -0
- package/pipeline/skills/shared/external/healthkit/SKILL.md +498 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +602 -0
- package/pipeline/skills/shared/external/help-skills/SKILL.md +166 -0
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +81 -0
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +95 -0
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +82 -0
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +101 -0
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +94 -0
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +110 -0
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +99 -0
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +81 -0
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +125 -0
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +496 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +455 -0
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +301 -0
- package/pipeline/skills/shared/external/humanizer/SKILL.md +118 -0
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +301 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +140 -0
- package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +59 -0
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +217 -0
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +418 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +627 -0
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +462 -0
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +441 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +862 -0
- package/pipeline/skills/shared/external/ios-networking/references/lightweight-clients.md +93 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +563 -0
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +1116 -0
- package/pipeline/skills/shared/external/ios-security/SKILL.md +496 -0
- package/pipeline/skills/shared/external/ios-security/references/app-review-guidelines.md +174 -0
- package/pipeline/skills/shared/external/ios-security/references/cryptokit-advanced.md +297 -0
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +354 -0
- package/pipeline/skills/shared/external/ios-security/references/privacy-manifest.md +117 -0
- package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +101 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +500 -0
- package/pipeline/skills/shared/external/live-activities/references/live-activity-patterns.md +868 -0
- package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +109 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +110 -0
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +485 -0
- package/pipeline/skills/shared/external/mapkit-location/references/corelocation-patterns.md +730 -0
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +748 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +479 -0
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +64 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +395 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +363 -0
- package/pipeline/skills/shared/external/natural-language/SKILL.md +412 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +311 -0
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +418 -0
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +38 -0
- package/pipeline/skills/shared/external/observability-engineer/SKILL.md +235 -0
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +398 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +254 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +387 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +376 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +302 -0
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +446 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +435 -0
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +501 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/av-playback.md +701 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +774 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +869 -0
- package/pipeline/skills/shared/external/photos-camera-media/references/photospicker-patterns.md +597 -0
- package/pipeline/skills/shared/external/play-store-review/SKILL.md +350 -0
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +501 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +677 -0
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +745 -0
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +383 -0
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +290 -0
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +479 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +480 -0
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +386 -0
- package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +506 -0
- package/pipeline/skills/shared/external/room-database/SKILL.md +564 -0
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +483 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +544 -0
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +485 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +478 -0
- package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +58 -0
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +755 -0
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +487 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +895 -0
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +467 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +408 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +80 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swift-6-2-concurrency.md +233 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +187 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +341 -0
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +113 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +124 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +155 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +67 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +52 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +100 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +107 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +70 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +47 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +129 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +224 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +101 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +218 -0
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +61 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +498 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +505 -0
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +462 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +504 -0
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +97 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +252 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +52 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +34 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +318 -0
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +254 -0
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +334 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +504 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +975 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +675 -0
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +102 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +104 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +10 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +20 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/indexing.md +27 -0
- package/pipeline/skills/shared/external/swiftdata-pro/references/predicates.md +73 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +503 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +821 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +553 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +102 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +403 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +135 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +602 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +203 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +464 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +266 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md +416 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +394 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +318 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +357 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +303 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/performance-patterns.md +403 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/scroll-patterns.md +293 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +417 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +389 -0
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +450 -0
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +425 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +336 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +97 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +69 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +99 -0
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +147 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +98 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +262 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +207 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +177 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/sheets.md +169 -0
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +178 -0
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +371 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +486 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +1097 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +780 -0
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +696 -0
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +487 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +46 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +29 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +33 -0
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +52 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +114 -0
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +108 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +13 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/api.md +39 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/data.md +43 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/design.md +31 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +9 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +14 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +46 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +56 -0
- package/pipeline/skills/shared/external/swiftui-pro/references/views.md +35 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +103 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +428 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +534 -0
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +948 -0
- package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +210 -0
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +273 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/loading-and-observation.md +151 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/local-content-and-custom-schemes.md +95 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +51 -0
- package/pipeline/skills/shared/external/swiftui-webkit/references/navigation-and-javascript.md +111 -0
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +309 -0
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +393 -0
- package/pipeline/skills/shared/external/tipkit/SKILL.md +494 -0
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +782 -0
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +336 -0
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +475 -0
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +736 -0
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +738 -0
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +371 -0
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +410 -0
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +567 -0
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +373 -0
- package/pipeline/skills/shared/external/web-performance/SKILL.md +345 -0
- package/pipeline/skills/shared/external/web-testing/SKILL.md +385 -0
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +497 -0
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +871 -0
- package/pipeline/skills/skills-index.md +205 -0
package/README.md
ADDED
|
@@ -0,0 +1,852 @@
|
|
|
1
|
+
# @mmerterden/multi-agent-pipeline
|
|
2
|
+
|
|
3
|
+
[](https://github.com/mmerterden/multi-agent-pipeline/releases)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
[](https://nodejs.org)
|
|
6
|
+
[](https://github.com/mmerterden/multi-agent-pipeline/blob/main/package.json)
|
|
7
|
+
|
|
8
|
+
8-phase AI development pipeline for **Claude Code** and **Copilot CLI**. Multi-repo orchestration, platform identity routing, push-must-succeed policy, CLI-aware parallel review with Opus triage (Claude Code: 2-model Opus+Sonnet · Copilot CLI: 3-model GPT-5.4+Opus+Sonnet), commit/PR creation — and, as of 5.0.0, a generic Figma-to-Component pipeline that works on iOS (SwiftUI) and Android (Jetpack Compose) with the same workflow.
|
|
9
|
+
|
|
10
|
+
### Current at-a-glance (live from filesystem)
|
|
11
|
+
|
|
12
|
+
| Surface | Count |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Slash commands (colon-form `/multi-agent:*`) | 29 |
|
|
15
|
+
| Copilot skills (dash-form `multi-agent-*`) | 29 |
|
|
16
|
+
| Third-party tool adapters (Tier 2 + Tier 3) | 6 |
|
|
17
|
+
| Store-compliance skills (`apple-archive-compliance`, `google-play-compliance`) | 2 |
|
|
18
|
+
| Figma skills (iOS + Android + Common) | 37 |
|
|
19
|
+
| External skill catalog (`shared/external/`) | 127 |
|
|
20
|
+
| Total `SKILL.md` files across all groups | 196 |
|
|
21
|
+
| Smoke suites | 87 |
|
|
22
|
+
| Golden-task fixtures (`pipeline/eval/golden-tasks/`) | 2 |
|
|
23
|
+
| Eval-triage fixtures | 11 |
|
|
24
|
+
| JSON schemas | 13 |
|
|
25
|
+
| Agent personas | 8 |
|
|
26
|
+
| Pipeline phases | 8 |
|
|
27
|
+
|
|
28
|
+
## What's new
|
|
29
|
+
|
|
30
|
+
Latest release: **v8.5.6** (review-actions contract: inline comments + approve/needs-work + Bitbucket Server, 2026-05-08) — `/multi-agent:review`'in PR-mode kontratı yeniden yazıldı. v8.5.5'in tek-büyük-advisory-yorumu pattern'ı KALDIRILDI; yerine **per-finding inline comment + explicit approve/needs-work state** kontratı geldi. Karar kuralı: 0 accepted blocking AND 0 accepted important → APPROVE (yorum yok). ≥1 → NEEDS_WORK + her accepted blocking/important için inline yorum (anchored to `file:line`). Suggestion'lar PR'a hiç gitmez (chat-only). Bitbucket Server URL'leri artık first-class — full URL parser + REST API ile diff/comment/approve. PR yorum body'leri her zaman `outputLanguage`'e renderlanır (v8.5.5'te EN-only bug'ı vardı). Yeni: `lib/post-pr-review.sh` (provider-aware orchestrator), `refs/channels/pr-review-actions.md` (yeni kanonik kontrat), `smoke-pr-review-actions.sh` (decision rule + lang + provider switch lint). Silinen: `pr-review-comment.md`, `render-pr-review-body.sh`, `smoke-pr-review-comment-template.sh` — fork'lar `post-pr-review.sh "$TASK_ID"` çağrısına geçmeli. Previous: v8.5.5 (review accepts PR input + posts verdict back, 2026-05-08) — `/multi-agent:review` now takes 5 input shapes (empty / branch / `#N` / `repo#N` / full PR URL) and in PR-mode fetches the diff via `gh pr diff` and prompts to post the parallel reviewer verdict as one canonical comment per run. Renderer reads `agent-state.review.*` and emits the body for `gh pr comment --body-file`; new `refs/channels/pr-review-comment.md` template enforces verdict block + per-severity findings + triage notes + build/test + footer marker, with hard prohibitions on `Closes/Fixes/Resolves` keywords, em-dashes in prose, and model vendor names. New smoke gate `smoke-pr-review-comment-template.sh` lints anchors + wiring + input parser. Branch-mode invocations stay chat-only (no auto-post). Previous: v8.5.4 (drop 4 unused adapters, 2026-05-08) — Windsurf, Cline, Zed AI, and Continue.dev knowledge-layer adapters removed because the pipeline owner did not use them; their smoke surface added cost without benefit. Tier 1 (Claude Code + Copilot CLI orchestration) and Tier 2 (Cursor + GitHub Copilot Chat knowledge layer) are unchanged. The adapter base framework (`pipeline/adapters/_base.mjs`) is preserved — re-adding any dropped tool is a one-file PR. Previous: v8.5.3 (Defect 1 picker language axis fully closed, 2026-05-08) — phase docs that drive runtime picker rendering had legacy "ask in English (`promptLanguage`)" wording that overrode the v8.5.1 `rules.md` matrix; user with `outputLanguage="tr"` saw the Phase 6 WIP-checkout picker render in English. Fix narrows `phase-6-commit.md` + `_dev-context.md` + `_repo-picker.md` to the per-field matrix (question + description follow `outputLanguage`; label + header stay English) and adds `smoke-language-axis.sh` to prevent regression. Previous: v8.5.2 (v9 stability defects 5 / 8 / 10 closed, 2026-05-08) — Phase 1.5 Existing-Component Discovery gate prevents silent overwrite of components that already have a Code Connect mapping or an existing source file (5 statuses: `GREENFIELD_OK` / `ALREADY_MAPPED` / `EXISTING_SOURCE_NO_CC` / `AMBIGUOUS_SOURCE` / `GAP_ANALYSIS`); Phase 2 + Phase 6 ENTRY GATEs now consult `discovery.status`. Token telemetry block enforced in phases 1 / 2 / 3 / 4 — every LLM call must invoke `phase-tracker.sh tokens <N> <in> <out>` so live cost shows on the active phase tile. New smoke gates: `smoke-tracker-tokens-invocation`, `smoke-worktree-path-convention` (forbidden `$HOME/.worktrees` patterns), `smoke-existing-discovery-gate`, `smoke-issue-comment-template`, `smoke-no-token-prompt`. Previous: v8.5.1 (stability fixes for 9 GH1241 defects + genericity review, 2026-05-08) — language matrix narrowed (`AskUserQuestion.label` + `header` stay English, `question` + `description` follow `outputLanguage`), canonical `refs/channels/issue-comment.md` template + `update-issue-progress.sh` script (Phase 7 Step 1.5 wires comment + flag sync), `keychain.md` Rule 1 forbids mid-run token prompts (routes to Setup Wizard instead), `phase-tracker.sh` pointer-fallback now warns on concurrent init, `dev.md` Phase 3 dispatch on `taskType==="component"` keeps the figma 17-substep orchestrator running even in `--dev` mode. v8.5.0 added the GitHub Projects v2 board adapter as the 5th channel + figma source incremental sync. v8.4.1 added the provider-aware account picker (Bitbucket / GitHub / GitLab), network reachability gate before the branch picker, Phase 6 PR creation contract with default reviewers, and the explicit `promptLanguage=en` (spec docs) / `outputLanguage=user-selectable` (chat + external bodies) split. v8.4.0 retired the standalone ArchiveGuard Swift binary in favour of the `ios_app_store_audit` MCP tool in `@mmerterden/dev-toolkit-mcp` ≥ v2.4 — same 17 rules, same JSON shape, all four consumer surfaces work without changes. **Cross-platform status:** macOS Claude Code path is production-ready; Linux libsecret + Windows PowerShell paths are coded but unverified — see CHANGELOG for honest field-testing notes.
|
|
31
|
+
|
|
32
|
+
Four orthogonal additions, all advisory-by-default, all Cross-CLI parity preserved:
|
|
33
|
+
|
|
34
|
+
- **Per-task Cost Breakdown** in `agent-log.md` — every Phase 7 run now appends a `## Cost Breakdown` block with per-phase tokens (in/out) + estimated USD, sourced from `phase-tracker.sh tokens` accumulators and `cost-table.json` prices. Rendered by `pipeline/scripts/render-agent-log-cost.sh`. Independent of the channels-side `reportContent.costSummary` (PR/Jira gating). Token forwarder `LOG_METRIC_FORWARD_TO_TRACKER=1` keeps `metrics.jsonl` and the tracker in sync from one call site.
|
|
35
|
+
- **Phase 4 Step 1.75 — Diff Risk Scoring** (advisory): `pipeline/scripts/diff-risk-score.mjs` runs before reviewer dispatch and injects a top-N risk-ranked priority list into each reviewer's prompt. Heuristic, deterministic, sub-second, no LLM. Signals: security paths (×3), schema migrations (×4), public API surfaces (×2), no-test-change (×2.5), complexity delta (×1.5), UI-critical paths (×1.5), loc changed (×1). Default ON; flip `prefs.global.diffRiskAdvisory = false` to opt out.
|
|
36
|
+
- **Phase 5 Step 0 — Test Gap Report** (advisory): `pipeline/scripts/test-gap-scan.mjs` walks the diff for newly added public symbols and reports those with no paired test. Stack-specific rules ship for iOS, Android, Python, and Node.js. iOS Views and Android `@Composable` symbols default to `important`; other public API additions to `suggestion`. Optional gating via `prefs.testGap.blockingThreshold`.
|
|
37
|
+
- **Phase 4 Triage Memory** (advisory): per-repo append-only JSONL corpus at `~/.claude/memory/multi-agent/<repo-slug>/triage-corpus.jsonl` records every accepted/deferred/rejected finding. Phase 7 ingests on completion (idempotent); Phase 1 enriches the analysis with similar past tasks; Phase 4 triage attaches prior-art hits to each raw finding. Token-overlap recall, zero deps. `/multi-agent:search "<text>" --semantic` flag routes the query to the corpus instead of agent-log grep. Default ON; flip `prefs.global.priorArtEnrichment.enabled = false` to opt out.
|
|
38
|
+
|
|
39
|
+
Cross-CLI parity: every change ships byte-identical on Claude Code (colon-form `/multi-agent:*`) and Copilot CLI (dash-form `multi-agent-*`). New smokes (5): `smoke-agent-log-cost`, `smoke-diff-risk`, `smoke-test-gap`, `smoke-triage-memory` plus extensions to `smoke-cost-summary`. New schemas: `diff-risk.schema.json`, `test-gap.schema.json`, `triage-corpus.schema.json` (3 new).
|
|
40
|
+
|
|
41
|
+
Full version history lives in [CHANGELOG.md](./CHANGELOG.md). Every release entry is recorded there to avoid drift between the two files.
|
|
42
|
+
|
|
43
|
+
> Security issue? See [SECURITY.md](./SECURITY.md). Please do not open public issues for vulnerabilities.
|
|
44
|
+
|
|
45
|
+
## Prerequisites
|
|
46
|
+
|
|
47
|
+
- Node.js 18+
|
|
48
|
+
- Claude Code (https://claude.ai/code) **or** GitHub Copilot CLI
|
|
49
|
+
- macOS/Linux (Keychain-based token storage is available on macOS)
|
|
50
|
+
|
|
51
|
+
This is a **private package** hosted on GitHub Packages. You need:
|
|
52
|
+
|
|
53
|
+
1. **Collaborator access** to `mmerterden/multi-agent-pipeline` (granted by the repo owner).
|
|
54
|
+
2. A **Classic** Personal Access Token (fine-grained PATs are not fully supported for GitHub Packages on private repos).
|
|
55
|
+
|
|
56
|
+
### 1. Create a Classic PAT
|
|
57
|
+
|
|
58
|
+
Go to https://github.com/settings/tokens/new?scopes=read:packages,repo and create a token with:
|
|
59
|
+
|
|
60
|
+
- ✅ `read:packages`
|
|
61
|
+
- ✅ `repo` (required for private package access)
|
|
62
|
+
|
|
63
|
+
If your GitHub account belongs to an SSO-enforced organization, after creating the token click **"Configure SSO" → Authorize** on the token row.
|
|
64
|
+
|
|
65
|
+
### 2. Configure `~/.npmrc`
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Replace ghp_xxx with the token from step 1
|
|
69
|
+
echo "@mmerterden:registry=https://npm.pkg.github.com" >> ~/.npmrc
|
|
70
|
+
echo "//npm.pkg.github.com/:_authToken=ghp_xxx" >> ~/.npmrc
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. Verify access
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm view @mmerterden/multi-agent-pipeline version
|
|
77
|
+
# → prints "3.0.0" (or newer) when everything is wired up
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
If this fails, see [Troubleshooting](#troubleshooting) below.
|
|
81
|
+
|
|
82
|
+
> **New here?** Worked end-to-end transcripts live in [`examples/`](./examples/) — bug fix from Jira, feature in autopilot, `--dev` fast path, and recovery from a broken run. Read one before you run the pipeline on your own code.
|
|
83
|
+
>
|
|
84
|
+
> **Something broke?** [`docs/recovery-guide.md`](./docs/recovery-guide.md) is the single-page index of every failure mode (triage fallback, worktree collision, state corruption, identity rewind, etc.) and its fix.
|
|
85
|
+
>
|
|
86
|
+
> **Planning breaking changes?** [`ROADMAP.md`](./ROADMAP.md) tracks what's coming and what's been declined.
|
|
87
|
+
|
|
88
|
+
## Quick Start
|
|
89
|
+
|
|
90
|
+
### Option A — Install from source (recommended, no registry auth)
|
|
91
|
+
|
|
92
|
+
The simplest path. Works even if you haven't configured `~/.npmrc` yet.
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
git clone git@github.com:mmerterden/multi-agent-pipeline.git
|
|
96
|
+
cd multi-agent-pipeline
|
|
97
|
+
npm install
|
|
98
|
+
node install.js # Claude Code (default)
|
|
99
|
+
node install.js --copilot # Copilot CLI
|
|
100
|
+
node install.js --all # Both Claude + Copilot
|
|
101
|
+
|
|
102
|
+
# Third-party AI tool adapters (knowledge layer only)
|
|
103
|
+
node install.js --cursor # Cursor (.cursor/rules/*.mdc + .cursorrules)
|
|
104
|
+
node install.js --copilot-chat # GitHub Copilot Chat (.github/copilot-instructions.md)
|
|
105
|
+
node install.js --all-tools # Everything: 2 orchestration (Claude + Copilot CLI) + 2 adapter targets
|
|
106
|
+
node install.js --cursor --target=/path/to/repo # Adapter target override (default: cwd)
|
|
107
|
+
|
|
108
|
+
node install.js --link # Symlink mode (dev, saves ~10K tokens)
|
|
109
|
+
|
|
110
|
+
# Token-preserving uninstall (Keychain access tokens NEVER touched)
|
|
111
|
+
node install.js # ...later...
|
|
112
|
+
node pipeline/scripts/uninstall.mjs --dry-run # preview what would be removed
|
|
113
|
+
node pipeline/scripts/uninstall.mjs --yes # remove from every installed target
|
|
114
|
+
node pipeline/scripts/uninstall.mjs --cursor # selective uninstall
|
|
115
|
+
|
|
116
|
+
# Optional: expose the CLI globally as 'multi-agent-pipeline'
|
|
117
|
+
npm link
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**IMPORTANT — run setup before your first task:**
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
/multi-agent:setup
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This discovers your Keychain tokens (Jira, Bitbucket, GitHub, etc.), sets up your git identity, and maps everything into `~/.claude/multi-agent-preferences.json`. Without this step, the pipeline cannot find your tokens and will ask for them repeatedly.
|
|
127
|
+
|
|
128
|
+
Update later with `git pull && npm install` inside the clone. Pin to a specific version by checking out the corresponding tag (`git tag -l` to list).
|
|
129
|
+
|
|
130
|
+
### Option B — npx (requires registry setup above)
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx @mmerterden/multi-agent-pipeline install # Claude Code (default)
|
|
134
|
+
npx @mmerterden/multi-agent-pipeline install --copilot # Copilot CLI
|
|
135
|
+
npx @mmerterden/multi-agent-pipeline install --all # Both Claude + Copilot
|
|
136
|
+
npx @mmerterden/multi-agent-pipeline install --cursor # Cursor adapter
|
|
137
|
+
npx @mmerterden/multi-agent-pipeline install --copilot-chat # GitHub Copilot Chat adapter
|
|
138
|
+
npx @mmerterden/multi-agent-pipeline install --all-tools # Every supported tool
|
|
139
|
+
npx @mmerterden/multi-agent-pipeline install --link # Symlink mode
|
|
140
|
+
|
|
141
|
+
# Token-preserving uninstall
|
|
142
|
+
npx @mmerterden/multi-agent-pipeline uninstall # interactive, all targets
|
|
143
|
+
npx @mmerterden/multi-agent-pipeline uninstall --dry-run # preview only
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Option C — Global install (requires registry setup above)
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
npm install -g @mmerterden/multi-agent-pipeline
|
|
150
|
+
multi-agent-pipeline install # same flags apply
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Privacy & Telemetry
|
|
154
|
+
|
|
155
|
+
**Opt-in only.** The installer sends nothing by default. If you want to help the
|
|
156
|
+
project by sharing an anonymous install ping, opt in per-install with
|
|
157
|
+
`MULTI_AGENT_TELEMETRY=1`:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
MULTI_AGENT_TELEMETRY=1 node install.js
|
|
161
|
+
# or for npx/global
|
|
162
|
+
MULTI_AGENT_TELEMETRY=1 npx @mmerterden/multi-agent-pipeline install
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
When opted in, the ping includes:
|
|
166
|
+
|
|
167
|
+
- Package name + version
|
|
168
|
+
- Install method (`source`, `npx`, `global`, `npm-install`)
|
|
169
|
+
- Flags passed (e.g. `--copilot`, `--all`)
|
|
170
|
+
- Your GitHub username (via `gh api user` if authenticated) and Git email
|
|
171
|
+
- Hostname, OS, arch, Node version
|
|
172
|
+
|
|
173
|
+
Nothing else is collected. Ping failures are silent — telemetry never blocks or
|
|
174
|
+
slows down the install.
|
|
175
|
+
|
|
176
|
+
## Troubleshooting
|
|
177
|
+
|
|
178
|
+
### `sh: multi-agent-pipeline: command not found`
|
|
179
|
+
|
|
180
|
+
npx couldn't fetch the package and fell back to running it as a shell command. Registry auth is missing or wrong — re-check steps 1–3 under [Prerequisites](#prerequisites).
|
|
181
|
+
|
|
182
|
+
### `npm error code E401` — "User cannot be authenticated with the token provided"
|
|
183
|
+
|
|
184
|
+
Your token is being rejected by GitHub Packages. Usually one of:
|
|
185
|
+
|
|
186
|
+
- PAT is fine-grained instead of **Classic**. Recreate as Classic.
|
|
187
|
+
- PAT is missing `repo` scope. Private packages require both `read:packages` **and** `repo`.
|
|
188
|
+
- SSO not authorized. On the token row, click **"Configure SSO" → Authorize** for the relevant org.
|
|
189
|
+
- Token expired or revoked.
|
|
190
|
+
|
|
191
|
+
Quick diagnostic:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
curl -I -H "Authorization: Bearer $(grep _authToken ~/.npmrc | tail -1 | cut -d= -f2)" \
|
|
195
|
+
https://npm.pkg.github.com/@mmerterden%2Fmulti-agent-pipeline
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
- `200` — auth is fine; likely an npx cache issue (`npx clear-npx-cache`).
|
|
199
|
+
- `401` — token invalid, expired, or not SSO-authorized.
|
|
200
|
+
- `403` — token valid but no repo access. Ask the repo owner to add you as a collaborator.
|
|
201
|
+
- `404` — scope misconfigured in `~/.npmrc`, or package name is wrong.
|
|
202
|
+
|
|
203
|
+
### `npm error code E404` on `registry.npmjs.org`
|
|
204
|
+
|
|
205
|
+
Your `~/.npmrc` does not have the `@mmerterden:registry=...` line. npm defaulted to public npm, which doesn't host this package. Redo step 2.
|
|
206
|
+
|
|
207
|
+
## Tool support
|
|
208
|
+
|
|
209
|
+
> **TL;DR** — Full pipeline orchestration runs on Claude Code + Copilot CLI. Knowledge layer (rules + skills) ports to Cursor and GitHub Copilot Chat via dedicated adapters. Other tools require manual port. (Pre-v8.5.4 the adapter set also covered Windsurf, Cline, Zed, and Continue.dev — those were dropped in v8.5.4 because the pipeline owner did not use them; reintroducing any of them is a one-file add against `pipeline/adapters/_base.mjs`.)
|
|
210
|
+
|
|
211
|
+
### Tier 1 — Full pipeline (orchestration + knowledge)
|
|
212
|
+
|
|
213
|
+
| Tool | Install Flag | How It Works |
|
|
214
|
+
| --- | --- | --- |
|
|
215
|
+
| **Claude Code** | `--claude` (default) | Slash commands + shared + figma skills + agents + rules + scripts |
|
|
216
|
+
| **Copilot CLI** | `--copilot` | Instructions + shared + figma skills + scripts |
|
|
217
|
+
|
|
218
|
+
Both CLIs install from the same `pipeline/skills/` source. Tree organization:
|
|
219
|
+
|
|
220
|
+
- `pipeline/skills/shared/core/` — **orchestration skills** (`multi-agent-*` dash-form mirrors of colon-form slash commands + compliance skills + orchestrator)
|
|
221
|
+
- `pipeline/skills/shared/external/` — **127 third-party / curated iOS, Android, and generic guidance skills** (SwiftUI, Jetpack Compose, testing, performance, security, etc.)
|
|
222
|
+
- `pipeline/skills/figma-ios/` + `pipeline/skills/figma-android/` — **5 + 5 platform-specific Phase 3 sub-skills** (SwiftUI and Jetpack Compose code generation)
|
|
223
|
+
- `pipeline/skills/figma-common/` — **27 platform-agnostic Figma helpers** (iterate, commit, wiki setup, MCP auth, performance harness)
|
|
224
|
+
|
|
225
|
+
You get identical skill coverage regardless of which CLI you use. Both CLIs also receive the same `pipeline/scripts/` tree so multi-CLI-only installs stay self-contained.
|
|
226
|
+
|
|
227
|
+
### Tier 2 — Knowledge layer only
|
|
228
|
+
|
|
229
|
+
These tools don't have subagent dispatch, so the 8-phase orchestration can't run there. The rules tree + skills catalog ports natively via per-tool adapters.
|
|
230
|
+
|
|
231
|
+
| Tool | Install Flag | Output | What works | What doesn't |
|
|
232
|
+
| --- | --- | --- | --- | --- |
|
|
233
|
+
| **Cursor** | `--cursor` | `.cursor/rules/multi-agent-*.mdc` (modern, 2025+) + `.cursorrules` legacy fallback | 193 SKILL contents, 12 rules, glob-aware activation | Slash commands, parallel review, autopilot, Phase 4 triage |
|
|
234
|
+
| **GitHub Copilot Chat** | `--copilot-chat` | `.github/copilot-instructions.md` (marker-wrapped) + `.github/instructions/multi-agent-*.instructions.md` | Per-skill instructions with `applyTo:` glob frontmatter; loaded automatically into every Copilot Chat conversation in the repo | Slash commands, parallel review, autopilot, Phase 4 triage |
|
|
235
|
+
|
|
236
|
+
All adapters default to `process.cwd()`; override with `--target=<path>`. Multiple tools at once: `--all-tools` (covers both Tier 2 surfaces). Filter by stack: `--platform=ios|android|all`.
|
|
237
|
+
|
|
238
|
+
### Tier 3 — Manual port
|
|
239
|
+
|
|
240
|
+
**Windsurf**, **Cline**, **Zed AI**, **Continue.dev**, **JetBrains AI**, **Codeium**, **Tabnine**, **Amazon Q Developer** — closed/proprietary config, deprecated adapter, or different paradigm. Skill content can be copy-pasted into native rule formats; no automated installer ships today. PRs welcome.
|
|
241
|
+
|
|
242
|
+
### Uninstall (token-preserving, all tiers)
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
npx @mmerterden/multi-agent-pipeline uninstall # interactive, all installed targets
|
|
246
|
+
npx @mmerterden/multi-agent-pipeline uninstall --dry-run # preview, zero side effects
|
|
247
|
+
npx @mmerterden/multi-agent-pipeline uninstall --cursor # selective: only this tool
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Personal access tokens stored in macOS Keychain / Windows Credential Manager / Linux libsecret are **never touched** by the uninstaller. Smoke tests enforce this with a static check that fails the build if the script ever references a credential-store deletion API.
|
|
251
|
+
|
|
252
|
+
## Pipeline Phases
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
Phase 0: Init — Project selection, branch setup, identity, worktree
|
|
256
|
+
Phase 1: Analysis — Stack detection, codebase exploration
|
|
257
|
+
Phase 2: Planning — Task decomposition, architecture review, user approval
|
|
258
|
+
Phase 3: Dev — TDD cycle: test → code → build
|
|
259
|
+
Phase 4: Review — Deterministic gates + parallel review + Opus triage
|
|
260
|
+
• Claude Code → Opus + Sonnet (2 paralel)
|
|
261
|
+
• Copilot CLI → GPT-5.4 + Opus + Sonnet (3 paralel)
|
|
262
|
+
Phase 5: Test — Optional manual testing + MCP device audits (on-demand)
|
|
263
|
+
Phase 6: Commit — Pre-commit local checkout prompt, git commit, push, PR creation
|
|
264
|
+
Phase 7: Report — External: Jira comment · Wiki + Figma screenshots · Confluence
|
|
265
|
+
Internal: Log · Knowledge + memory capture
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Full Pipeline Flow
|
|
269
|
+
|
|
270
|
+
```mermaid
|
|
271
|
+
flowchart TD
|
|
272
|
+
INPUT["🎯 <b>User Input</b><br/>Issue # · Jira URL · Free-text · jira · issue"]
|
|
273
|
+
|
|
274
|
+
subgraph SETUP ["Setup"]
|
|
275
|
+
P0["<b>Phase 0: Init</b><br/>Project detect · Worktree<br/>Branch · Identity · Task type"]
|
|
276
|
+
P1["<b>Phase 1: Analysis</b><br/>Parallel Explore agents<br/>Stack detection · Guide load"]
|
|
277
|
+
P2["<b>Phase 2: Planning</b><br/>Task decompose<br/>Architect review · User approval"]
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
subgraph DEVELOP ["Development"]
|
|
281
|
+
P3["<b>Phase 3: Dev</b><br/>🔴 RED: test<br/>🟢 GREEN: implement<br/>🔵 REFACTOR · Build pass"]
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
subgraph REVIEW ["Review"]
|
|
285
|
+
R1["<b>Opus</b><br/>Security<br/>Architecture"]
|
|
286
|
+
R2["<b>GPT-5.4</b><br/>Quality<br/>Edge cases"]
|
|
287
|
+
R3["<b>Sonnet</b><br/>Correctness<br/>Style"]
|
|
288
|
+
TRIAGE["<b>Opus Triage</b><br/>Filter noise · Deduplicate<br/>Forward actionable only"]
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
subgraph DELIVER ["Delivery"]
|
|
292
|
+
P5["<b>Phase 5: Test</b><br/>Manual test<br/>Device audits (on-demand)"]
|
|
293
|
+
P6["<b>Phase 6: Commit</b><br/>Secret scan · Commit<br/>Push · PR create"]
|
|
294
|
+
P7["<b>Phase 7: Report</b>"]
|
|
295
|
+
subgraph REPORT ["Phase 7 sub-steps"]
|
|
296
|
+
direction LR
|
|
297
|
+
H1["Jira comment<br/>(analysis + tests)"]
|
|
298
|
+
H2["Wiki + Figma<br/>screenshots"]
|
|
299
|
+
H3["Confluence<br/>(optional)"]
|
|
300
|
+
H4["Report · Log"]
|
|
301
|
+
H5["Knowledge +<br/>memory capture"]
|
|
302
|
+
end
|
|
303
|
+
P7 --> H1 --> H2 --> H3 --> H4 --> H5
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
INPUT --> P0
|
|
307
|
+
P0 --> P1
|
|
308
|
+
P1 --> P2
|
|
309
|
+
P2 --> P3
|
|
310
|
+
P3 --> R1 & R2 & R3
|
|
311
|
+
R1 & R2 & R3 --> TRIAGE
|
|
312
|
+
TRIAGE -->|"✅ Approved"| P5
|
|
313
|
+
TRIAGE -->|"🔧 Fix needed (≤3x)"| P3
|
|
314
|
+
P5 --> P6
|
|
315
|
+
P6 --> P7
|
|
316
|
+
|
|
317
|
+
style INPUT fill:#818cf8,stroke:#6366f1,color:#fff
|
|
318
|
+
style P3 fill:#fbbf24,stroke:#f59e0b,color:#000
|
|
319
|
+
style TRIAGE fill:#38bdf8,stroke:#0ea5e9,color:#000
|
|
320
|
+
style P7 fill:#4ade80,stroke:#22c55e,color:#000
|
|
321
|
+
style H1 fill:#fde68a,stroke:#f59e0b,color:#000
|
|
322
|
+
style H2 fill:#c084fc,stroke:#a855f7,color:#000
|
|
323
|
+
style H3 fill:#bae6fd,stroke:#0ea5e9,color:#000
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### Operating Modes
|
|
327
|
+
|
|
328
|
+
```mermaid
|
|
329
|
+
flowchart LR
|
|
330
|
+
subgraph NORMAL ["Normal (Full 8-phase)"]
|
|
331
|
+
direction LR
|
|
332
|
+
N0[Init] --> N1[Analysis] --> N2[Planning] --> N3[Dev] --> N4[Review] --> N5[Test] --> N6[Commit] --> N7[Report]
|
|
333
|
+
end
|
|
334
|
+
|
|
335
|
+
subgraph DEV ["--dev (Fast, Opus)"]
|
|
336
|
+
direction LR
|
|
337
|
+
D0[Init] --> D3["Dev<br/>(Opus)"] --> D6[Commit] --> D7[Report]
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
subgraph AUTO ["autopilot (No confirmations)"]
|
|
341
|
+
direction LR
|
|
342
|
+
A0[Init] --> A1[Analysis] --> A2[Planning] --> A3[Dev] --> A4[Review] --> A6[Commit] --> A7[Report]
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
subgraph FAST ["--dev autopilot (Fastest)"]
|
|
346
|
+
direction LR
|
|
347
|
+
F0[Init] --> F3["Dev<br/>(Opus)"] --> F6["Commit<br/>(auto)"] --> F7[Report]
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
style D3 fill:#fbbf24,stroke:#f59e0b,color:#000
|
|
351
|
+
style F3 fill:#fbbf24,stroke:#f59e0b,color:#000
|
|
352
|
+
style F6 fill:#4ade80,stroke:#22c55e,color:#000
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Review Architecture (Phase 4)
|
|
356
|
+
|
|
357
|
+
```mermaid
|
|
358
|
+
flowchart TD
|
|
359
|
+
DIFF["📝 Code Diff"]
|
|
360
|
+
|
|
361
|
+
DIFF --> OPUS["<b>Opus</b><br/>🔒 Security · Architecture<br/>Data flow · Auth"]
|
|
362
|
+
DIFF --> GPT["<b>GPT-5.4</b><br/>✨ Code quality · Edge cases<br/>Error paths · Logic"]
|
|
363
|
+
DIFF --> SON["<b>Sonnet</b><br/>✅ Correctness · Best practices<br/>Naming · Style"]
|
|
364
|
+
|
|
365
|
+
OPUS --> TRIAGE
|
|
366
|
+
GPT --> TRIAGE
|
|
367
|
+
SON --> TRIAGE
|
|
368
|
+
|
|
369
|
+
TRIAGE["<b>Opus Triage</b><br/>Deduplicate findings<br/>Filter false-positives<br/>Reject out-of-scope<br/>Classify severity"]
|
|
370
|
+
|
|
371
|
+
TRIAGE -->|"✅ PASS"| NEXT["Phase 5: Test"]
|
|
372
|
+
TRIAGE -->|"🔧 FIX_REQUIRED"| BACK["Phase 3: Dev<br/>(retry ≤3x)"]
|
|
373
|
+
|
|
374
|
+
style DIFF fill:#818cf8,stroke:#6366f1,color:#fff
|
|
375
|
+
style TRIAGE fill:#38bdf8,stroke:#0ea5e9,color:#000
|
|
376
|
+
style NEXT fill:#4ade80,stroke:#22c55e,color:#000
|
|
377
|
+
style BACK fill:#f87171,stroke:#ef4444,color:#000
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Figma SubPhase Integration (Phase 3)
|
|
381
|
+
|
|
382
|
+
When `figmaConfigPath` is set in project preferences, Phase 3 dispatches the Figma-to-SwiftUI pipeline instead of standard TDD:
|
|
383
|
+
|
|
384
|
+
```mermaid
|
|
385
|
+
flowchart TD
|
|
386
|
+
P3["<b>Phase 3: Dev</b>"]
|
|
387
|
+
|
|
388
|
+
P3 -->|default| TDD["<b>Standard TDD</b><br/>RED → GREEN → REFACTOR → build"]
|
|
389
|
+
P3 -->|"figmaConfigPath set"| FIG
|
|
390
|
+
|
|
391
|
+
subgraph FIG ["Figma-to-SwiftUI Pipeline (17 SubPhases)"]
|
|
392
|
+
direction TB
|
|
393
|
+
|
|
394
|
+
subgraph INIT_G ["Init + Gather"]
|
|
395
|
+
S0["3.0 Init<br/>Parse URL · Branch · Assign"]
|
|
396
|
+
S1["3.1 Gather<br/>Fetch design context"]
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
subgraph PREP ["Preparation (parallel)"]
|
|
400
|
+
S2A["3.2A TestingIDs"]
|
|
401
|
+
S2B["3.2B Localization"]
|
|
402
|
+
S2C["3.2C Accessibility"]
|
|
403
|
+
S2D["3.2D Analytics"]
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
S3["3.3 Token Mapping<br/>Figma values → design tokens"]
|
|
407
|
+
|
|
408
|
+
subgraph IMPL ["Implementation (sequential)"]
|
|
409
|
+
S4A["3.4A Config"]
|
|
410
|
+
S4B["3.4B View"]
|
|
411
|
+
S4C["3.4C Docs"]
|
|
412
|
+
S4D["3.4D Preview"]
|
|
413
|
+
S4E["3.4E Modifiers"]
|
|
414
|
+
S4F["3.4F Wiki"]
|
|
415
|
+
end
|
|
416
|
+
|
|
417
|
+
subgraph TEST_G ["Testing"]
|
|
418
|
+
S5A["3.5A ViewInspector"]
|
|
419
|
+
S5B["3.5B Snapshot"]
|
|
420
|
+
S5C["3.5C Unit"]
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
S6["3.6 CodeConnect<br/>Figma ↔ code link"]
|
|
424
|
+
|
|
425
|
+
S0 --> S1
|
|
426
|
+
S1 --> S2A & S2B & S2C & S2D
|
|
427
|
+
S2A & S2B & S2C & S2D --> S3
|
|
428
|
+
S3 --> S4A --> S4B --> S4C --> S4D --> S4E --> S4F
|
|
429
|
+
S4F --> S5A --> S5B --> S5C
|
|
430
|
+
S5C --> S6
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
style P3 fill:#fbbf24,stroke:#f59e0b,color:#000
|
|
434
|
+
style TDD fill:#4ade80,stroke:#22c55e,color:#000
|
|
435
|
+
style S3 fill:#818cf8,stroke:#6366f1,color:#fff
|
|
436
|
+
style S6 fill:#c084fc,stroke:#a855f7,color:#000
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### Ecosystem Architecture
|
|
440
|
+
|
|
441
|
+
```mermaid
|
|
442
|
+
flowchart TD
|
|
443
|
+
CC["<b>Claude Code</b><br/>(Source of Truth)<br/><br/>~/.claude/commands/<br/>~/.claude/agents/<br/>~/.claude/scripts/"]
|
|
444
|
+
|
|
445
|
+
CC -->|"instructions + 192 skills + scripts"| COP["<b>Copilot CLI</b><br/>~/.copilot/skills/<br/>~/.copilot/scripts/<br/>copilot-instructions.md"]
|
|
446
|
+
CC -->|"genericized pipeline/"| REPO["<b>Pipeline Repo</b><br/>@mmerterden/<br/>multi-agent-pipeline"]
|
|
447
|
+
CC -.->|"optional"| WEB["<b>Website</b><br/>(your docs site)"]
|
|
448
|
+
CC -.->|"optional"| RC["<b>Remote Control</b><br/>(your dashboard)"]
|
|
449
|
+
|
|
450
|
+
REPO -->|"npm publish"| NPM["<b>GitHub Packages</b><br/>(npm)"]
|
|
451
|
+
WEB -->|"auto-deploy"| VERCEL["Vercel"]
|
|
452
|
+
|
|
453
|
+
style CC fill:#818cf8,stroke:#6366f1,color:#fff
|
|
454
|
+
style REPO fill:#fbbf24,stroke:#f59e0b,color:#000
|
|
455
|
+
style NPM fill:#4ade80,stroke:#22c55e,color:#000
|
|
456
|
+
style WEB fill:#38bdf8,stroke:#0ea5e9,color:#000
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### Claude Code (Full Mode)
|
|
460
|
+
|
|
461
|
+
All 8 phases with sub-agents, parallel review + Opus triage (2-model Opus+Sonnet on Claude Code, 3-model GPT+Opus+Sonnet on Copilot CLI), TaskCreate visual tracking.
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
# Pipeline tasks
|
|
465
|
+
/multi-agent "MOBILE-12345" # Jira issue
|
|
466
|
+
/multi-agent "#42" # GitHub issue
|
|
467
|
+
/multi-agent "Fix dark mode colors in LoginView" # Free-text
|
|
468
|
+
/multi-agent:dev "MOBILE-12345" # Fast mode (Opus)
|
|
469
|
+
/multi-agent:autopilot "MOBILE-12345" # Skip confirmations
|
|
470
|
+
/multi-agent:dev-autopilot "MOBILE-12345" # Zero interaction
|
|
471
|
+
|
|
472
|
+
# Helper commands
|
|
473
|
+
/multi-agent:status # List all tasks
|
|
474
|
+
/multi-agent:log 1 # Show task log
|
|
475
|
+
/multi-agent:resume 1 # Resume stopped task
|
|
476
|
+
/multi-agent:kill 1 # Delete task worktree
|
|
477
|
+
/multi-agent:review # Review current diff
|
|
478
|
+
/multi-agent:setup # Token + identity onboarding (asks promptLanguage + outputLanguage)
|
|
479
|
+
/multi-agent:language tr # Toggle pipeline languages (en / tr per axis)
|
|
480
|
+
/multi-agent:test # UI Bug Hunter
|
|
481
|
+
/multi-agent:channels "PR-url" # Post report (Jira / Confluence / Wiki / PR)
|
|
482
|
+
/multi-agent:search "query" # Full-text log search
|
|
483
|
+
/multi-agent:scan # Skill security scan
|
|
484
|
+
/multi-agent:refactor # Refactor planner
|
|
485
|
+
/multi-agent:update # Update pipeline
|
|
486
|
+
/multi-agent:sync # Sync ecosystem
|
|
487
|
+
/multi-agent:purge # Full reset (double-confirm)
|
|
488
|
+
|
|
489
|
+
# Flag syntax (equivalent to dedicated commands above)
|
|
490
|
+
/multi-agent "MOBILE-12345" --dev # same as :dev
|
|
491
|
+
/multi-agent "MOBILE-12345" --dev autopilot # same as :dev-autopilot
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### Copilot CLI (Lite Mode)
|
|
495
|
+
|
|
496
|
+
Same pipeline logic, invoked via dash syntax (`multi-agent-*`).
|
|
497
|
+
|
|
498
|
+
```bash
|
|
499
|
+
# Pipeline tasks
|
|
500
|
+
multi-agent "MOBILE-12345" # Jira issue
|
|
501
|
+
multi-agent "#42" # GitHub issue
|
|
502
|
+
multi-agent "Fix dark mode colors in LoginView" # Free-text
|
|
503
|
+
multi-agent-dev "MOBILE-12345" # Fast mode (Opus)
|
|
504
|
+
multi-agent-autopilot "MOBILE-12345" # Skip confirmations
|
|
505
|
+
multi-agent-dev-autopilot "MOBILE-12345" # Zero interaction
|
|
506
|
+
|
|
507
|
+
# Helper commands
|
|
508
|
+
multi-agent-status # List all tasks
|
|
509
|
+
multi-agent-log 1 # Show task log
|
|
510
|
+
multi-agent-resume 1 # Resume stopped task
|
|
511
|
+
multi-agent-kill 1 # Delete task worktree
|
|
512
|
+
multi-agent-review # Review current diff
|
|
513
|
+
multi-agent-setup # Token + identity onboarding
|
|
514
|
+
multi-agent-test # UI Bug Hunter
|
|
515
|
+
multi-agent-channels "PR-url" # Post report (Jira / Confluence / Wiki / PR)
|
|
516
|
+
multi-agent-search "query" # Full-text log search
|
|
517
|
+
multi-agent-scan # Skill security scan
|
|
518
|
+
multi-agent-refactor # Refactor planner
|
|
519
|
+
multi-agent-update # Update pipeline
|
|
520
|
+
multi-agent-sync # Sync ecosystem
|
|
521
|
+
multi-agent-purge # Full reset (double-confirm)
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
## Supported Stacks
|
|
525
|
+
|
|
526
|
+
| Platform | Detection | Guide Loaded |
|
|
527
|
+
| ----------------------------- | -------------------------------------------- | ----------------------- |
|
|
528
|
+
| **iOS/Swift** | `.xcodeproj`, `Package.swift` | SwiftUI Component Guide |
|
|
529
|
+
| **Android/Kotlin** | `build.gradle`, `build.gradle.kts` | Jetpack Compose Guide |
|
|
530
|
+
| **Backend** (Python/Node/Go) | `requirements.txt`, `package.json`, `go.mod` | Backend API Guide |
|
|
531
|
+
| **Frontend** (React/Vue/Next) | `package.json` + framework detection | Frontend Guide |
|
|
532
|
+
|
|
533
|
+
Stack is auto-detected. Build commands, test runners, lint tools, and review focus areas all adapt automatically.
|
|
534
|
+
|
|
535
|
+
## Modes
|
|
536
|
+
|
|
537
|
+
| Mode | Claude Code | Copilot CLI | Description |
|
|
538
|
+
| ---- | ----------- | ----------- | ----------- |
|
|
539
|
+
| Normal | `/multi-agent "task"` | `multi-agent "task"` | Full 8 phases with CLI-aware parallel review (Claude: 2-model · Copilot: 3-model) |
|
|
540
|
+
| Fast | `/multi-agent:dev "task"` | `multi-agent-dev "task"` | Init → Dev(Opus) → Commit → Report |
|
|
541
|
+
| Local | `/multi-agent "task" --local` | `multi-agent "task" --local` | No worktree — works on local branch |
|
|
542
|
+
| Autopilot | `/multi-agent:autopilot "task"` | `multi-agent-autopilot "task"` | Skip confirmations, auto commit/PR |
|
|
543
|
+
| Fastest | `/multi-agent:dev-autopilot "task"` | `multi-agent-dev-autopilot "task"` | Zero interaction |
|
|
544
|
+
| Test | `/multi-agent:test` | `multi-agent-test` | UI Bug Hunter — visual + accessibility |
|
|
545
|
+
| Channels | `/multi-agent:channels <target>` | `multi-agent-channels <target>` | Post report to Jira / Confluence / Wiki / PR (multi-select, humanizer pass, reviewer-preserving) |
|
|
546
|
+
| Stack | `/multi-agent:stack ios` | `multi-agent-stack ios` | Manually swap skill set per platform |
|
|
547
|
+
| Language | `/multi-agent:language [prompt\|output] <en\|tr>` | `multi-agent-language [prompt\|output] <en\|tr>` | Toggle `promptLanguage` (interactive prompts) and/or `outputLanguage` (assistant explanations). External payloads stay English. |
|
|
548
|
+
|
|
549
|
+
## UI Bug Hunter + Audit Tools
|
|
550
|
+
|
|
551
|
+
Automated visual testing and compliance audits. Requires the mobile MCP server.
|
|
552
|
+
|
|
553
|
+
```bash
|
|
554
|
+
# Claude Code # Copilot CLI
|
|
555
|
+
/multi-agent:test # multi-agent-test
|
|
556
|
+
/multi-agent:test "dark mode" # multi-agent-test "dark mode"
|
|
557
|
+
/multi-agent:test "accessibility" # multi-agent-test "accessibility"
|
|
558
|
+
/multi-agent:test "dynamic type" # multi-agent-test "dynamic type"
|
|
559
|
+
/multi-agent:test "store-ready" # multi-agent-test "store-ready"
|
|
560
|
+
/multi-agent:test "biometric" # multi-agent-test "biometric"
|
|
561
|
+
/multi-agent:test "performance" # multi-agent-test "performance"
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
### How Audit Tools Work
|
|
565
|
+
|
|
566
|
+
All audits run via **direct Bash commands** — no MCP server dependency. Pipeline uses `xcrun simctl`, `adb`, `codesign`, `aapt2` etc. natively.
|
|
567
|
+
|
|
568
|
+
| Audit | What It Does | Command | When |
|
|
569
|
+
| --------------------- | ------------------------------------------------------ | ---------------------------- | ----------------------- |
|
|
570
|
+
| iOS Accessibility | Missing labels, small tap targets | `swift ui-tree-dumper.swift` | Phase 5 — user requests |
|
|
571
|
+
| Android Accessibility | Missing contentDescription, small touch targets | `adb shell uiautomator dump` | Phase 5 — user requests |
|
|
572
|
+
| iOS Biometric | Face ID / Touch ID success/failure | `xcrun simctl keychain` | Phase 5 — auth flow |
|
|
573
|
+
| Android Launch Time | Cold start time (ms) | `adb shell am start -W` | Phase 5 — performance |
|
|
574
|
+
| iOS Archive | App Store compliance: signing, debug tools, privacy | `codesign`, `plutil`, `nm` | Phase 6 — release |
|
|
575
|
+
| Android APK | Play Store compliance: target SDK, debuggable, signing | `aapt2`, `apksigner` | Phase 6 — release |
|
|
576
|
+
|
|
577
|
+
**Important**: Audits are **on-demand** — triggered by user, not automatic. Phase 4 does code-level accessibility review (free, no device needed). Phase 5/6 do device-level audits only when requested.
|
|
578
|
+
|
|
579
|
+
**No external dependencies** — only standard Xcode CLI tools (iOS) and Android SDK (Android). Platform guides include **compliance rules** that map 1:1 to audit checks — follow the guide, pass the audit.
|
|
580
|
+
|
|
581
|
+
## Stack Swap
|
|
582
|
+
|
|
583
|
+
Stack is auto-detected at session start by `pipeline/scripts/stack-swap.sh` (SessionStart hook) based on project markers (`.xcodeproj`, `build.gradle`, `package.json`, etc.). To override manually:
|
|
584
|
+
|
|
585
|
+
```bash
|
|
586
|
+
# Claude Code # Copilot CLI
|
|
587
|
+
/multi-agent:stack multi-agent-stack # show current
|
|
588
|
+
/multi-agent:stack ios multi-agent-stack ios # SwiftUI + Xcode
|
|
589
|
+
/multi-agent:stack android multi-agent-stack android # Compose + Gradle
|
|
590
|
+
/multi-agent:stack backend multi-agent-stack backend # Python/Node/Go
|
|
591
|
+
/multi-agent:stack frontend multi-agent-stack frontend # React/Vue/Next
|
|
592
|
+
/multi-agent:stack mobile multi-agent-stack mobile # iOS + Android
|
|
593
|
+
/multi-agent:stack all multi-agent-stack all # load everything
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
Re-runs `stack-swap.sh` with a forced mode and loads the matching guide (`swiftui-guide.md`, `android-guide.md`, `backend-guide.md`, `frontend-guide.md`).
|
|
597
|
+
|
|
598
|
+
## Setup
|
|
599
|
+
|
|
600
|
+
```bash
|
|
601
|
+
# 1. Install pipeline
|
|
602
|
+
npx @mmerterden/multi-agent-pipeline install --all
|
|
603
|
+
|
|
604
|
+
# 2. Configure
|
|
605
|
+
/multi-agent:setup # Claude Code
|
|
606
|
+
multi-agent-setup # Copilot CLI
|
|
607
|
+
# -> Jira project key (e.g., MOBILE, APP, ENG)
|
|
608
|
+
# -> Git identity (name + email)
|
|
609
|
+
# -> Keychain token scan + mapping
|
|
610
|
+
|
|
611
|
+
# That's it! Pipeline works standalone — no additional dependencies needed.
|
|
612
|
+
```
|
|
613
|
+
|
|
614
|
+
## Hooks & Context Management
|
|
615
|
+
|
|
616
|
+
Pipeline includes automated safety hooks and session optimization, configured during installation.
|
|
617
|
+
|
|
618
|
+
### Pre-Commit Secret Detection
|
|
619
|
+
|
|
620
|
+
A `PreToolUse` hook runs before every `git commit`, scanning staged files for:
|
|
621
|
+
|
|
622
|
+
- Hardcoded API keys, tokens, secrets
|
|
623
|
+
- AWS access keys (`AKIA...`)
|
|
624
|
+
- Private keys (RSA/EC/DSA/OPENSSH)
|
|
625
|
+
- `.env` files and credentials files
|
|
626
|
+
- Firebase/GCP service account JSON
|
|
627
|
+
|
|
628
|
+
If secrets are found, the commit is **blocked** with a clear message.
|
|
629
|
+
|
|
630
|
+
### Context Management
|
|
631
|
+
|
|
632
|
+
`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=65` triggers context compaction at 65% usage instead of the default ~80%. This prevents performance degradation in long 8-phase pipeline sessions.
|
|
633
|
+
|
|
634
|
+
### Local CI (pre-push)
|
|
635
|
+
|
|
636
|
+
**CI is local-only** via the `pre-push` git hook (no GitHub Actions).
|
|
637
|
+
Run the full gate manually anytime, or wire the hook to run it on every `git push`:
|
|
638
|
+
|
|
639
|
+
```bash
|
|
640
|
+
# One-off check
|
|
641
|
+
bash pipeline/scripts/pre-push-check.sh
|
|
642
|
+
|
|
643
|
+
# Install as a git hook — runs automatically on `git push`
|
|
644
|
+
ln -sf ../../pipeline/scripts/pre-push-check.sh .git/hooks/pre-push
|
|
645
|
+
chmod +x .git/hooks/pre-push
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
Runs unit tests, smoke suites, eval fixtures, schema validation, and lint —
|
|
649
|
+
the same gate that used to run in CI. Bypass only in emergencies with
|
|
650
|
+
`git push --no-verify`.
|
|
651
|
+
|
|
652
|
+
### Scripts
|
|
653
|
+
|
|
654
|
+
| Script | Purpose |
|
|
655
|
+
| ---------------------- | ------------------------------------------------ |
|
|
656
|
+
| `pre-commit-check.sh` | Secret detection before commits |
|
|
657
|
+
| `stack-swap.sh` | Auto-detect project stack on session start |
|
|
658
|
+
| `keychain-save.sh` | Save tokens/JSON to macOS Keychain (interactive) |
|
|
659
|
+
| `keychain.py` | Deterministic Python Keychain helper (get/set/delete/list/doctor); shell driver auto-delegates on macOS/Linux |
|
|
660
|
+
| `github-ssh-setup.sh` | GitHub SSH key generation + config |
|
|
661
|
+
| `ui-tree-dumper.swift` | iOS accessibility tree dumper for audits |
|
|
662
|
+
|
|
663
|
+
All scripts are installed to `~/.claude/scripts/` during setup.
|
|
664
|
+
|
|
665
|
+
## Platform Support
|
|
666
|
+
|
|
667
|
+
| Tier | Platform | Requirements |
|
|
668
|
+
| --------- | --------------------- | ----------------------------------------------------------- |
|
|
669
|
+
| Primary | macOS 13+ | Keychain-backed token storage, `xcodebuild`, `xcrun simctl` |
|
|
670
|
+
| Primary | Linux (Ubuntu 22.04+) | Token storage via env vars / `gh auth`; no Xcode features |
|
|
671
|
+
| Secondary | Windows (WSL2) | Same as Linux; Xcode features unavailable |
|
|
672
|
+
|
|
673
|
+
Node.js 18+ required everywhere. Git 2.38+ (for `git worktree` improvements) recommended.
|
|
674
|
+
|
|
675
|
+
## Testing
|
|
676
|
+
|
|
677
|
+
```bash
|
|
678
|
+
npm test
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
Runs **~1,300 assertions** across four layers:
|
|
682
|
+
|
|
683
|
+
| Layer | Count | What |
|
|
684
|
+
| ----------------- | ------------------------------ | -------------------------------------------------------- |
|
|
685
|
+
| Node unit tests | 92 tests across 19 suites | CLI routing, install helpers, settings.json hooks, security |
|
|
686
|
+
| Smoke suites | 73 scripts, ~1,210 assertions | End-to-end contract tests for every script and phase doc |
|
|
687
|
+
| Eval fixtures | 11 adversarial cases + 2 golden tasks | Semantic regression for triage classification + full pipeline replay |
|
|
688
|
+
| Schema validation | 13 schemas | Structural integrity of JSON schemas |
|
|
689
|
+
|
|
690
|
+
CI runs locally via the `pre-push` git hook (see **Scripts** above) — no GitHub Actions. Enable the hook once per clone with `ln -sf ../../pipeline/scripts/pre-push-check.sh .git/hooks/pre-push`.
|
|
691
|
+
|
|
692
|
+
## Key Features
|
|
693
|
+
|
|
694
|
+
Ten highlights — see [`docs/features.md`](docs/features.md) for the full catalog.
|
|
695
|
+
|
|
696
|
+
1. **8-phase orchestration** with lazy-loaded phase specs — only pay token cost for the current phase.
|
|
697
|
+
2. **CLI-aware parallel review + Opus triage** — Opus (security/architecture) + Sonnet (quality/correctness) run in parallel on Claude Code (2-model); Copilot CLI adds GPT-5.4 (edge cases/different perspective) for a 3-model set. A single Opus triage pass filters false-positives, rejects out-of-scope findings, and forwards only actionable items to Phase 3. Reviewer noise never auto-triggers rework.
|
|
698
|
+
3. **Bitbucket / GitHub PR automation** with default reviewers auto-injected, draft/ready prompt, body preservation (no literal `\n`, no HTML entities).
|
|
699
|
+
4. **`channels` command** posts task reports to Jira / Confluence / Wiki / PR with multi-select channel + content. Humanizer pass per-channel, reviewer-preserving Bitbucket PR PUT. Phase 7 delegates; also invocable post-hoc for fixes made outside the pipeline.
|
|
700
|
+
5. **Deterministic safety gates + pre-commit local-checkout prompt + runtime triage validator**: pre-commit secret scan (PreToolUse hook), xcodebuild lock queue, 3-iteration hard-kill on retry loops, "checkout locally and test before commit?" Phase 6 prompt, and a zero-dep Node validator that gates Phase 4 triage output on real exit codes — no longer just markdown guidance. Includes telemetry (metrics.jsonl + aggregator — GPT-5.4 reviewer metric emitted only on Copilot CLI) and a sync-parity script that catches Claude↔Copilot↔repo drift before it ships.
|
|
701
|
+
6. **Cross-session learning**: per-project knowledge base (architecture, patterns, gotchas) + user-level memory (feedback, project constraints, references).
|
|
702
|
+
7. **Schema-validated state + smoke-tested contracts**: `schemas/*.schema.json` for `agent-state.json` and preferences; `scripts/smoke-channels-flow.sh` guards body-preservation + Bitbucket PUT contract + multi-channel dispatch.
|
|
703
|
+
8. **Task Type Detection** — every task classified as component/bugfix/feature/refactor/chore at Phase 0 Step 9, used by every downstream phase for deterministic routing.
|
|
704
|
+
9. **SubPhase progress tracking** for specialized workflows — component generation (figma-to-swiftui) reports nested SubPhases under the parent main phase instead of inflating the top-level phase count.
|
|
705
|
+
10. **Interactive launchers**: `multi-agent-jira` lists your open Jira issues; `multi-agent-issue` lists unassigned GitHub issues. Pick one → choose branch → choose mode (full/--dev) → autopilot? → pipeline starts. GitHub issues are auto-assigned on selection.
|
|
706
|
+
|
|
707
|
+
## What's Included
|
|
708
|
+
|
|
709
|
+
```
|
|
710
|
+
pipeline/
|
|
711
|
+
commands/
|
|
712
|
+
multi-agent.md Main orchestrator
|
|
713
|
+
sim-test.md Mobile UI Bug Hunter
|
|
714
|
+
figma-to-swiftui.md Figma -> SwiftUI component generator
|
|
715
|
+
deploy.md iOS deployment checklist
|
|
716
|
+
archive-guard.md .xcarchive App Store compliance scan
|
|
717
|
+
security-review.md Deep security audit
|
|
718
|
+
multi-agent/
|
|
719
|
+
help.md Usage guide
|
|
720
|
+
setup.md Token + identity + Jira key onboarding
|
|
721
|
+
status.md List all tasks
|
|
722
|
+
log.md Show task log
|
|
723
|
+
resume.md Resume stopped task
|
|
724
|
+
kill.md Delete task worktree
|
|
725
|
+
purge.md Full reset (double-confirm)
|
|
726
|
+
review.md Review current diff
|
|
727
|
+
channels.md Multi-channel reporter (Jira/Confluence/Wiki/PR)
|
|
728
|
+
jira.md Interactive Jira picker
|
|
729
|
+
issue.md Interactive GitHub issue picker
|
|
730
|
+
dev.md Fast mode (Opus)
|
|
731
|
+
autopilot.md Skip confirmations
|
|
732
|
+
dev-autopilot.md Fastest path (dev + autopilot)
|
|
733
|
+
test.md UI Bug Hunter
|
|
734
|
+
search.md Full-text log search
|
|
735
|
+
scan.md Skill security scanner
|
|
736
|
+
refactor.md Refactor planner
|
|
737
|
+
update.md Update pipeline
|
|
738
|
+
sync.md Sync ecosystem (Claude/Copilot/repo)
|
|
739
|
+
refs/
|
|
740
|
+
rules.md Global non-negotiable rules
|
|
741
|
+
keychain.md Token registry
|
|
742
|
+
knowledge.md Project knowledge system
|
|
743
|
+
audit-guide.md Audit tool integration rules
|
|
744
|
+
swiftui-guide.md iOS component guide + compliance rules
|
|
745
|
+
android-guide.md Android component guide + compliance rules
|
|
746
|
+
backend-guide.md Backend API guide
|
|
747
|
+
frontend-guide.md Frontend component guide
|
|
748
|
+
phases.md Phase reference + ASCII flow diagram
|
|
749
|
+
phases/
|
|
750
|
+
phase-0-init.md Project setup (8-step interactive)
|
|
751
|
+
phase-1-analysis.md Stack detection + codebase exploration
|
|
752
|
+
phase-2-planning.md Task decomposition + architecture review
|
|
753
|
+
phase-3-dev.md TDD development + build queue
|
|
754
|
+
phase-4-review.md Gates + code review + accessibility check
|
|
755
|
+
phase-5-test.md User testing + device audits (on-demand)
|
|
756
|
+
phase-6-commit.md Commit + PR (reviewers + draft prompt)
|
|
757
|
+
phase-7-report.md External (Jira/Wiki/Confluence) + internal log + knowledge + memory
|
|
758
|
+
modes.md Autopilot, --dev, --local
|
|
759
|
+
operations.md Kill, resume, purge
|
|
760
|
+
log-format.md Log file spec
|
|
761
|
+
skills/
|
|
762
|
+
shared/
|
|
763
|
+
core/ 22 orchestration skills (multi-agent-*) —
|
|
764
|
+
pipeline-critical; changes here affect pipeline
|
|
765
|
+
behavior directly.
|
|
766
|
+
external/ 127 iOS/Android/generic guidance skills imported
|
|
767
|
+
from upstream (mirrors of third-party skill sets
|
|
768
|
+
— SwiftUI, Compose, Kotlin, Swift, web, backend,
|
|
769
|
+
CI/CD, HIG, etc.).
|
|
770
|
+
figma-common/ Platform-agnostic Figma pipeline shared steps
|
|
771
|
+
figma-ios/ Figma → SwiftUI component generator (iOS)
|
|
772
|
+
figma-android/ Figma → Jetpack Compose component generator (Android)
|
|
773
|
+
schemas/ JSON Schemas
|
|
774
|
+
agent-state.schema.json Validates $HOME/.claude/logs/.../agent-state.json
|
|
775
|
+
prefs.schema.json Validates $HOME/.claude/multi-agent-preferences.json
|
|
776
|
+
triage-output.schema.json Validates Phase 4 triage output
|
|
777
|
+
token-budget.json Per-phase token limits + warn thresholds
|
|
778
|
+
agents/
|
|
779
|
+
code-reviewer.md Phase 4 reviewer (CLI-aware: 2-model Claude / 3-model Copilot + Opus triage)
|
|
780
|
+
explorer.md Phase 1 codebase scanner
|
|
781
|
+
ios-architect.md iOS architecture review
|
|
782
|
+
android-architect.md Android architecture review
|
|
783
|
+
backend-architect.md Backend/API architecture review
|
|
784
|
+
security-auditor.md Security audit (OWASP)
|
|
785
|
+
rules/
|
|
786
|
+
code-style.md Naming, structure, patterns
|
|
787
|
+
git-conventions.md Commit messages, branching
|
|
788
|
+
testing.md Test naming, structure, coverage
|
|
789
|
+
tdd.md Red-Green-Refactor, testing pyramid
|
|
790
|
+
code-review.md Review priority, severity, checklist
|
|
791
|
+
security.md Keychain, ATS, credentials, privacy
|
|
792
|
+
performance.md Bottlenecks, caching strategy
|
|
793
|
+
debugging.md Scientific debugging method
|
|
794
|
+
app-store-guidelines.md App Store Review Guidelines
|
|
795
|
+
figma-pipeline.md Figma -> SwiftUI generation rules
|
|
796
|
+
swiftui-qa.md 3-layer test strategy, 13-item checklist
|
|
797
|
+
kotlin-android.md Kotlin & Android conventions
|
|
798
|
+
eval/
|
|
799
|
+
triage/
|
|
800
|
+
01-10/ 10 adversarial eval fixtures
|
|
801
|
+
scripts/
|
|
802
|
+
pre-commit-check.sh Secret detection hook
|
|
803
|
+
stack-swap.sh Auto stack detection (SessionStart)
|
|
804
|
+
keychain-save.sh Save tokens/JSON to macOS Keychain
|
|
805
|
+
github-ssh-setup.sh GitHub SSH key generation + setup
|
|
806
|
+
ui-tree-dumper.swift iOS accessibility tree dumper
|
|
807
|
+
eval-triage.mjs Eval runner for triage fixtures
|
|
808
|
+
validate-triage.mjs Runtime triage validator
|
|
809
|
+
validate-schemas.mjs Zero-dep shallow validator for *.schema.json
|
|
810
|
+
aggregate-metrics.mjs Telemetry aggregator
|
|
811
|
+
log-metric.sh Telemetry metric logger
|
|
812
|
+
phase-banner.sh Phase banner UI renderer
|
|
813
|
+
phase-tracker.sh Phase progress tracker
|
|
814
|
+
sync-parity-check.sh Claude↔Copilot↔repo parity checker
|
|
815
|
+
smoke-*.sh Contract smoke tests (10 suites, 115 assertions)
|
|
816
|
+
claude-md-template.md CLAUDE.md starter template
|
|
817
|
+
preferences-template.json Empty config template
|
|
818
|
+
|
|
819
|
+
docs/
|
|
820
|
+
features.md Full feature catalog
|
|
821
|
+
adr/ Architecture Decision Records (0001+)
|
|
822
|
+
|
|
823
|
+
CHANGELOG.md Version history
|
|
824
|
+
docs/architecture.md Mermaid diagrams: pipeline flow, modes, components
|
|
825
|
+
docs/best-practices.md Competitor-informed patterns and pipeline rules
|
|
826
|
+
SECURITY.md Vulnerability reporting policy
|
|
827
|
+
```
|
|
828
|
+
|
|
829
|
+
## Ecosystem Sync
|
|
830
|
+
|
|
831
|
+
The pipeline maintains consistency across multiple repositories and CLI targets:
|
|
832
|
+
|
|
833
|
+
```bash
|
|
834
|
+
# Claude Code # Copilot CLI
|
|
835
|
+
/multi-agent:sync # multi-agent-sync
|
|
836
|
+
/multi-agent:sync status # multi-agent-sync status
|
|
837
|
+
/multi-agent:sync to-copilot # multi-agent-sync to-copilot
|
|
838
|
+
/multi-agent:sync to-repo # multi-agent-sync to-repo
|
|
839
|
+
/multi-agent:sync release # multi-agent-sync release
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
| Target | What syncs |
|
|
843
|
+
| ------------------ | ---------------------------------------------------- |
|
|
844
|
+
| **Claude Code** | Source of truth — commands, agents, scripts |
|
|
845
|
+
| **Copilot CLI** | Summary mirror + 192 unified skills + scripts |
|
|
846
|
+
| **Pipeline Repo** | Genericized open-source version (no personal data) |
|
|
847
|
+
| **Website** | Version, phase/model counts, feature strings (EN+TR) |
|
|
848
|
+
| **Remote Control** | Pipeline feature references |
|
|
849
|
+
|
|
850
|
+
## License
|
|
851
|
+
|
|
852
|
+
MIT
|