@mmerterden/multi-agent-pipeline 8.6.1 → 10.0.6
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 +544 -2484
- package/README.md +117 -138
- package/docs/features.md +1 -1
- package/index.js +8 -10
- package/install/_adapters.mjs +5 -1
- package/install/_common.mjs +63 -0
- package/install/claude.mjs +14 -14
- package/install/copilot.mjs +14 -8
- package/install/index.mjs +85 -19
- package/install/templates/claude-hooks.json +18 -0
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +21 -6
- package/pipeline/adapters/_base.mjs +366 -14
- package/pipeline/adapters/antigravity.mjs +140 -0
- package/pipeline/adapters/codex.mjs +159 -0
- package/pipeline/adapters/copilot-chat-orchestration.mjs +148 -0
- package/pipeline/adapters/copilot-chat.mjs +34 -68
- package/pipeline/adapters/cursor-orchestration.mjs +152 -0
- package/pipeline/adapters/cursor.mjs +49 -90
- package/pipeline/agents/android-architect.md +5 -5
- package/pipeline/agents/backend-architect.md +4 -4
- package/pipeline/agents/code-reviewer.md +10 -10
- package/pipeline/agents/dev-critic.md +17 -17
- package/pipeline/agents/explorer.md +3 -3
- package/pipeline/agents/ios-architect.md +4 -4
- package/pipeline/agents/security-auditor.md +12 -12
- package/pipeline/agents/task-clarifier.md +18 -18
- package/pipeline/claude-md-template.md +3 -3
- package/pipeline/commands/archive-guard.md +3 -3
- package/pipeline/commands/figma-to-swiftui.md +10 -10
- package/pipeline/commands/multi-agent/_account-picker.md +13 -9
- package/pipeline/commands/multi-agent/_dev-context.md +15 -15
- package/pipeline/commands/multi-agent/_input-parser.md +4 -4
- package/pipeline/commands/multi-agent/_repo-picker.md +9 -9
- package/pipeline/commands/multi-agent/analysis-resolve.md +129 -0
- package/pipeline/commands/multi-agent/analysis.md +667 -0
- package/pipeline/commands/multi-agent/autopilot.md +22 -22
- package/pipeline/commands/multi-agent/build-optimize.md +77 -0
- package/pipeline/commands/multi-agent/channels.md +96 -96
- package/pipeline/commands/multi-agent/delete.md +19 -17
- package/pipeline/commands/multi-agent/dev-autopilot.md +23 -23
- package/pipeline/commands/multi-agent/dev-local-autopilot.md +23 -23
- package/pipeline/commands/multi-agent/dev-local.md +25 -22
- package/pipeline/commands/multi-agent/dev.md +49 -49
- package/pipeline/commands/multi-agent/diff-explain.md +4 -4
- package/pipeline/commands/multi-agent/garbage-collect.md +58 -0
- package/pipeline/commands/multi-agent/help.md +75 -66
- package/pipeline/commands/multi-agent/issue.md +3 -3
- package/pipeline/commands/multi-agent/jira.md +12 -12
- package/pipeline/commands/multi-agent/kill.md +6 -6
- package/pipeline/commands/multi-agent/language.md +12 -12
- package/pipeline/commands/multi-agent/local-autopilot.md +34 -34
- package/pipeline/commands/multi-agent/local.md +24 -25
- package/pipeline/commands/multi-agent/log.md +6 -6
- package/pipeline/commands/multi-agent/manual-test.md +3 -3
- package/pipeline/commands/multi-agent/prune-logs.md +60 -0
- package/pipeline/commands/multi-agent/purge.md +10 -7
- package/pipeline/commands/multi-agent/refactor.md +9 -9
- package/pipeline/commands/multi-agent/refs/analysis-template.md +1062 -0
- package/pipeline/commands/multi-agent/refs/android-guide.md +15 -13
- package/pipeline/commands/multi-agent/refs/audit-guide.md +20 -20
- package/pipeline/commands/multi-agent/refs/backend-guide.md +9 -9
- package/pipeline/commands/multi-agent/refs/channels/confluence.md +17 -17
- package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +30 -30
- package/pipeline/commands/multi-agent/refs/channels/jira.md +15 -15
- package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +19 -17
- package/pipeline/commands/multi-agent/refs/channels/pr.md +22 -22
- package/pipeline/commands/multi-agent/refs/channels/wiki.md +19 -19
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +11 -11
- package/pipeline/commands/multi-agent/refs/conventions-defaults.md +179 -0
- package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +35 -33
- package/pipeline/commands/multi-agent/refs/features/dev-critic.md +5 -5
- package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +6 -6
- package/pipeline/commands/multi-agent/refs/features/model-fallback.md +73 -0
- package/pipeline/commands/multi-agent/refs/features/plan-todos.md +1 -1
- package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +4 -4
- package/pipeline/commands/multi-agent/refs/features/repo-map.md +6 -6
- package/pipeline/commands/multi-agent/refs/features/shadow-git.md +2 -2
- package/pipeline/commands/multi-agent/refs/frontend-guide.md +16 -16
- package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +18 -18
- package/pipeline/commands/multi-agent/refs/keychain.md +18 -8
- package/pipeline/commands/multi-agent/refs/knowledge.md +9 -9
- package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +19 -19
- package/pipeline/commands/multi-agent/refs/phases/log-format.md +29 -9
- package/pipeline/commands/multi-agent/refs/phases/modes.md +33 -33
- package/pipeline/commands/multi-agent/refs/phases/operations.md +11 -11
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +93 -57
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +59 -28
- package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +115 -63
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
- package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +160 -63
- package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +33 -18
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +45 -43
- package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +54 -28
- package/pipeline/commands/multi-agent/refs/phases.md +17 -17
- package/pipeline/commands/multi-agent/refs/picker-contract.md +65 -0
- package/pipeline/commands/multi-agent/refs/progress-contract.md +37 -21
- package/pipeline/commands/multi-agent/refs/rules.md +83 -25
- package/pipeline/commands/multi-agent/refs/swiftui-guide.md +32 -30
- package/pipeline/commands/multi-agent/refs/tracker-contract.md +54 -30
- package/pipeline/commands/multi-agent/refs/wiki-capture.md +36 -33
- package/pipeline/commands/multi-agent/resume.md +9 -9
- package/pipeline/commands/multi-agent/review.md +24 -24
- package/pipeline/commands/multi-agent/scan.md +10 -10
- package/pipeline/commands/multi-agent/search.md +8 -8
- package/pipeline/commands/multi-agent/setup.md +111 -84
- package/pipeline/commands/multi-agent/stack.md +5 -5
- package/pipeline/commands/multi-agent/status.md +5 -5
- package/pipeline/commands/multi-agent/sync.md +123 -111
- package/pipeline/commands/multi-agent/test.md +6 -6
- package/pipeline/commands/multi-agent/update.md +1 -1
- package/pipeline/commands/multi-agent.md +66 -60
- package/pipeline/commands/sim-test.md +14 -14
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +1 -1
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +2 -2
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +2 -2
- package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +1 -1
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +2 -2
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +3 -3
- package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +4 -4
- package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +1 -1
- package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +1 -1
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +12 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +40 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +20 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +15 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +12 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +28 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +27 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +12 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +41 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +12 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +6 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +12 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +29 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +42 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +28 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +27 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +12 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +25 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +31 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +12 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +18 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +14 -0
- package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +12 -0
- package/pipeline/eval/golden-tasks/README.md +14 -14
- package/pipeline/eval/intent-cases.json +40 -0
- package/pipeline/eval/run-metrics-fixture.json +46 -0
- package/pipeline/eval/triage/01-empty-findings/notes.md +1 -1
- package/pipeline/eval/triage/02-real-blocker/notes.md +2 -2
- package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +1 -1
- package/pipeline/eval/triage/04-false-positive-reject/notes.md +1 -1
- package/pipeline/eval/triage/05-mixed-classification/notes.md +2 -2
- package/pipeline/eval/triage/06-severity-mismatch/notes.md +2 -2
- package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +1 -1
- package/pipeline/eval/triage/08-style-misclassified/notes.md +1 -1
- package/pipeline/eval/triage/09-cascading-finding/notes.md +2 -2
- package/pipeline/eval/triage/10-deferred-crossref/notes.md +2 -2
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +3 -3
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +2 -2
- package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +5 -5
- package/pipeline/eval/triage/README.md +4 -4
- package/pipeline/lib/account-resolver.sh +3 -3
- package/pipeline/lib/ask-choice.sh +98 -0
- package/pipeline/lib/channels-multi-repo.sh +3 -3
- package/pipeline/lib/classify-intent.sh +110 -0
- package/pipeline/lib/context-link-extractor.sh +3 -3
- package/pipeline/lib/credential-store-resolver.sh +3 -3
- package/pipeline/lib/credential-store.sh +9 -5
- package/pipeline/lib/extract-conventions.sh +1034 -0
- package/pipeline/lib/fetch-confluence.sh +3 -3
- package/pipeline/lib/fetch-crashlytics.sh +5 -5
- package/pipeline/lib/fetch-fortify.sh +5 -21
- package/pipeline/lib/fetch-swagger.sh +5 -5
- package/pipeline/lib/figma-screenshot.sh +536 -0
- package/pipeline/lib/issue-fetcher.sh +46 -20
- package/pipeline/lib/md2confluence-v3.py +1076 -0
- package/pipeline/lib/multi-repo-pipeline.sh +13 -22
- package/pipeline/lib/plan-todos.sh +7 -7
- package/pipeline/lib/post-pr-review.sh +53 -21
- package/pipeline/lib/repo-cache.sh +5 -5
- package/pipeline/lib/review-watch.sh +17 -13
- package/pipeline/lib/shadow-git.sh +7 -7
- package/pipeline/lib/submodule-detector.sh +3 -3
- package/pipeline/lib/vercel-deploy.sh +28 -15
- package/pipeline/preferences-template.json +21 -4
- package/pipeline/rules/app-store-guidelines.md +2 -2
- package/pipeline/rules/code-style.md +6 -6
- package/pipeline/rules/figma-pipeline.md +100 -2
- package/pipeline/rules/kotlin-android.md +8 -8
- package/pipeline/rules/security.md +4 -4
- package/pipeline/rules/tdd.md +1 -1
- package/pipeline/rules/testing.md +5 -5
- package/pipeline/schemas/agent-state.schema.json +55 -20
- package/pipeline/schemas/analysis-output.schema.json +7 -2
- package/pipeline/schemas/analysis-spec.schema.json +484 -0
- package/pipeline/schemas/clarify-output.schema.json +5 -5
- package/pipeline/schemas/conventions-output.schema.json +70 -0
- package/pipeline/schemas/dev-critic-output.schema.json +2 -2
- package/pipeline/schemas/diff-risk.schema.json +3 -3
- package/pipeline/schemas/figma-project-config.schema.json +3 -3
- package/pipeline/schemas/learnings-ledger.schema.json +39 -0
- package/pipeline/schemas/migrations/README.md +2 -2
- package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +5 -5
- package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +3 -3
- package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +4 -4
- package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +5 -5
- package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +3 -3
- package/pipeline/schemas/plan-todos.schema.json +4 -4
- package/pipeline/schemas/planning-output.schema.json +3 -3
- package/pipeline/schemas/prefs.schema.json +97 -13
- package/pipeline/schemas/reviewer-output.schema.json +7 -3
- package/pipeline/schemas/test-gap.schema.json +1 -1
- package/pipeline/schemas/token-budget.json +8 -8
- package/pipeline/schemas/triage-corpus.schema.json +1 -1
- package/pipeline/schemas/triage-output.schema.json +44 -6
- package/pipeline/scripts/README.md +64 -64
- package/pipeline/scripts/aggregate-metrics.mjs +55 -16
- package/pipeline/scripts/audit-log-rotate.sh +3 -3
- package/pipeline/scripts/audit-log.sh +20 -7
- package/pipeline/scripts/benchmark-phase-0.sh +6 -6
- package/pipeline/scripts/build-skills-index.mjs +15 -15
- package/pipeline/scripts/check-md-links.mjs +59 -0
- package/pipeline/scripts/classify-plan-safety.mjs +24 -18
- package/pipeline/scripts/cost-budget-check.mjs +160 -0
- package/pipeline/scripts/cost-table.json +23 -13
- package/pipeline/scripts/diff-explain.mjs +12 -12
- package/pipeline/scripts/diff-risk-score.mjs +18 -17
- package/pipeline/scripts/eval-golden-tasks-live.mjs +13 -10
- package/pipeline/scripts/eval-golden-tasks.mjs +3 -14
- package/pipeline/scripts/eval-intent.mjs +103 -0
- package/pipeline/scripts/eval-triage.mjs +3 -3
- package/pipeline/scripts/evidence-gate.mjs +155 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +9 -9
- package/pipeline/scripts/gc-tmp.sh +102 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +27 -21
- package/pipeline/scripts/gen-skills-index.mjs +6 -6
- package/pipeline/scripts/github-ssh-setup.sh +1 -1
- package/pipeline/scripts/keychain-save.sh +1 -1
- package/pipeline/scripts/keychain.py +6 -6
- package/pipeline/scripts/learnings-ledger.mjs +284 -0
- package/pipeline/scripts/lint-skills.mjs +80 -0
- package/pipeline/scripts/log-metric.sh +18 -9
- package/pipeline/scripts/match-skills.mjs +13 -8
- package/pipeline/scripts/memory-load.sh +3 -3
- package/pipeline/scripts/memory-save.sh +5 -5
- package/pipeline/scripts/migrate-prefs.mjs +17 -17
- package/pipeline/scripts/migrate-state.mjs +12 -12
- package/pipeline/scripts/output-quality-check.sh +7 -7
- package/pipeline/scripts/phase-banner.sh +5 -5
- package/pipeline/scripts/phase-tracker.sh +90 -53
- package/pipeline/scripts/pre-commit-check.sh +45 -5
- package/pipeline/scripts/pre-push-check.sh +7 -7
- package/pipeline/scripts/prune-logs.sh +118 -0
- package/pipeline/scripts/render-agent-log-cost.sh +55 -18
- package/pipeline/scripts/render-cost-summary.sh +9 -9
- package/pipeline/scripts/render-work-summary.sh +4 -4
- package/pipeline/scripts/repo-map.mjs +9 -9
- package/pipeline/scripts/run-aggregator.mjs +7 -6
- package/pipeline/scripts/run-metrics.mjs +129 -0
- package/pipeline/scripts/run-smokes.mjs +76 -0
- package/pipeline/scripts/scan-skills.sh +11 -11
- package/pipeline/scripts/search-logs.sh +8 -8
- package/pipeline/scripts/sign-skills.sh +2 -2
- package/pipeline/scripts/smoke-adapters.sh +79 -10
- package/pipeline/scripts/smoke-add-detail.sh +5 -5
- package/pipeline/scripts/smoke-agent-log-cost.sh +85 -6
- package/pipeline/scripts/smoke-agent-model-routing.sh +3 -3
- package/pipeline/scripts/smoke-ask-choice.sh +42 -0
- package/pipeline/scripts/smoke-bitbucket-contract.sh +19 -3
- package/pipeline/scripts/smoke-changelog-version.sh +47 -0
- package/pipeline/scripts/smoke-channels-flow.sh +1 -1
- package/pipeline/scripts/smoke-ci-workflows.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +3 -3
- package/pipeline/scripts/smoke-commands-skills-parity.sh +4 -4
- package/pipeline/scripts/smoke-community-gates.sh +75 -0
- package/pipeline/scripts/smoke-compliance-skills.sh +5 -5
- package/pipeline/scripts/smoke-cost-budget.sh +70 -0
- package/pipeline/scripts/smoke-cost-summary.sh +4 -4
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +50 -9
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +5 -5
- package/pipeline/scripts/smoke-delete-flow.sh +5 -5
- package/pipeline/scripts/smoke-dev-critic.sh +2 -2
- package/pipeline/scripts/smoke-diff-explain.sh +22 -3
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-dynamic-skill-loading.sh +1 -1
- package/pipeline/scripts/smoke-eval-live.sh +4 -4
- package/pipeline/scripts/smoke-evidence-gate.sh +93 -0
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +1 -1
- package/pipeline/scripts/smoke-extract-conventions.sh +163 -0
- package/pipeline/scripts/smoke-figma-android-parity.sh +1 -1
- package/pipeline/scripts/smoke-figma-credential-store.sh +3 -3
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +12 -12
- package/pipeline/scripts/smoke-figma-dispatch.sh +5 -5
- package/pipeline/scripts/smoke-figma-sync.sh +1 -1
- package/pipeline/scripts/smoke-gate-hooks.sh +56 -0
- package/pipeline/scripts/smoke-gc-tmp.sh +84 -0
- package/pipeline/scripts/smoke-identity-isolation.sh +7 -7
- package/pipeline/scripts/smoke-install-layout.sh +10 -10
- package/pipeline/scripts/smoke-intent-guard.sh +86 -0
- package/pipeline/scripts/smoke-issue-comment-template.sh +3 -3
- package/pipeline/scripts/smoke-issue-jira-triad.sh +1 -1
- package/pipeline/scripts/smoke-keychain.sh +6 -6
- package/pipeline/scripts/smoke-language-axis.sh +2 -2
- package/pipeline/scripts/smoke-learnings-ledger.sh +86 -0
- package/pipeline/scripts/smoke-lib-scripts.sh +2 -2
- package/pipeline/scripts/smoke-mcp-gate.sh +68 -0
- package/pipeline/scripts/smoke-md-links.sh +8 -0
- package/pipeline/scripts/smoke-md2confluence.sh +126 -0
- package/pipeline/scripts/smoke-metrics-cache-ratio.sh +72 -0
- package/pipeline/scripts/smoke-migrate-state.sh +10 -10
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +7 -4
- package/pipeline/scripts/smoke-model-fallback.sh +80 -0
- package/pipeline/scripts/smoke-multi-repo-integration.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +115 -0
- package/pipeline/scripts/smoke-no-token-prompt.sh +31 -15
- package/pipeline/scripts/smoke-pat-audit.sh +26 -5
- package/pipeline/scripts/smoke-per-repo-memory.sh +1 -1
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +2 -2
- package/pipeline/scripts/smoke-phase-banner.sh +1 -1
- package/pipeline/scripts/smoke-phase-tracker.sh +1 -1
- package/pipeline/scripts/smoke-phase0-bridge-contract.sh +4 -4
- package/pipeline/scripts/smoke-phase4-triage.sh +94 -7
- package/pipeline/scripts/smoke-plan-approval-gate.sh +3 -3
- package/pipeline/scripts/smoke-plan-safety.sh +1 -1
- package/pipeline/scripts/smoke-plan-todos.sh +7 -4
- package/pipeline/scripts/smoke-pr-review-actions.sh +2 -2
- package/pipeline/scripts/smoke-pre-commit.sh +34 -2
- package/pipeline/scripts/smoke-pref-migration.sh +1 -1
- package/pipeline/scripts/smoke-prefs-language.sh +5 -5
- package/pipeline/scripts/smoke-progress-contract.sh +3 -3
- package/pipeline/scripts/smoke-prune-logs.sh +87 -0
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-readme-counts.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +9 -9
- package/pipeline/scripts/smoke-review-watch.sh +12 -0
- package/pipeline/scripts/smoke-run-aggregator.sh +7 -7
- package/pipeline/scripts/smoke-run-metrics.sh +50 -0
- package/pipeline/scripts/smoke-schema-validation.sh +18 -11
- package/pipeline/scripts/smoke-search.sh +5 -5
- package/pipeline/scripts/smoke-shared-runtime.sh +108 -0
- package/pipeline/scripts/smoke-skill-authoring.sh +13 -13
- package/pipeline/scripts/smoke-skill-language.sh +4 -4
- package/pipeline/scripts/smoke-skill-manifest.sh +2 -2
- package/pipeline/scripts/smoke-skill-scan.sh +2 -2
- package/pipeline/scripts/smoke-stack-swap.sh +2 -2
- package/pipeline/scripts/smoke-subagent-validators.sh +8 -5
- package/pipeline/scripts/smoke-sync-adapters.sh +1 -1
- package/pipeline/scripts/smoke-sync-delegation.sh +7 -7
- package/pipeline/scripts/smoke-sync-parity.sh +1 -1
- package/pipeline/scripts/smoke-tasklist-ordering.sh +7 -7
- package/pipeline/scripts/smoke-telemetry.sh +1 -1
- package/pipeline/scripts/smoke-test-gap.sh +5 -5
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-tracker-contract.sh +6 -6
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +9 -1
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-contradiction.sh +1 -1
- package/pipeline/scripts/smoke-validator-gates.sh +164 -0
- package/pipeline/scripts/smoke-vercel-deploy-redact.sh +11 -11
- package/pipeline/scripts/smoke-wiki-integration.sh +2 -2
- package/pipeline/scripts/smoke-work-summary.sh +3 -3
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/smoke-write-state.sh +2 -2
- package/pipeline/scripts/stack-swap.sh +3 -3
- package/pipeline/scripts/sync-adapters.mjs +37 -10
- package/pipeline/scripts/sync-parity-check.sh +6 -6
- package/pipeline/scripts/test-gap-scan.mjs +11 -13
- package/pipeline/scripts/token-budget-report.mjs +4 -4
- package/pipeline/scripts/triage-memory.mjs +6 -6
- package/pipeline/scripts/uninstall.mjs +42 -4
- package/pipeline/scripts/update-issue-progress.sh +2 -2
- package/pipeline/scripts/validate-analysis.mjs +19 -21
- package/pipeline/scripts/validate-diff-risk.mjs +4 -4
- package/pipeline/scripts/validate-planning.mjs +3 -3
- package/pipeline/scripts/validate-reviewer.mjs +4 -4
- package/pipeline/scripts/validate-schemas.mjs +4 -4
- package/pipeline/scripts/validate-test-gap.mjs +4 -4
- package/pipeline/scripts/validate-triage.mjs +68 -9
- package/pipeline/scripts/verify-skills.sh +7 -7
- package/pipeline/scripts/write-state.mjs +49 -11
- package/pipeline/skills/.skill-manifest.json +245 -149
- package/pipeline/skills/.skills-index.json +236 -47
- package/pipeline/skills/figma-android/README.md +5 -5
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
- package/pipeline/skills/figma-common/README.md +29 -29
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
- package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +12 -12
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
- package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +38 -38
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +57 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +43 -43
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
- package/pipeline/skills/shared/README.md +62 -41
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
- package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
- package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
- package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
- package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
- package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
- package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
- package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
- package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
- package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
- package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
- package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
- package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
- package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
- package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
- package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
- package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
- package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
- package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
- package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
- package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
- package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
- package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
- package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
- package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
- package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
- package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
- package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
- package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
- package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
- package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
- package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
- package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
- package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
- package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
- package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
- package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
- package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
- package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
- package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
- package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
- package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
- package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
- package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
- package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
- package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
- package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
- package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
- package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
- package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
- package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
- package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
- package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
- package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
- package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
- package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
- package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
- package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
- package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
- package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
- package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
- package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
- package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
- package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
- package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
- package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
- package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
- package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
- package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
- package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
- package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
- package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
- package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
- package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
- package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
- package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
- package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
- package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
- package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
- package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
- package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
- package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
- package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
- package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
- package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
- package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
- package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
- package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
- package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
- package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
- package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
- package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
- package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
- package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
- package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
- package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
- package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
- package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
- package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
- package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
- package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
- package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
- package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
- package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
- package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
- package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
- package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
- package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
- package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
- package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
- package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
- package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
- package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
- package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
- package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
- package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
- package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
- package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
- package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
- package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
- package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
- package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
- package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
- package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
- package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
- package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
- package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
- package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
- package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
- package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
- package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
- package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
- package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
- package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
- package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
- package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
- package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
- package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
- package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
- package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
- package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
- package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
- package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
- package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
- package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
- package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
- package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
- package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
- package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
- package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
- package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
- package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
- package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
- package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
- package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
- package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
- package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
- package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
- package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
- package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
- package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
- package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
- package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
- package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
- package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
- package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
- package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
- package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
- package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
- package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
- package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
- package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
- package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
- package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
- package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
- package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
- package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
- package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
- package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
- package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
- package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
- package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
- package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
- package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
- package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
- package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
- package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
- package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
- package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
- package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
- package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
- package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
- package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
- package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
- package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
- package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
- package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
- package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
- package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
- package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
- package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
- package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
- package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
- package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
- package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
- package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
- package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
- package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
- package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
- package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
- package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
- package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
- package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
- package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
- package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
- package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
- package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
- package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
- package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
- package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
- package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
- package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
- package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
- package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
- package/pipeline/skills/skills-index.md +213 -192
- package/docs/GENERICITY-REVIEW.md +0 -277
- package/docs/STABILITY-FIX-PLAN.md +0 -168
- package/pipeline/scripts/.last-figma-sync-plan.json +0 -23
- package/pipeline/scripts/README-figma-smokes.md +0 -34
- package/pipeline/scripts/figma-placeholder-map.json +0 -191
- package/pipeline/scripts/import-figma-skills.sh +0 -253
- package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
- package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
- package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
- package/pipeline/scripts/smoke-personal-data.sh +0 -82
- package/pipeline/scripts/sync-figma-source.sh +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
- package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
- package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
- package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# PHASE 6
|
|
1
|
+
# PHASE 6 - Code Connect Publish
|
|
2
2
|
|
|
3
3
|
Publish Code Connect mapping to Figma so developers see live Swift snippets in Dev Mode.
|
|
4
4
|
|
|
@@ -13,12 +13,12 @@ REF: `reference/code-connect.md`
|
|
|
13
13
|
| Condition | Action |
|
|
14
14
|
|-----------|--------|
|
|
15
15
|
| User requested "skip Code Connect" | SKIP → Output "Phase 6 skipped per user request" |
|
|
16
|
-
| `agent-state.discovery.status === "ALREADY_MAPPED"` and `"Code Connect" not in discovery.gaps` | SKIP → Output "Phase 6 skipped
|
|
17
|
-
| `agent-state.discovery.status === "GAP_ANALYSIS"` and `"Code Connect" not in discovery.gaps` | SKIP
|
|
18
|
-
| `.figma.swift` already exists at the target component path AND `figma client status` reports it published | SKIP → Output "Phase 6 skipped
|
|
16
|
+
| `agent-state.discovery.status === "ALREADY_MAPPED"` and `"Code Connect" not in discovery.gaps` | SKIP → Output "Phase 6 skipped - already published per Phase 1.5 discovery" |
|
|
17
|
+
| `agent-state.discovery.status === "GAP_ANALYSIS"` and `"Code Connect" not in discovery.gaps` | SKIP - same as above |
|
|
18
|
+
| `.figma.swift` already exists at the target component path AND `figma client status` reports it published | SKIP → Output "Phase 6 skipped - .figma.swift already published" |
|
|
19
19
|
| All other cases | EXECUTE |
|
|
20
20
|
|
|
21
|
-
The discovery state is the primary signal; the local `.figma.swift` check is a secondary safety net for runs that bypassed Phase 1.5 (e.g. legacy resume from an older state file). Both checks default to EXECUTE when uncertain
|
|
21
|
+
The discovery state is the primary signal; the local `.figma.swift` check is a secondary safety net for runs that bypassed Phase 1.5 (e.g. legacy resume from an older state file). Both checks default to EXECUTE when uncertain - duplicate publishes are idempotent on Figma's side.
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -54,7 +54,7 @@ TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null) && echo "OK"
|
|
|
54
54
|
| `OK` | Verify prefix (see below) |
|
|
55
55
|
| `MISSING` | HALT |
|
|
56
56
|
|
|
57
|
-
**CRITICAL
|
|
57
|
+
**CRITICAL - Token prefix check:**
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
60
|
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
|
|
@@ -69,8 +69,8 @@ fi
|
|
|
69
69
|
|
|
70
70
|
| Result | Action |
|
|
71
71
|
|--------|--------|
|
|
72
|
-
| `VALID_PAT` | Proceed
|
|
73
|
-
| `WRONG_TOKEN_TYPE` | **HALT**
|
|
72
|
+
| `VALID_PAT` | Proceed - this is a Figma Personal Access Token |
|
|
73
|
+
| `WRONG_TOKEN_TYPE` | **HALT** - `figu_` prefix = MCP OAuth token. This token does NOT work with Code Connect CLI (returns 403). The `FIGMA_ACCESS_TOKEN` keychain entry contains an MCP token instead of a PAT. User must save a valid PAT: `"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\"` |
|
|
74
74
|
| `UNKNOWN_TOKEN` | Proceed with caution, verify publish output for 403 errors |
|
|
75
75
|
|
|
76
76
|
**Do NOT use `FIGMA_MCP_TOKEN`** for Code Connect. MCP OAuth tokens (`figu_*`) lack the scopes needed by the Code Connect REST API.
|
|
@@ -123,7 +123,7 @@ ls {artifactPath}/pass1/component_properties.json
|
|
|
123
123
|
| Source | Data |
|
|
124
124
|
|--------|------|
|
|
125
125
|
| `pass1/component_properties.json` | `isComponent`, `componentPropertyDefinitions` |
|
|
126
|
-
| `pass3/04c_variant_config_analysis.json` | Boolean classifications and Swift types (from Phase 3H). Use to determine correct `@FigmaBoolean` mappings
|
|
126
|
+
| `pass3/04c_variant_config_analysis.json` | Boolean classifications and Swift types (from Phase 3H). Use to determine correct `@FigmaBoolean` mappings - e.g., `KNOWN_SUBCOMPONENT` → map to `nil`/default-config, `ICON_BOOLEAN_GATED` with `Optional3<Image>` → map to `.default`/`.none`. **No ternary expressions.** |
|
|
127
127
|
| `{sourceLocation}/FIGMA.md` Variant Mapping | Figma Value → Swift enum mapping |
|
|
128
128
|
| `{sourceLocation}/FIGMA.md` Usage | Default values, body template |
|
|
129
129
|
|
|
@@ -141,9 +141,9 @@ ls {artifactPath}/pass1/component_properties.json
|
|
|
141
141
|
|------------|------------------|---------|
|
|
142
142
|
| `TEXT` | `@FigmaString("Name")` | `@FigmaString("Label") var label: String = "Default"` |
|
|
143
143
|
| `BOOLEAN` | `@FigmaBoolean("Name", hideDefault: true)` | `@FigmaBoolean("Disabled") var disabled: Bool = false` |
|
|
144
|
-
| `BOOLEAN` (non-Bool type) | `@FigmaBoolean("Name", mapping: [...], hideDefault: true)` | `@FigmaBoolean("Left Icon", mapping: [true: Image(...), false: nil], hideDefault: true) var leftIcon: Image? = nil`
|
|
145
|
-
| `VARIANT` | `@FigmaEnum("Name", mapping: [...])` | `@FigmaEnum("Size", mapping: ["S": .small])`
|
|
146
|
-
| `INSTANCE_SWAP` | `@FigmaInstance("Name")` | `@FigmaInstance("Icon") var icon: AnyView?`
|
|
144
|
+
| `BOOLEAN` (non-Bool type) | `@FigmaBoolean("Name", mapping: [...], hideDefault: true)` | `@FigmaBoolean("Left Icon", mapping: [true: Image(...), false: nil], hideDefault: true) var leftIcon: Image? = nil` - **hideDefault trap:** set default to the value you want HIDDEN (typically `nil`), NOT the `true` mapping value. See `reference/code-connect.md` section3 for details. |
|
|
145
|
+
| `VARIANT` | `@FigmaEnum("Name", mapping: [...])` | `@FigmaEnum("Size", mapping: ["S": .small])` - MUST use implicit shorthand (`.small` NEVER `Type.small`) |
|
|
146
|
+
| `INSTANCE_SWAP` | `@FigmaInstance("Name")` | `@FigmaInstance("Icon") var icon: AnyView?` - **no hideDefault support**, use `@FigmaBoolean` with mapping instead when controlled by a boolean toggle |
|
|
147
147
|
|
|
148
148
|
---
|
|
149
149
|
|
|
@@ -217,7 +217,7 @@ struct {componentName}FigmaConnect: FigmaConnect {
|
|
|
217
217
|
}
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
-
### 2.4 Multi-Variant (string enum
|
|
220
|
+
### 2.4 Multi-Variant (string enum - separate structs per variant)
|
|
221
221
|
|
|
222
222
|
```swift
|
|
223
223
|
struct {componentName}PrimaryFigmaConnect: FigmaConnect {
|
|
@@ -228,18 +228,18 @@ struct {componentName}PrimaryFigmaConnect: FigmaConnect {
|
|
|
228
228
|
}
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
-
### 2.5 Multi-Variant (boolean gate
|
|
231
|
+
### 2.5 Multi-Variant (boolean gate - computed variant property)
|
|
232
232
|
|
|
233
233
|
When a boolean toggle changes the component's form (e.g., "Label" on/off):
|
|
234
234
|
```swift
|
|
235
|
-
// Default struct
|
|
235
|
+
// Default struct - no variant property (matches when boolean is true/default)
|
|
236
236
|
struct {componentName}FigmaConnect: FigmaConnect {
|
|
237
237
|
let component = {componentName}.self
|
|
238
238
|
let figmaNodeUrl: String = "https://figma.com/design/{fileKey}/?node-id={nodeId}"
|
|
239
239
|
var body: some View { ... }
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
// Alternative struct
|
|
242
|
+
// Alternative struct - matches when boolean is false
|
|
243
243
|
struct {componentName}IconOnlyFigmaConnect: FigmaConnect {
|
|
244
244
|
let component = {componentName}.self
|
|
245
245
|
let figmaNodeUrl: String = "https://figma.com/design/{fileKey}/?node-id={nodeId}"
|
|
@@ -249,7 +249,7 @@ struct {componentName}IconOnlyFigmaConnect: FigmaConnect {
|
|
|
249
249
|
```
|
|
250
250
|
Figma shows the most specific matching struct.
|
|
251
251
|
|
|
252
|
-
### 2.6 Icon/Symbol (no component
|
|
252
|
+
### 2.6 Icon/Symbol (no component - for bulk icon Code Connect)
|
|
253
253
|
|
|
254
254
|
For simple icon nodes without component properties:
|
|
255
255
|
```swift
|
|
@@ -262,10 +262,10 @@ No `let component`, no property wrappers. Generated in bulk via `generate_icons.
|
|
|
262
262
|
|
|
263
263
|
Use `FIGMA.md` Variant Mapping section to build the `@FigmaEnum` mappings.
|
|
264
264
|
|
|
265
|
-
**CRITICAL
|
|
265
|
+
**CRITICAL - Implicit Enum Shorthand:**
|
|
266
266
|
- ALL enum values in `@FigmaEnum` mappings MUST use implicit shorthand: `.large` NOT `AvatarPassengers.Size.large`
|
|
267
267
|
- Variable types use the nested type path: `AvatarPassengers.Size` NOT the old top-level name
|
|
268
|
-
- The `body` init call MUST also use implicit shorthand: `AvatarPassengers(size: size, loyaltyType: loyaltyType)`
|
|
268
|
+
- The `body` init call MUST also use implicit shorthand: `AvatarPassengers(size: size, loyaltyType: loyaltyType)` - the variable already carries the type
|
|
269
269
|
|
|
270
270
|
---
|
|
271
271
|
|
|
@@ -357,7 +357,7 @@ export FIGMA_ACCESS_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1)
|
|
|
357
357
|
|
|
358
358
|
### 5.2 Publish via Wrapper Script
|
|
359
359
|
|
|
360
|
-
**Always use the wrapper script**
|
|
360
|
+
**Always use the wrapper script** - it handles validation failures from other components automatically:
|
|
361
361
|
|
|
362
362
|
```bash
|
|
363
363
|
bash .instructions/figma/figma-to-swiftui/scripts/code-connect-publish.sh
|
|
@@ -374,17 +374,17 @@ The wrapper script:
|
|
|
374
374
|
3. Restores `figma.config.json` to original state via trap (crash-safe)
|
|
375
375
|
4. Reports excluded components as warnings
|
|
376
376
|
|
|
377
|
-
**CRITICAL
|
|
377
|
+
**CRITICAL - Check exit code.** `exit code 0` = components published. `exit code 1` = **NOTHING published** (entire batch rejected). The "Successfully connected component" lines in output mean **parse success**, NOT publish success.
|
|
378
378
|
|
|
379
379
|
### 5.3 Result Handling
|
|
380
380
|
|
|
381
381
|
| Result | Action |
|
|
382
382
|
|--------|--------|
|
|
383
383
|
| Script exits 0 | Proceed to GATE 6 |
|
|
384
|
-
| Script exits 0 with WARNING block | Proceed
|
|
385
|
-
| Script exits 1 with "403" | **HALT**
|
|
384
|
+
| Script exits 0 with WARNING block | Proceed - stale components were auto-excluded and config restored. Note excluded components in IMPLEMENTATION_HISTORY. |
|
|
385
|
+
| Script exits 1 with "403" | **HALT** - token invalid or wrong type. Check prefix: `figd_` = PAT (correct), `figu_` = MCP token (wrong). Re-read PRE-CHECK step 3 token prefix check. |
|
|
386
386
|
| Script exits 1, validation failure on **current** component | Fix the `.figma.swift` mapping, retry |
|
|
387
|
-
| Script exits 1, retry also failed | **HALT**
|
|
387
|
+
| Script exits 1, retry also failed | **HALT** - deeper issue. Check output for details. |
|
|
388
388
|
| Other error | HALT |
|
|
389
389
|
|
|
390
390
|
### 5.4 Fallback (manual publish)
|
|
@@ -417,7 +417,7 @@ USER_ACTION_REQUIRED: Options:
|
|
|
417
417
|
|
|
418
418
|
## GATE 5.5: BUILD_VERIFY
|
|
419
419
|
|
|
420
|
-
Code Connect publish does NOT compile Swift
|
|
420
|
+
Code Connect publish does NOT compile Swift - it only validates against the Figma API. A `.figma.swift` file with compile errors will publish successfully but break the project build. Verify compilation after publish:
|
|
421
421
|
|
|
422
422
|
```bash
|
|
423
423
|
xcodebuild build -project "$(git rev-parse --show-toplevel)/{build.xcodeproj}" \
|
|
@@ -429,13 +429,13 @@ xcodebuild build -project "$(git rev-parse --show-toplevel)/{build.xcodeproj}" \
|
|
|
429
429
|
|--------|--------|
|
|
430
430
|
| Build succeeds | Proceed to GATE 6 |
|
|
431
431
|
| Build fails on `.figma.swift` | Fix compile errors, re-run build |
|
|
432
|
-
| Build fails on unrelated file | Pre-existing error
|
|
432
|
+
| Build fails on unrelated file | Pre-existing error - proceed (note in history) |
|
|
433
433
|
|
|
434
434
|
**Common `.figma.swift` compile errors:**
|
|
435
435
|
- Fully-qualified enum path: `ComponentName.EnumType.case` → change to `.case`
|
|
436
436
|
- Wrong type: `var x: EnumType` → should be `ComponentName.EnumType`
|
|
437
437
|
- Missing import: add `import Figma` and `import SwiftUI`
|
|
438
|
-
- Stale property: component changed after Code Connect was written
|
|
438
|
+
- Stale property: component changed after Code Connect was written - update mapping
|
|
439
439
|
|
|
440
440
|
---
|
|
441
441
|
|
|
@@ -483,10 +483,10 @@ python3 .instructions/figma/figma-to-swiftui/scripts/phase6-finalize.py \
|
|
|
483
483
|
|
|
484
484
|
| Result | Action |
|
|
485
485
|
|--------|--------|
|
|
486
|
-
| Exit 0, `"action": "updated"` | Registry updated
|
|
487
|
-
| Exit 0, `"action": "created"` | New registry file created
|
|
488
|
-
| Exit 0, `"action": "already_set"` | Already marked
|
|
489
|
-
| Exit 1 | HALT
|
|
486
|
+
| Exit 0, `"action": "updated"` | Registry updated - proceed |
|
|
487
|
+
| Exit 0, `"action": "created"` | New registry file created - proceed |
|
|
488
|
+
| Exit 0, `"action": "already_set"` | Already marked - proceed |
|
|
489
|
+
| Exit 1 | HALT - registry update failed |
|
|
490
490
|
|
|
491
491
|
**Why this matters:** The `confluence-component-status.py` dashboard reads `codeConnect.ios` from these registry files to determine if a component is "implemented". Without this update, the component won't appear as implemented in the status dashboard.
|
|
492
492
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Phase 7
|
|
1
|
+
# Phase 7 - Wiki Documentation
|
|
2
2
|
|
|
3
3
|
Phase 7 generates markdown documentation for the GitHub Wiki.
|
|
4
4
|
|
|
@@ -11,9 +11,9 @@ See `phases/phase-7a-wiki-generate.md`.
|
|
|
11
11
|
Generates **two separate pages** per component in the wiki submodule at:
|
|
12
12
|
`{repos.wiki.path}/FigmaComponents/{category}/{componentName}/`
|
|
13
13
|
|
|
14
|
-
- `{ComponentName}.md`
|
|
15
|
-
- `{ComponentName}-iOS.md`
|
|
16
|
-
- `assets/`
|
|
14
|
+
- `{ComponentName}.md` - platform-agnostic main page (Variants, Overview, Testing IDs, Localization, Accessibility, Analytics, Sub-Components, Platform Implementations, Changelog)
|
|
15
|
+
- `{ComponentName}-iOS.md` - iOS-specific sub-page (Initializer, Usage, iOS utility patterns, Code Connect, Snapshot Tests, Changelog)
|
|
16
|
+
- `assets/` - screenshots (Figma + iOS snapshots)
|
|
17
17
|
|
|
18
18
|
This mirrors the old Confluence structure (main.html + ios.html) in wiki markdown format.
|
|
19
19
|
|
|
@@ -29,7 +29,7 @@ All images use GitHub Wiki double-bracket syntax with absolute paths from wiki r
|
|
|
29
29
|
[[/FigmaComponents/{category}/{componentName}/assets/{filename}|{alt}]]
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Do NOT use `` markdown syntax or raw GitHub URLs
|
|
32
|
+
Do NOT use `` markdown syntax or raw GitHub URLs - they do not render on GitHub Wiki.
|
|
33
33
|
|
|
34
34
|
## Confluence Sync (Separate)
|
|
35
35
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# PHASE 7A
|
|
1
|
+
# PHASE 7A - Confluence Documentation: Generate XHTML
|
|
2
2
|
|
|
3
3
|
Generate platform-agnostic main page + iOS sub-page as XHTML artifacts.
|
|
4
4
|
No network access required. Upload is handled by Phase 7B.
|
|
@@ -8,7 +8,7 @@ PREV: Phase 6 (Code Connect)
|
|
|
8
8
|
NEXT: Phase 7B (Upload to Confluence, VPN required)
|
|
9
9
|
TOOL RESTRICTIONS: No Edit
|
|
10
10
|
|
|
11
|
-
> **VPN Note:** This phase generates XHTML locally
|
|
11
|
+
> **VPN Note:** This phase generates XHTML locally - no VPN needed. Colleagues
|
|
12
12
|
> without VPN access can run this phase and commit the Confluence documentation directory.
|
|
13
13
|
> A colleague with VPN then runs Phase 7B to upload.
|
|
14
14
|
>
|
|
@@ -25,7 +25,7 @@ Read: {artifactPath}/IMPLEMENTATION_HISTORY.md
|
|
|
25
25
|
Read: {componentLocation}/{componentName}.swift
|
|
26
26
|
Read: {componentLocation}/FIGMA.md
|
|
27
27
|
Read: {artifactPath}/pass1/screenshot.png (verify exists)
|
|
28
|
-
Read: {artifactPath}/pass1/screenshots/variants.md (if exists
|
|
28
|
+
Read: {artifactPath}/pass1/screenshots/variants.md (if exists - variant property values)
|
|
29
29
|
Read: {artifactPath}/pass3/07_implementation_spec.md
|
|
30
30
|
Read: {artifactPath}/pass3/08_utility_integration.md
|
|
31
31
|
Read: {artifactPath}/pass3/03_nested_components.md
|
|
@@ -54,14 +54,14 @@ EXTRACT:
|
|
|
54
54
|
- `componentLocation`, `artifactPath`, `confluencePath`
|
|
55
55
|
- `complexity` (SIMPLE/COMPLEX from pass3/07)
|
|
56
56
|
- `registryData` (testingIdentifiers, localizationKeys, accessibilityKeys, analyticsEvents)
|
|
57
|
-
- `confluenceStatus`
|
|
57
|
+
- `confluenceStatus` - from registry `confluence` field: `{ page, ios, android }` (null = not yet created)
|
|
58
58
|
- Initializer signature (from FIGMA.md)
|
|
59
59
|
- Usage examples (from FIGMA.md)
|
|
60
60
|
- Nested components (from FIGMA.md / pass3/03)
|
|
61
61
|
- Code Connect status (from FIGMA.md Code Connect section, if exists)
|
|
62
62
|
- Description, screen, section, size (from pass3/07)
|
|
63
63
|
|
|
64
|
-
If `confluence.page` is non-null, this is an **update**
|
|
64
|
+
If `confluence.page` is non-null, this is an **update** - note existing URLs in the output.
|
|
65
65
|
If `confluence.page` is null, this is a **first-time creation**.
|
|
66
66
|
|
|
67
67
|
If IMPLEMENTATION_HISTORY.md, the Swift file, or FIGMA.md is missing:
|
|
@@ -123,10 +123,10 @@ Write `{confluencePath}/main.html` using the template below.
|
|
|
123
123
|
| `{FILE_KEY}`, `{NODE_ID}` | From context |
|
|
124
124
|
| `{SCREEN}`, `{SECTION}`, `{SIZE}` | From pass3/07 metadata |
|
|
125
125
|
| `{OVERVIEW_TEXT}` | 2-3 sentence description from pass3/07 |
|
|
126
|
-
| Testing Identifiers table | `registryData.testingIdentifiers`
|
|
127
|
-
| Localization Keys table | `registryData.localizationKeys`
|
|
128
|
-
| Accessibility tables | `registryData.accessibilityKeys`
|
|
129
|
-
| Analytics Events | `registryData.analyticsEvents`
|
|
126
|
+
| Testing Identifiers table | `registryData.testingIdentifiers` - columns: Element (usage), Key, Value |
|
|
127
|
+
| Localization Keys table | `registryData.localizationKeys` - columns: Element, Key, Default |
|
|
128
|
+
| Accessibility tables | `registryData.accessibilityKeys` - Labels + Hints |
|
|
129
|
+
| Analytics Events | `registryData.analyticsEvents` - element + event (markdown text) |
|
|
130
130
|
| Sub-Components | From FIGMA.md nested components / pass3/03 |
|
|
131
131
|
| Platform links | `{ComponentName} - iOS`, `{ComponentName} - Android` |
|
|
132
132
|
| Changelog | Current date + "Initial documentation" |
|
|
@@ -266,11 +266,11 @@ Write `{confluencePath}/main.html` using the template below.
|
|
|
266
266
|
**IMPORTANT:** Replace all template variables with actual data. Remove HTML comments. The output must be valid XHTML.
|
|
267
267
|
|
|
268
268
|
**XHTML Attribute Escaping:** All dynamic text inserted into XML attribute values (`ri:filename`, `ri:content-title`) MUST have these characters escaped:
|
|
269
|
-
- `&` → `&` (e.g., `
|
|
269
|
+
- `&` → `&` (e.g., `R&D Center` → `R&D Center`)
|
|
270
270
|
- `"` → `"`
|
|
271
271
|
- `<` → `<`, `>` → `>`
|
|
272
272
|
|
|
273
|
-
Text inside `<![CDATA[...]]>` blocks does NOT need escaping. Text inside element content (between tags) needs `&` and `<` escaped. Filenames on disk keep the original characters
|
|
273
|
+
Text inside `<![CDATA[...]]>` blocks does NOT need escaping. Text inside element content (between tags) needs `&` and `<` escaped. Filenames on disk keep the original characters - the XML parser decodes `&` back to `&` when resolving attachment references.
|
|
274
274
|
|
|
275
275
|
---
|
|
276
276
|
|
|
@@ -417,7 +417,7 @@ Write `{confluencePath}/ios.html` using the template below.
|
|
|
417
417
|
<hr/>
|
|
418
418
|
<!-- END IF analytics -->
|
|
419
419
|
|
|
420
|
-
<!-- Code Connect section: SKIP
|
|
420
|
+
<!-- Code Connect section: SKIP - decoupled from Confluence. Lives in Figma Dev Mode. -->
|
|
421
421
|
<!-- If a .figma.swift file exists, optionally show a one-line "Code Connect: Published" badge. -->
|
|
422
422
|
<!-- Otherwise omit entirely. -->
|
|
423
423
|
|
|
@@ -443,7 +443,7 @@ Write `{confluencePath}/ios.html` using the template below.
|
|
|
443
443
|
<td><ac:image ac:width="{SNAPSHOT_WIDTH}"><ri:attachment ri:filename="ios_dark_{variant}.png"/></ac:image></td>
|
|
444
444
|
</tr>
|
|
445
445
|
|
|
446
|
-
<!-- IF COMPLEX component
|
|
446
|
+
<!-- IF COMPLEX component - check dependencies from component's init: -->
|
|
447
447
|
<!-- No closure deps: ComponentName().modifier(value) -->
|
|
448
448
|
<!-- With closure dep (trailing): ComponentName { action() }.modifier(value) -->
|
|
449
449
|
<!-- With non-closure dep: ComponentName(dep: value).modifier(value) -->
|
|
@@ -529,7 +529,7 @@ Write `{confluencePath}/ios.html` using the template below.
|
|
|
529
529
|
</tbody></table>
|
|
530
530
|
```
|
|
531
531
|
|
|
532
|
-
**IMPORTANT:** Replace all template variables. Remove HTML comments. Output valid XHTML. Include only sections that have data
|
|
532
|
+
**IMPORTANT:** Replace all template variables. Remove HTML comments. Output valid XHTML. Include only sections that have data - skip empty sections entirely (don't show "No X" on the iOS page, just omit the section).
|
|
533
533
|
|
|
534
534
|
---
|
|
535
535
|
|
|
@@ -547,16 +547,16 @@ The script outputs JSON with `status`, `violations`, `warnings`, and `stats`.
|
|
|
547
547
|
|
|
548
548
|
### What the script checks
|
|
549
549
|
|
|
550
|
-
**main.html
|
|
550
|
+
**main.html - Structure:**
|
|
551
551
|
- Required sections: Variants, Overview, Testing Identifiers, Localization Keys, Accessibility, Analytics Events, Sub-Components, Platform Implementations, Changelog
|
|
552
552
|
- Placeholder text accepted for empty sections (e.g., "No testing identifiers")
|
|
553
553
|
|
|
554
|
-
**ios.html
|
|
554
|
+
**ios.html - Structure:**
|
|
555
555
|
- Required sections: Initializer, Usage, Changelog
|
|
556
556
|
- Back-link to main page present
|
|
557
557
|
- Snapshot Tests section present if snapshot assets exist
|
|
558
558
|
|
|
559
|
-
**Both files
|
|
559
|
+
**Both files - Integrity:**
|
|
560
560
|
- No unreplaced template variables (`{ComponentName}`, `{DESCRIPTION}`, etc.)
|
|
561
561
|
- No remaining template comments (`<!-- IF`, `<!-- END`, `<!-- ELSE`)
|
|
562
562
|
- No unescaped `&` in XML attributes (`ri:filename`, `ri:content-title`)
|
|
@@ -580,7 +580,7 @@ The script outputs JSON with `status`, `violations`, `warnings`, and `stats`.
|
|
|
580
580
|
| `PASS` | Proceed to GATE 5 |
|
|
581
581
|
| `FAIL` | Fix violations, re-generate XHTML, re-run validation |
|
|
582
582
|
|
|
583
|
-
`warnings` are informational (orphan assets, unreferenced variant screenshots)
|
|
583
|
+
`warnings` are informational (orphan assets, unreferenced variant screenshots) - do NOT block.
|
|
584
584
|
`violations` are failures that MUST be fixed before proceeding.
|
|
585
585
|
|
|
586
586
|
### On failure
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# PHASE 7A
|
|
1
|
+
# PHASE 7A - Wiki Documentation: Generate Markdown
|
|
2
2
|
|
|
3
3
|
Generate a single-file markdown documentation page for the wiki submodule.
|
|
4
4
|
No VPN required. No Confluence knowledge needed.
|
|
5
5
|
|
|
6
6
|
PREV: Phase 6 (Code Connect)
|
|
7
|
-
NEXT: Phase 7B (inline
|
|
7
|
+
NEXT: Phase 7B (inline - commit + push wiki repo)
|
|
8
8
|
TOOL RESTRICTIONS: No Edit
|
|
9
9
|
|
|
10
10
|
> **No VPN needed.** This phase writes to the local wiki submodule. The orchestrator
|
|
@@ -19,7 +19,7 @@ Read: {artifactPath}/IMPLEMENTATION_HISTORY.md
|
|
|
19
19
|
Read: {componentLocation}/{componentName}.swift
|
|
20
20
|
Read: {componentLocation}/FIGMA.md
|
|
21
21
|
Read: {artifactPath}/pass1/screenshot.png (verify exists)
|
|
22
|
-
Read: {artifactPath}/pass1/screenshots/variants.md (if exists
|
|
22
|
+
Read: {artifactPath}/pass1/screenshots/variants.md (if exists - variant property values)
|
|
23
23
|
Read: {artifactPath}/pass3/07_implementation_spec.md
|
|
24
24
|
Read: {artifactPath}/pass3/08_utility_integration.md
|
|
25
25
|
Read: {artifactPath}/pass3/03_nested_components.md
|
|
@@ -110,7 +110,7 @@ Write `{wikiComponentPath}/{ComponentName}.md` using the template below.
|
|
|
110
110
|
**All images use wiki syntax:** `[[/{wikiCategory}/{componentName}/assets/{filename}]]`
|
|
111
111
|
|
|
112
112
|
> **CRITICAL:** GitHub Wiki `[[image.png|alt]]` syntax uses `|` for alt text.
|
|
113
|
-
> Inside markdown tables, `|` is the column separator
|
|
113
|
+
> Inside markdown tables, `|` is the column separator - so `[[image.png|alt]]` breaks the table.
|
|
114
114
|
> **Rule:** NEVER use `|alt` in image links inside tables. Use `[[image.png]]` only.
|
|
115
115
|
> Outside tables (e.g., the hero screenshot at top), `[[image.png|alt]]` is safe.
|
|
116
116
|
|
|
@@ -122,10 +122,10 @@ Write `{wikiComponentPath}/{ComponentName}.md` using the template below.
|
|
|
122
122
|
| `{FILE_KEY}`, `{NODE_ID}` | From context |
|
|
123
123
|
| `{SCREEN}`, `{SECTION}`, `{SIZE}` | From pass3/07 metadata |
|
|
124
124
|
| `{OVERVIEW_TEXT}` | 2-3 sentence description from pass3/07 |
|
|
125
|
-
| Testing Identifiers table | `registryData.testingIdentifiers`
|
|
126
|
-
| Localization Keys table | `registryData.localizationKeys`
|
|
127
|
-
| Accessibility tables | `registryData.accessibilityKeys`
|
|
128
|
-
| Analytics Events | `registryData.analyticsEvents`
|
|
125
|
+
| Testing Identifiers table | `registryData.testingIdentifiers` - columns: Element (usage), Key, Value |
|
|
126
|
+
| Localization Keys table | `registryData.localizationKeys` - columns: Element, Key, Default |
|
|
127
|
+
| Accessibility tables | `registryData.accessibilityKeys` - Labels + Hints |
|
|
128
|
+
| Analytics Events | `registryData.analyticsEvents` - element + event description |
|
|
129
129
|
| Sub-Components | From FIGMA.md nested components / pass3/03 |
|
|
130
130
|
| Changelog | Current date + "Initial documentation" |
|
|
131
131
|
|
|
@@ -392,7 +392,7 @@ import UIComponents
|
|
|
392
392
|
**IMPORTANT:**
|
|
393
393
|
- Replace ALL template variables with actual data.
|
|
394
394
|
- Remove ALL HTML comments (<!-- ... -->) from final output.
|
|
395
|
-
- Include only sections that have data
|
|
395
|
+
- Include only sections that have data - skip empty optional sections entirely.
|
|
396
396
|
- The `## iOS Implementation` heading is the split marker. Everything above is shared/cross-platform, everything from `## iOS Implementation` onward is iOS-specific. The standalone `/figma-to-swift-ui-confluence` skill uses this marker to split into two Confluence XHTML files.
|
|
397
397
|
|
|
398
398
|
---
|
|
@@ -412,7 +412,7 @@ The script outputs JSON with `status`, `violations`, `warnings`, and `stats`.
|
|
|
412
412
|
|
|
413
413
|
### What the script checks in wiki mode
|
|
414
414
|
|
|
415
|
-
**{ComponentName}.md
|
|
415
|
+
**{ComponentName}.md - Structure:**
|
|
416
416
|
- Required sections: `## Overview`, `## Testing Identifiers`, `## Localization Keys`, `## Accessibility`, `## Analytics Events`, `## Sub-Components`, `## Platform Implementations`, `## Changelog`
|
|
417
417
|
- `## iOS Implementation` marker present
|
|
418
418
|
- Under iOS: `### Initializer`, `### Usage`, `### Snapshot Tests` (if snapshot assets exist)
|
|
@@ -465,9 +465,9 @@ Run the generator:
|
|
|
465
465
|
python3 .instructions/figma/figma-to-swiftui/scripts/sidebar-generator.py --wiki-root {wikiRoot}
|
|
466
466
|
```
|
|
467
467
|
|
|
468
|
-
This script scans `DesignSystemCore/`, `MobileAppComponents/`, and `VisualAssets/` folders, then produces a sorted, idempotent `_Sidebar.md`. Every run with the same directory state produces identical output
|
|
468
|
+
This script scans `DesignSystemCore/`, `MobileAppComponents/`, and `VisualAssets/` folders, then produces a sorted, idempotent `_Sidebar.md`. Every run with the same directory state produces identical output - eliminating merge conflicts.
|
|
469
469
|
|
|
470
|
-
**Post-validation (HARD GATE
|
|
470
|
+
**Post-validation (HARD GATE - must pass to proceed)**:
|
|
471
471
|
```bash
|
|
472
472
|
grep -q '\[\[{ComponentName}\]\]' {wikiRoot}/_Sidebar.md
|
|
473
473
|
```
|
|
@@ -508,10 +508,10 @@ python3 .instructions/figma/figma-to-swiftui/scripts/phase7-finalize.py \
|
|
|
508
508
|
|
|
509
509
|
| Result | Action |
|
|
510
510
|
|--------|--------|
|
|
511
|
-
| Exit 0, `"action": "updated"` | `status.ios.wiki` set green, `against = implemented.version`
|
|
512
|
-
| Exit 0, `"action": "already_current"` | Already marked against current implemented.version
|
|
513
|
-
| Exit 0, `"action": "created"` | New registry file created
|
|
514
|
-
| Exit 1 | HALT
|
|
511
|
+
| Exit 0, `"action": "updated"` | `status.ios.wiki` set green, `against = implemented.version` - proceed |
|
|
512
|
+
| Exit 0, `"action": "already_current"` | Already marked against current implemented.version - proceed |
|
|
513
|
+
| Exit 0, `"action": "created"` | New registry file created - proceed |
|
|
514
|
+
| Exit 1 | HALT - registry update failed |
|
|
515
515
|
|
|
516
516
|
**Why this matters:** This is the single source of truth for `status.ios.wiki`. The script records `against = status.ios.implemented.version` so the flag automatically drops to yellow on the next Phase 4 version bump until wiki pages are refreshed. `figma-iteration-commit` reads this and syncs the GitHub issue via `update-issue-from-registry.py`.
|
|
517
517
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# PHASE 8
|
|
1
|
+
# PHASE 8 - Cleanup
|
|
2
2
|
|
|
3
3
|
Remove generated artifacts that are no longer needed after upload, to avoid bloating the codebase.
|
|
4
4
|
PREV: Phase 7B (Confluence Upload)
|
|
@@ -21,7 +21,7 @@ If `{artifactPath}/confluence/` exists AND Phase 7B is complete:
|
|
|
21
21
|
|
|
22
22
|
Delete `{artifactPath}/confluence/` (the entire directory including `assets/`, `main.html`, `ios.html`).
|
|
23
23
|
|
|
24
|
-
These are local XHTML generation artifacts. The content is live on Confluence
|
|
24
|
+
These are local XHTML generation artifacts. The content is live on Confluence - the local copy is only needed during Phase 7A generation and 7B upload.
|
|
25
25
|
|
|
26
26
|
If confluence directory does not exist → skip (already cleaned or never generated locally).
|
|
27
27
|
|
|
@@ -110,7 +110,7 @@ ContentView()
|
|
|
110
110
|
// → "bookingsummary_screen_turkishbutton_button"
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
VoiceOver labels (`.accessibilityLabel`) do NOT cascade
|
|
113
|
+
VoiceOver labels (`.accessibilityLabel`) do NOT cascade - use SwiftUI's
|
|
114
114
|
built-in grouping (`.accessibilityElement(children: .combine)`).
|
|
115
115
|
|
|
116
116
|
---
|