@mmerterden/multi-agent-pipeline 14.2.1 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/CHANGELOG.md +118 -6
  2. package/README.md +20 -9
  3. package/README.tr.md +150 -0
  4. package/docs/FIGMA_PIPELINE.md +3 -3
  5. package/docs/adr/0006-skills-core-external-split.md +1 -1
  6. package/docs/adr/0009-claude-stack-skills-plugin-only.md +31 -0
  7. package/docs/adr/README.md +1 -0
  8. package/docs/architecture.md +24 -9
  9. package/docs/ecosystem.md +237 -0
  10. package/docs/features.md +5 -5
  11. package/index.js +2 -0
  12. package/install/_codex-agents.mjs +11 -2
  13. package/install/_common.mjs +65 -1
  14. package/install/_dev-only-files.mjs +0 -1
  15. package/install/_platform-filter.mjs +73 -7
  16. package/install/_plugin-skills.mjs +33 -8
  17. package/install/claude.mjs +144 -59
  18. package/install/codex.mjs +37 -7
  19. package/install/copilot.mjs +36 -11
  20. package/install/index.mjs +6 -2
  21. package/install/templates/codex-instructions.md +1 -1
  22. package/install/templates/copilot-instructions.md +15 -12
  23. package/package.json +1 -2
  24. package/pipeline/commands/multi-agent/SKILL.md +4 -2
  25. package/pipeline/commands/multi-agent/analysis/SKILL.md +5 -5
  26. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +2 -2
  27. package/pipeline/commands/multi-agent/autopilot/SKILL.md +6 -2
  28. package/pipeline/commands/multi-agent/build-optimize/SKILL.md +9 -9
  29. package/pipeline/commands/multi-agent/channels/SKILL.md +16 -5
  30. package/pipeline/commands/multi-agent/complaint-analysis/SKILL.md +186 -0
  31. package/pipeline/commands/multi-agent/create-jira/SKILL.md +4 -4
  32. package/pipeline/commands/multi-agent/dev/SKILL.md +10 -23
  33. package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +10 -2
  34. package/pipeline/commands/multi-agent/dev-local/SKILL.md +10 -24
  35. package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +10 -3
  36. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
  37. package/pipeline/commands/multi-agent/help/SKILL.md +19 -4
  38. package/pipeline/commands/multi-agent/ios-coding-standard/SKILL.md +2 -2
  39. package/pipeline/commands/multi-agent/jira/SKILL.md +13 -2
  40. package/pipeline/commands/multi-agent/language/SKILL.md +1 -1
  41. package/pipeline/commands/multi-agent/local/SKILL.md +6 -2
  42. package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +6 -2
  43. package/pipeline/commands/multi-agent/log/SKILL.md +7 -1
  44. package/pipeline/commands/multi-agent/prune-prompts/SKILL.md +81 -0
  45. package/pipeline/commands/multi-agent/resume/SKILL.md +1 -1
  46. package/pipeline/commands/multi-agent/{ship → resume-local}/SKILL.md +13 -9
  47. package/pipeline/commands/multi-agent/setup/SKILL.md +5 -5
  48. package/pipeline/commands/multi-agent/stack/SKILL.md +55 -43
  49. package/pipeline/commands/multi-agent/store-ready/SKILL.md +3 -3
  50. package/pipeline/commands/multi-agent/sync/SKILL.md +18 -11
  51. package/pipeline/commands/multi-agent/testflight-validation/SKILL.md +1 -1
  52. package/pipeline/commands/multi-agent/uninstall/SKILL.md +2 -0
  53. package/pipeline/commands/multi-agent/update/SKILL.md +1 -1
  54. package/pipeline/lib/extract-conventions.sh +44 -15
  55. package/pipeline/lib/fetch-figma-annotations.sh +8 -1
  56. package/pipeline/lib/fetch-fortify.sh +23 -8
  57. package/pipeline/lib/figma-screenshot.sh +11 -1
  58. package/pipeline/lib/issue-fetcher.sh +77 -10
  59. package/pipeline/lib/md2confluence-v3.py +16 -2
  60. package/pipeline/lib/parse-complaints.sh +306 -0
  61. package/pipeline/lib/plan-todos.sh +5 -2
  62. package/pipeline/lib/post-pr-review.sh +8 -6
  63. package/pipeline/lib/shadow-git.sh +50 -9
  64. package/pipeline/lib/submodule-detector.sh +8 -1
  65. package/pipeline/multi-agent-refs/_input-parser.md +1 -1
  66. package/pipeline/multi-agent-refs/channels/confluence.md +3 -0
  67. package/pipeline/multi-agent-refs/channels/issue-comment.md +2 -2
  68. package/pipeline/multi-agent-refs/channels/jira.md +13 -2
  69. package/pipeline/multi-agent-refs/channels/pr-review-actions.md +1 -1
  70. package/pipeline/multi-agent-refs/channels/pr.md +20 -0
  71. package/pipeline/multi-agent-refs/channels/wiki.md +4 -4
  72. package/pipeline/multi-agent-refs/complaint-analysis-template.md +99 -0
  73. package/pipeline/multi-agent-refs/component-dispatch.md +6 -6
  74. package/pipeline/multi-agent-refs/cross-cli-contract.md +16 -16
  75. package/pipeline/multi-agent-refs/features/external-context-injection.md +1 -1
  76. package/pipeline/multi-agent-refs/features/stack-skill-routing.md +5 -5
  77. package/pipeline/multi-agent-refs/features/worktree-finalize.md +1 -1
  78. package/pipeline/multi-agent-refs/generate-issue.md +3 -3
  79. package/pipeline/multi-agent-refs/issue-jira-triad.md +3 -3
  80. package/pipeline/multi-agent-refs/payload-contracts.md +67 -0
  81. package/pipeline/multi-agent-refs/phases/modes.md +20 -0
  82. package/pipeline/multi-agent-refs/phases/phase-0-init.md +2 -2
  83. package/pipeline/multi-agent-refs/phases/phase-1-analysis.md +7 -7
  84. package/pipeline/multi-agent-refs/phases/phase-2-planning.md +5 -5
  85. package/pipeline/multi-agent-refs/phases/phase-3-dev.md +3 -3
  86. package/pipeline/multi-agent-refs/phases/phase-4-review.md +12 -12
  87. package/pipeline/multi-agent-refs/phases/phase-5-test.md +1 -1
  88. package/pipeline/multi-agent-refs/phases/phase-6-commit.md +8 -40
  89. package/pipeline/multi-agent-refs/phases/phase-7-report.md +5 -3
  90. package/pipeline/multi-agent-refs/phases.md +6 -0
  91. package/pipeline/multi-agent-refs/rules.md +2 -0
  92. package/pipeline/multi-agent-refs/tracker-contract.md +1 -1
  93. package/pipeline/multi-agent-refs/wiki-capture.md +2 -2
  94. package/pipeline/preferences-template.json +13 -5
  95. package/pipeline/rules/figma-pipeline.md +2 -2
  96. package/pipeline/schemas/agent-state.schema.json +1 -1
  97. package/pipeline/schemas/complaint-analysis-spec.schema.json +216 -0
  98. package/pipeline/schemas/migrations/prefs-2.5.0-to-2.6.0.mjs +46 -0
  99. package/pipeline/schemas/prefs.schema.json +277 -67
  100. package/pipeline/schemas/token-budget.json +2 -2
  101. package/pipeline/scripts/_stack-routing.mjs +79 -0
  102. package/pipeline/scripts/audit-log-rotate.sh +14 -1
  103. package/pipeline/scripts/build-skills-index.mjs +11 -0
  104. package/pipeline/scripts/build-stack-plugins.mjs +35 -60
  105. package/pipeline/scripts/check-derived-drift.mjs +65 -29
  106. package/pipeline/scripts/diff-explain.mjs +41 -3
  107. package/pipeline/scripts/diff-risk-score.mjs +72 -8
  108. package/pipeline/scripts/gc-worktrees.sh +4 -1
  109. package/pipeline/scripts/gen-mode-dispatch.mjs +1 -1
  110. package/pipeline/scripts/gen-skills-index.mjs +1 -1
  111. package/pipeline/scripts/learning-curve.mjs +8 -2
  112. package/pipeline/scripts/match-skills.mjs +8 -2
  113. package/pipeline/scripts/migrate-prefs.mjs +28 -20
  114. package/pipeline/scripts/output-quality-check.sh +15 -4
  115. package/pipeline/scripts/phase-tracker.sh +33 -12
  116. package/pipeline/scripts/phase0-exit-gate.mjs +3 -2
  117. package/pipeline/scripts/pre-commit-check.sh +69 -22
  118. package/pipeline/scripts/render-agent-log-cost.sh +8 -3
  119. package/pipeline/scripts/render-cost-summary.sh +42 -22
  120. package/pipeline/scripts/render-work-summary.sh +47 -13
  121. package/pipeline/scripts/review-scope.mjs +1 -1
  122. package/pipeline/scripts/run-aggregator.mjs +43 -14
  123. package/pipeline/scripts/scan-agent-config.sh +1 -1
  124. package/pipeline/scripts/skill-conformance.mjs +165 -30
  125. package/pipeline/scripts/smoke-cross-cli-behavior.sh +1 -1
  126. package/pipeline/scripts/smoke-schema-validation.sh +5 -1
  127. package/pipeline/scripts/test-gap-rules/android.json +25 -0
  128. package/pipeline/scripts/test-gap-rules/ios.json +34 -0
  129. package/pipeline/scripts/test-gap-rules/node.json +29 -0
  130. package/pipeline/scripts/test-gap-rules/python.json +25 -0
  131. package/pipeline/scripts/test-gap-scan.mjs +45 -6
  132. package/pipeline/scripts/uninstall.mjs +196 -14
  133. package/pipeline/scripts/update-issue-progress.sh +12 -16
  134. package/pipeline/scripts/validate-complaint-doc.mjs +229 -0
  135. package/pipeline/scripts/validate-reviewer.mjs +9 -3
  136. package/pipeline/scripts/worktree-finalize.sh +23 -2
  137. package/pipeline/skills/.skill-manifest.json +156 -108
  138. package/pipeline/skills/.skills-index.json +459 -13
  139. package/pipeline/skills/shared/README.md +15 -11
  140. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +1 -1
  141. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +4 -0
  142. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  143. package/pipeline/skills/shared/core/multi-agent-complaint-analysis/SKILL.md +49 -0
  144. package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
  145. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +4 -17
  146. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +8 -0
  147. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +5 -18
  148. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +8 -0
  149. package/pipeline/skills/shared/core/multi-agent-ios-coding-standard/SKILL.md +2 -2
  150. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +1 -1
  151. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +4 -0
  152. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +4 -0
  153. package/pipeline/skills/shared/core/multi-agent-prune-prompts/SKILL.md +83 -0
  154. package/pipeline/skills/shared/core/{multi-agent-ship → multi-agent-resume-local}/SKILL.md +10 -6
  155. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +79 -22
  156. package/pipeline/skills/shared/core/multi-agent-store-ready/SKILL.md +1 -1
  157. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -8
  158. package/pipeline/skills/shared/core/multi-agent-testflight-validation/SKILL.md +1 -1
  159. package/pipeline/skills/shared/external/ios-coding-standard/modules/_TEMPLATE.yml +2 -2
  160. package/pipeline/skills/shared/external/ios-coding-standard/references/rules.yml +368 -33
  161. package/pipeline/skills/shared/external/ios-coding-standard/references/swiftlint.draft.yml +1 -2
  162. package/pipeline/skills/shared/external/ios-coding-standard/scripts/check_structure.py +765 -0
  163. package/pipeline/skills/shared/external/ios-module-structure/SKILL.md +75 -0
  164. package/pipeline/skills/shared/external/ios-module-structure/modules/_TEMPLATE.yml +131 -0
  165. package/pipeline/skills/shared/external/ios-module-structure/references/rules.yml +559 -0
  166. package/pipeline/skills/shared/external/ios-module-structure/scripts/check_structure.py +765 -0
  167. package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +302 -0
  168. package/pipeline/skills/shared/external/localization-reuse-map/example-mapping.json +187 -0
  169. package/pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md +156 -0
  170. package/pipeline/skills/shared/external/localization-reuse-map/reference/publish-and-snapshot.md +108 -0
  171. package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +176 -0
  172. package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-artifact.py +865 -0
  173. package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-spreadsheet.py +335 -0
  174. package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-annotations.py +344 -0
  175. package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-legacy-labels.py +130 -0
  176. package/pipeline/skills/shared/external/localization-reuse-map/scripts/publish-confluence.py +264 -0
  177. package/pipeline/skills/shared/external/localization-reuse-map/scripts/render-key-shots.py +298 -0
  178. package/pipeline/skills/shared/external/localization-reuse-map/scripts/render-overlay.py +529 -0
  179. package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-legacy-values.py +187 -0
  180. package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +171 -0
  181. package/pipeline/skills/shared/external/localization-reuse-map/scripts/scan-screen-keys.py +184 -0
  182. package/pipeline/skills/shared/external/localization-reuse-map/scripts/snapshot-resources.sh +26 -0
  183. package/pipeline/skills/shared/external/localization-reuse-map/scripts/verify-map.py +173 -0
  184. package/pipeline/skills/skills-index.md +9 -5
package/CHANGELOG.md CHANGED
@@ -16,6 +16,118 @@ Internal file-layout changes that don't affect the slash-command surface are sti
16
16
 
17
17
  ## [Unreleased]
18
18
 
19
+ ## [15.0.0] - 2026-08-13
20
+
21
+ ### Changed (BREAKING)
22
+
23
+ - **Claude Code stack skills are plugin-only** (ADR-0009). The installer no longer
24
+ copies `shared/core` + `shared/external` into `~/.claude/skills`; the
25
+ `multi-agent-plugins` marketplace is Claude Code's only stack-skill source,
26
+ namespaced (`ai-ios-toolkit:<skill>`). Exactly two pipeline-owned compliance
27
+ catalogs stay local (`PIPELINE_LOCAL_SKILLS`). Old installs are migrated
28
+ manifest-scoped (`.external-skills-manifest.json`); user-authored dirs survive.
29
+ - **Marketplace plugin names lose the `engineering` infix**:
30
+ `ai-<stack>-engineering-toolkit` -> `ai-<stack>-toolkit`. `enabledPlugins`
31
+ keys must migrate; `/multi-agent:stack` deletes the retired keys.
32
+ - **`/multi-agent:ship` -> `/multi-agent:resume-local`** (the tail command opens a
33
+ PR but merges nothing, so "ship" oversold it). Prefs `global.ship` ->
34
+ `global.resumeLocal` via schema 2.6.0 (step migration + monolith, autoFix value
35
+ carried across the finish -> ship -> resume-local chain).
36
+
37
+ ### Added
38
+
39
+ - `/multi-agent:stack` **multi-select**: several stacks per call (`ios backend`),
40
+ a native multi-select picker with no args, `web` alias, always-on
41
+ `ai-common-toolkit`, legacy-key cleanup, and a Copilot/Codex refresh offer.
42
+ - Every marketplace plugin ships **`ai-<stack>-toolkit:help`**: a language-aware
43
+ catalog rendered live from `plugin.json` (drift-proof by construction).
44
+ - `pipeline/scripts/_stack-routing.mjs`: the single routing table shared by
45
+ `build-stack-plugins.mjs`, the installers and the skills index.
46
+ - Skills index entries carry `plugin` + `invokeAs`; `match-skills.mjs` returns
47
+ plugin-namespaced names. `skill-conformance.mjs` probes the marketplace
48
+ checkout and version-named plugin cache as skills roots.
49
+
50
+ ### Changed
51
+
52
+ - Copilot CLI and Codex CLI local copies are **filtered to the enabled stacks**
53
+ (`pluginsToDeliver` + `partitionExternalSkillsByPlugins`); Codex previously
54
+ received the full catalog unconditionally and now also writes a delivery
55
+ manifest. One `/multi-agent:stack` selection governs all three hosts.
56
+ - Prompt-context skill tables (phase 1/2/4), `humanizer` invocations,
57
+ `build-optimize` dispatches and the store-review references are
58
+ plugin-namespaced.
59
+ - `DESC_CEILING` 82000 -> 82600 and phase-doc total 52750 -> 53100: the
60
+ namespaced tables and the new command descriptions did not fit ceilings that
61
+ were already at (or 193 bytes past) their limit; the always-on surface itself
62
+ shrank with the local copy gone.
63
+
64
+
65
+ ### Added
66
+
67
+ - **`/multi-agent:complaint-analysis`** — customer-complaint / customer-reported-error
68
+ triage as a new one-shot ops command (51st command). Ingests complaints from
69
+ free-text paste, csv/xlsx/txt/json exports (`pipeline/lib/parse-complaints.sh`,
70
+ with built-in PII redaction: email / phone / card / national-id / PNR shapes),
71
+ Jira issues, or Confluence URLs; fetches Graylog evidence per
72
+ trxId/conversationId via the existing `fetch-graylog.sh`; correlates read-only
73
+ against the selected client + BFF repos (user-confirmed layer tagging:
74
+ ios / android / web / mobile-bff / web-bff); and classifies each complaint as
75
+ `client:<layer>` / `bff:<layer>` (root cause + citations + a fix plan grounded
76
+ in the existing architecture + a ready-to-run dev prompt), `core` (routing
77
+ recommendation to the backend core team, never a fix analysis), or
78
+ `insufficient-evidence`. Report dispatches to Local (default) / Confluence /
79
+ Jira behind a deterministic gate (`scripts/validate-complaint-doc.mjs`:
80
+ sections, verdict tokens, per-core routing entries, humanizer punctuation,
81
+ redaction-leak scan; smoke: `smoke-validate-complaint-doc.sh`). State contract:
82
+ `schemas/complaint-analysis-spec.schema.json`. Graylog-as-primary-evidence is a
83
+ documented, command-scoped exception to the advisory-only rule in
84
+ `features/external-context-injection.md`. `DESC_CEILING` raised 81000 -> 82000
85
+ (gate + pinned test together): the two new ~430-byte descriptions did not fit
86
+ in the ~25 bytes of headroom the surface had left; the average stays at 319
87
+ against the 420 ceiling.
88
+
89
+ ## [14.2.2] - 2026-08-04
90
+
91
+ ### Added
92
+
93
+ - **`localization-reuse-map` skill** added to `shared/external` — a per-screen
94
+ localization-reuse map that ties new/legacy/CMS translation keys together,
95
+ with follow-up fixes for placeholder rendering, snapshot staleness, and the
96
+ three gates its initial commit left red.
97
+ - **`docs/ecosystem.md`** — a detailed diagram of how this repo, the
98
+ `multi-agent-plugins` marketplace, and `dev-toolkit-mcp` compose at install
99
+ time and run time. `docs/architecture.md` cross-links it.
100
+ - **Turkish README (`README.tr.md`)**, cross-linked from `README.md`.
101
+ - Jira intake now surfaces the **parent issue's description** as a
102
+ confirmable candidate when the child issue's own description is empty.
103
+ - `payload-contracts` reference doc, consolidating the required-reading list
104
+ for Phase 6 and 7.
105
+
106
+ ### Fixed
107
+
108
+ - Corrected stale 44/43-command counts to the real 49 across README,
109
+ `cross-cli-contract.md`, and both sync/update `SKILL.md` copies; fixed a
110
+ hardcoded "42 command specs" log line in `install/codex.mjs` to count the
111
+ actual source tree instead.
112
+ - **`audit-log-rotate.sh` could delete the archive it had just created.**
113
+ `gzip` preserves the source file's mtime by default, so rotating log
114
+ content already older than `KEEP_DAYS` produced a `.gz` that inherited
115
+ that old mtime - and the very next line's retention sweep (`find -mtime
116
+ +$KEEP_DAYS -delete`) deleted it in the same run, before it was ever read.
117
+ The archive's mtime is now reset to rotation time, so retention counts
118
+ from when it was archived, not from the age of the content inside it.
119
+ - The mode banner claimed pickers stay English when they didn't - language +
120
+ dialect resolution fixed.
121
+ - The cost tracker now reads the same state file `phase-tracker.sh` writes.
122
+ - Jira conversion table pipes are now escaped; Intake warnings render at h2.
123
+ - Copilot mode skills carried a stale review claim and missing payload
124
+ pointers - corrected.
125
+ - 18 cross-script drift and edge-case bugs resolved from code review.
126
+ - Markup dialect is now chosen per surface for channel posts; the Jira table
127
+ heading-conversion bug fixed.
128
+ - `localization-reuse-map`: empty-cell placeholder is now a single dash; a
129
+ stale snapshot no longer reads as an unauthored key.
130
+
19
131
  ## [14.2.1] - 2026-07-30
20
132
 
21
133
  ### Changed
@@ -1869,7 +1981,7 @@ Single-source skill management, an upgraded `refactor` command, and two new Phas
1869
1981
  - **Component/Figma work is plugin-only.** The pipeline no longer bundles the
1870
1982
  `figma-ios` / `figma-android` / `figma-common` skill trees. Phase 3 dispatches
1871
1983
  component and Figma-to-code work to the per-stack marketplace plugins
1872
- (`ai-ios-engineering-toolkit` / `ai-android-engineering-toolkit`) via the Skill
1984
+ (`ai-ios-toolkit` / `ai-android-toolkit`) via the Skill
1873
1985
  tool, so component skills live in one place. The 3-tier Figma design-access
1874
1986
  fallback still governs the analysis phase.
1875
1987
  - **Command layout migrated to `<name>/SKILL.md`.** Each subcommand is now its own
@@ -1910,7 +2022,7 @@ Skill mining + an install-safety fix.
1910
2022
  write-if-missing: new baseline rules are added, existing local rules are
1911
2023
  preserved untouched. New `copyDir({ skipExisting })` option backs this.
1912
2024
  - **Two skills mined from the corporate iOS toolkit and genericized into
1913
- `ai-common-engineering-toolkit` (v0.1.2):**
2025
+ `ai-common-toolkit` (v0.1.2):**
1914
2026
  - `skill-creator` — the house rules for authoring skills (description-first
1915
2027
  discovery, lean SKILL.md as an index, progressive disclosure, reference vs
1916
2028
  workflow vs tool layers, no-prefix naming, grow-from-failure), with a
@@ -1945,7 +2057,7 @@ operating systems, all additive and opt-in.
1945
2057
  no-progress stall, an identical repeated failure, a rework storm, cost drift
1946
2058
  past the `costBudget` ceiling, or a merge/rebase conflict. Continuing
1947
2059
  unattended off the happy path is the less safe choice.
1948
- - **Three technique skills** added to `ai-common-engineering-toolkit`
2060
+ - **Three technique skills** added to `ai-common-toolkit`
1949
2061
  (v0.1.1): `council` (multi-voice adversarial decision), `search-first`
1950
2062
  (research-before-coding with an adopt/extend/compose/build matrix), and
1951
2063
  `agent-introspection-debugging` (capture -> diagnose -> contained-recovery ->
@@ -2301,7 +2413,7 @@ Fable 5 restored as the top model tier; `stack-swap` fully removed; setup gains
2301
2413
  setup detects the project stack from markers (`.xcodeproj`/`Package.swift` → iOS,
2302
2414
  `build.gradle` → Android, `package.json`+react → Frontend, `requirements.txt`/
2303
2415
  `pyproject.toml` → Backend) and enables the matching marketplace plugin plus the
2304
- always-on `ai-common-engineering-toolkit`. **No clear marker → default iOS.** So a
2416
+ always-on `ai-common-toolkit`. **No clear marker → default iOS.** So a
2305
2417
  fresh install works out of the box and a repo at any org gets its correct stack.
2306
2418
 
2307
2419
  ### Changed
@@ -2335,7 +2447,7 @@ Stack skills move from the local `stack-swap` mechanic to versioned marketplace
2335
2447
  `plugin.json` `skills[]`, and **bumps the patch version of any plugin whose
2336
2448
  skill set changed**. Idempotent (`--dry-run` supported); a no-op run bumps
2337
2449
  nothing. Cross-stack skills (accessibility audit, humanizer, Firebase) route
2338
- to `ai-common-engineering-toolkit`; Apple/Xcode-only skills stay in the iOS
2450
+ to `ai-common-toolkit`; Apple/Xcode-only skills stay in the iOS
2339
2451
  plugin. This is the version-based-management backbone: the pipeline is the
2340
2452
  single authoring source, the marketplace is a derived, versioned artifact.
2341
2453
  - **`multi-agent:sync` Step 3c (PLUGINS)** — runs the generator, then commits +
@@ -2345,7 +2457,7 @@ Stack skills move from the local `stack-swap` mechanic to versioned marketplace
2345
2457
 
2346
2458
  - **`/multi-agent:stack`** — selecting a stack no longer moves skill directories
2347
2459
  via `stack-swap.sh`. It now enables the matching marketplace plugin(s) (stack
2348
- toolkit + `ai-common-engineering-toolkit`) in the current repo's
2460
+ toolkit + `ai-common-toolkit`) in the current repo's
2349
2461
  `.claude/settings.json` `enabledPlugins`, disabling the stack toolkits that
2350
2462
  don't apply. Declarative, per-repo, versioned. No SessionStart hook.
2351
2463
  - **`/multi-agent:update`** — added a step that refreshes the plugin marketplace
package/README.md CHANGED
@@ -6,20 +6,29 @@
6
6
  [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen)](https://github.com/mmerterden/multi-agent-pipeline/blob/main/package.json)
7
7
  [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/mmerterden/multi-agent-pipeline/badge)](https://scorecard.dev/viewer/?uri=github.com/mmerterden/multi-agent-pipeline)
8
8
 
9
+ 🇹🇷 Türkçe: [README.tr.md](./README.tr.md)
10
+
9
11
  An 8-phase AI development pipeline for **Claude Code**, **Copilot CLI** and **Codex CLI**. Drives a Jira issue or GitHub URL to a merged PR in one command - analysis → plan → TDD → review → test → commit → PR - with multi-repo orchestration, a plan-approval gate, CLI-aware parallel review, and store-compliance checks. Component and Figma-to-code work is dispatched to the per-stack marketplace plugins (iOS/SwiftUI, Android/Compose) rather than bundled, so component skills live in one place.
10
12
 
11
13
  Runs natively on Claude Code, Copilot CLI and Codex CLI. macOS / Linux / Windows. Zero runtime dependencies.
12
14
 
15
+ 📐 **[Architecture diagrams](./docs/architecture.md)** - the 8-phase flow, operating modes, review/triage, Figma subphases, component layout. **[Ecosystem diagram](./docs/ecosystem.md)** - how this repo, the `multi-agent-plugins` marketplace and `dev-toolkit-mcp` compose.
16
+
13
17
  ## Quick Start
14
18
 
15
19
  ```bash
16
- # from the public registry (no auth)
17
- npx @mmerterden/multi-agent-pipeline install --all # Claude Code + Copilot CLI + Codex CLI
20
+ # from the public registry (no auth) - pick the CLIs you actually use
21
+ npx @mmerterden/multi-agent-pipeline install --claude # Claude Code only (default)
22
+ npx @mmerterden/multi-agent-pipeline install --copilot # Copilot CLI only
23
+ npx @mmerterden/multi-agent-pipeline install --codex # Codex CLI only
24
+ npx @mmerterden/multi-agent-pipeline install --all # all three
18
25
 
19
26
  # then, once:
20
27
  /multi-agent:setup # keychain token scan + git identity + default stack
21
28
  ```
22
29
 
30
+ Tool flags combine (`--claude --codex`). With no tool flag at all, the installer targets Claude Code only. Other flags: `--dry-run` (show what would be written, write nothing), `--platform=ios|android|all` (skip the stack skills you do not need), `--link` (symlink instead of copy, for local development).
31
+
23
32
  Run a task - the input type is auto-detected:
24
33
 
25
34
  ```bash
@@ -37,6 +46,8 @@ Add `autopilot` to skip confirmations, `--dev` for the fast dev-only path, or `-
37
46
 
38
47
  Update later with `/multi-agent:update`. Uninstall (tokens preserved) with `npx @mmerterden/multi-agent-pipeline uninstall`.
39
48
 
49
+ **Stack skills are marketplace plugins.** On Claude Code the `ai-<stack>-toolkit` plugins (`multi-agent-plugins` marketplace) are the only stack-skill source - nothing is copied into `~/.claude/skills`. Pick the active stack(s) per repo with `/multi-agent:stack` (multi-select: `ios backend`, or a native picker with no args); each plugin ships a language-aware catalog at `ai-<stack>-toolkit:help`. Copilot CLI and Codex CLI have no plugin loader, so they receive a local copy filtered to the same enabled stacks.
50
+
40
51
  ## How it works
41
52
 
42
53
  One command runs 8 phases, with a gate between the risky ones:
@@ -52,7 +63,7 @@ One command runs 8 phases, with a gate between the risky ones:
52
63
 
53
64
  Under the hood: each task runs in its own **git worktree** (or the current branch with `:local`), commits use the **git identity routed from the repo's origin URL**, and **multi-repo** tasks get per-repo worktrees plus an integration build. Tokens stay in the OS keychain; nothing is committed or logged. `/multi-agent:review` can also review an existing GitHub/Bitbucket PR - per-finding inline comments anchored to `file:line` + an explicit Approve / Needs-Work state.
54
65
 
55
- The discipline behind all of this - bounded loops, evidence gates, token-budgeted phase docs, immutable tests, fresh-context handoffs - is catalogued in [docs/engineering.md](./docs/engineering.md). The full feature list lives in [docs/features.md](./docs/features.md).
66
+ The discipline behind all of this - bounded loops, evidence gates, token-budgeted phase docs, immutable tests, fresh-context handoffs - is catalogued in [docs/engineering.md](./docs/engineering.md). The full feature list lives in [docs/features.md](./docs/features.md). How this repo, the `multi-agent-plugins` marketplace, and the `dev-toolkit-mcp` server compose at install time and at run time is diagrammed in [docs/ecosystem.md](./docs/ecosystem.md).
56
67
 
57
68
  ## Modes
58
69
 
@@ -62,11 +73,11 @@ The discipline behind all of this - bounded loops, evidence gates, token-budgete
62
73
  | Autopilot | `/multi-agent:autopilot "task"` | All 8 phases, no confirmations |
63
74
  | Dev | `/multi-agent:dev "task"` | Init → Dev → Review → Test → Commit → Report |
64
75
  | Local | `/multi-agent:local "task"` | Full pipeline, current branch (no worktree) |
65
- | Ship | `/multi-agent:ship` | Run the review→test→commit→report tail over local work |
76
+ | Ship | `/multi-agent:resume-local` | Run the review→test→commit→report tail over local work |
66
77
  | Audit | `/multi-agent:design-check` | Mock-mode vs Figma conformance, local-only |
67
78
  | Audit | `/multi-agent:testflight-validation` | Pre-submission gates for a TestFlight build: static archive audit → Apple's `altool --validate-app` → Review-Guidelines check. Validates only, never uploads |
68
79
 
69
- Helpers: `setup`, `status`, `resume #N`, `review`, `test`, `channels`, `stack`, `update`, `sync`, `refactor`, `jira`, `issue`, `analysis`, `create-jira`, `save`, `routines`, `forget`. 44 commands in all - full list: `/multi-agent:help`.
80
+ Helpers: `setup`, `status`, `resume #N`, `kill #N`, `garbage-collect`, `prune-logs`, `purge`, `review`, `test`, `channels`, `stack`, `update`, `sync`, `refactor`, `jira`, `issue`, `analysis`, `create-jira`, `save`, `routines`, `forget`. 50 commands in all - full list: `/multi-agent:help`.
70
81
 
71
82
  ## Stacks
72
83
 
@@ -80,17 +91,17 @@ This enables the matching plugin (+ the shared `ai-common` plugin) in the repo's
80
91
 
81
92
  ## Tool support
82
93
 
83
- The pipeline runs natively on **Claude Code**, **Copilot CLI** and **Codex CLI** - all three install from the same `pipeline/` source and get the same 44 commands.
94
+ The pipeline runs natively on **Claude Code**, **Copilot CLI** and **Codex CLI** - all three install from the same `pipeline/` source and get the same 50 commands.
84
95
 
85
96
  | Tool | Flag | What it installs |
86
97
  |---|---|---|
87
98
  | Claude Code | `--claude` (default) | slash commands + skills + agents + `PreToolUse` secret-scan hook |
88
- | Copilot CLI | `--copilot` | instructions + 44 sub-command skills + scripts |
89
- | Codex CLI | `--codex` | one router skill + 43 specs as refs + 8 agent TOML + `AGENTS.md` block + `codex mcp add` |
99
+ | Copilot CLI | `--copilot` | instructions + 50 sub-command skills + scripts |
100
+ | Codex CLI | `--codex` | one router skill + 50 specs as refs + 8 agent TOML + `AGENTS.md` block + `codex mcp add` |
90
101
 
91
102
  Filter skills by stack with `--platform=ios\|android\|all`.
92
103
 
93
- **Why Codex gets one skill and not 43.** Codex assembles every discovered skill's name
104
+ **Why Codex gets one skill and not 50.** Codex assembles every discovered skill's name
94
105
  and description into a single prompt block and drops entries when it overflows, with no
95
106
  error. Measured on 0.145: installing one plugin that declares 142 skills surfaced only
96
107
  75 of them and evicted an unrelated user skill. So on Codex the pipeline ships a single
package/README.tr.md ADDED
@@ -0,0 +1,150 @@
1
+ # @mmerterden/multi-agent-pipeline
2
+
3
+ [![GitHub Release](https://img.shields.io/github/v/release/mmerterden/multi-agent-pipeline?color=blue)](https://github.com/mmerterden/multi-agent-pipeline/releases)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![Node.js](https://img.shields.io/badge/Node.js-18%20%7C%2020%20%7C%2022-green)](https://nodejs.org)
6
+ [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen)](https://github.com/mmerterden/multi-agent-pipeline/blob/main/package.json)
7
+ [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/mmerterden/multi-agent-pipeline/badge)](https://scorecard.dev/viewer/?uri=github.com/mmerterden/multi-agent-pipeline)
8
+
9
+ 🇬🇧 English: [README.md](./README.md)
10
+
11
+ **Claude Code**, **Copilot CLI** ve **Codex CLI** için 8 fazlı bir AI geliştirme pipeline'ı. Bir Jira issue'sunu veya GitHub URL'sini tek komutla merge edilmiş bir PR'a dönüştürür - analiz → plan → TDD → review → test → commit → PR - çoklu-repo orkestrasyonu, bir plan-onay kapısı, CLI-farkında paralel review ve store-uyumluluk kontrolleriyle birlikte. Component ve Figma-to-code işleri paket içine gömülmek yerine stack başına marketplace plugin'lerine (iOS/SwiftUI, Android/Compose) devredilir, böylece component skill'leri tek bir yerde yaşar.
12
+
13
+ Claude Code, Copilot CLI ve Codex CLI üzerinde native çalışır. macOS / Linux / Windows. Sıfır runtime dependency.
14
+
15
+ 📐 **[Mimari diyagramları](./docs/architecture.md)** - 8 faz akışı, çalışma modları, review/triage, Figma subphase'leri, component yapısı. **[Ekosistem diyagramı](./docs/ecosystem.md)** - bu repo, `multi-agent-plugins` marketplace'i ve `dev-toolkit-mcp`'nin nasıl bir araya geldiği.
16
+
17
+ ## Hızlı Başlangıç
18
+
19
+ ```bash
20
+ # public registry'den (auth gerekmez) - sadece kullandığın CLI'ları seç
21
+ npx @mmerterden/multi-agent-pipeline install --claude # sadece Claude Code (varsayılan)
22
+ npx @mmerterden/multi-agent-pipeline install --copilot # sadece Copilot CLI
23
+ npx @mmerterden/multi-agent-pipeline install --codex # sadece Codex CLI
24
+ npx @mmerterden/multi-agent-pipeline install --all # üçü birden
25
+
26
+ # sonra, bir kere:
27
+ /multi-agent:setup # keychain token taraması + git kimliği + varsayılan stack
28
+ ```
29
+
30
+ Tool flag'leri birleştirilebilir (`--claude --codex`). Hiç tool flag'i verilmezse installer sadece Claude Code'u hedefler. Diğer flag'ler: `--dry-run` (ne yazılacağını gösterir, hiçbir şey yazmaz), `--platform=ios|android|all` (ihtiyacın olmayan stack skill'lerini atlar), `--link` (kopyalamak yerine symlink, lokal geliştirme için).
31
+
32
+ Bir görev çalıştır - girdi tipi otomatik algılanır:
33
+
34
+ ```bash
35
+ /multi-agent "PROJ-1234" # Jira id → çek, planla, geliştir
36
+ /multi-agent "https://github.com/org/repo/issues/42" # GitHub issue URL'i
37
+ /multi-agent "my-app#42" # repo + issue numarası
38
+ /multi-agent "fix dark-mode contrast on LoginView" # serbest-metin bug/özellik
39
+ /multi-agent:jira # açık Jira issue'larını gez → seç
40
+ /multi-agent:issue # atanmamış GitHub issue'larını gez → seç
41
+ ```
42
+
43
+ Her girdi aynı kısa intake'ten geçer - **hesap → (repo) → maturity kontrolü → dev-context** - sonra Phase 0'a girer. Bir Jira id'si veya GitHub URL'i hiçbir kod yazılmadan *önce* çekilir ve maturity-kontrol edilir; serbest-metin bu çekimi atlayıp doğrudan planlamaya geçer. Çoklu-repo görevleri dev-context adımında ekstra repo ekler.
44
+
45
+ Onayları atlamak için `autopilot`, hızlı dev-only yol için `--dev`, ya da worktree olmadan mevcut branch'te çalışmak için `--local` ekle (örn. `/multi-agent:autopilot "PROJ-1234"`).
46
+
47
+ Sonra `/multi-agent:update` ile güncelle. Kaldırmak için (tokenlar korunur) `npx @mmerterden/multi-agent-pipeline uninstall`.
48
+
49
+ **Stack skill'leri marketplace plugin'leridir.** Claude Code'da `ai-<stack>-toolkit` plugin'leri (`multi-agent-plugins` marketplace) tek stack-skill kaynağıdır - `~/.claude/skills` altına kopya konmaz. Repo başına aktif stack'leri `/multi-agent:stack` ile seç (çoklu seçim: `ios backend`, ya da argümansız native picker); her plugin `ai-<stack>-toolkit:help` ile dilinde katalog sunar. Copilot CLI ve Codex CLI'da plugin loader olmadığından onlara aynı enabled stack'lere filtreli lokal kopya iner.
50
+
51
+ ## Nasıl çalışır
52
+
53
+ Tek komut 8 fazı çalıştırır, riskli olanlar arasında bir kapı ile:
54
+
55
+ - **0 · Init** - girdiyi ayrıştır (Jira id / GitHub URL / serbest metin), hesap + repo(lar) seç, issue'yu çek, maturity kontrolü yap.
56
+ - **1 · Analysis** - stack'i tespit et, codebase'i tara, etkiyi haritala (Opus).
57
+ - **2 · Plan** - bir görev kırılımı yaz ve koda dokunmadan önce **onayın için dur**.
58
+ - **3 · Dev** - TDD: başarısız test → kod → yeşil, repo'nun stiline + aktif stack skill'lerine uyarak.
59
+ - **4 · Review** - önce deterministik kapılar (build / lint / test / secret-scan) geçmeli, sonra bir **CLI-farkında paralel review** - Claude Code 2 model çalıştırır (Fable + Sonnet), Copilot CLI 3 (GPT-5.4 + Opus + Sonnet) - ve bir **Fable triage** sadece aksiyon alınabilir bulguları tutar; blocker'lar Phase 3'e geri döner.
60
+ - **5 · Test** - build + suite'i çalıştır; başarı zorunlu (sahte pass yok).
61
+ - **6 · Commit/PR** - conventional commit, push (başarılı olmalı), bir PR aç (`Ref: #N`, asla otomatik kapatma).
62
+ - **7 · Report** - teknik özet + test senaryolarıyla bir Jira yorumu, channels katmanından gönderilir.
63
+
64
+ Perde arkasında: her görev kendi **git worktree**'sinde çalışır (ya da `:local` ile mevcut branch'te), commit'ler **repo'nun origin URL'inden yönlendirilen git kimliğini** kullanır, ve **çoklu-repo** görevleri repo başına worktree artı bir integration build alır. Tokenlar OS keychain'de kalır; hiçbir şey commit edilmez ya da loglanmaz. `/multi-agent:review` mevcut bir GitHub/Bitbucket PR'ını da review edebilir - `file:line`'a bağlı bulgu-başına inline yorumlar + açık bir Approve / Needs-Work durumu.
65
+
66
+ Bunun arkasındaki disiplin - sınırlı loop'lar, kanıt kapıları, token-bütçeli faz dokümanları, değişmez testler, taze-context handoff'lar - [docs/engineering.md](./docs/engineering.md)'de kataloglanmıştır. Tam özellik listesi [docs/features.md](./docs/features.md)'te. Bu repo, `multi-agent-plugins` marketplace'i ve `dev-toolkit-mcp` sunucusunun install zamanında ve run zamanında nasıl bir araya geldiği [docs/ecosystem.md](./docs/ecosystem.md)'de diyagramlanmıştır.
67
+
68
+ ## Modlar
69
+
70
+ | Mod | Komut | Akış |
71
+ |---|---|---|
72
+ | Full | `/multi-agent "task"` | Tüm 8 faz, interaktif |
73
+ | Autopilot | `/multi-agent:autopilot "task"` | Tüm 8 faz, onaysız |
74
+ | Dev | `/multi-agent:dev "task"` | Init → Dev → Review → Test → Commit → Report |
75
+ | Local | `/multi-agent:local "task"` | Tam pipeline, mevcut branch (worktree yok) |
76
+ | Ship | `/multi-agent:resume-local` | Lokal iş üzerinde review→test→commit→report kuyruğunu çalıştır |
77
+ | Audit | `/multi-agent:design-check` | Mock-mode vs Figma uygunluğu, yalnızca lokal |
78
+ | Audit | `/multi-agent:testflight-validation` | TestFlight build için pre-submission kapıları: statik archive denetimi → Apple'ın `altool --validate-app`'i → Review-Guidelines kontrolü. Yalnızca doğrular, asla yüklemez |
79
+
80
+ Yardımcılar: `setup`, `status`, `resume #N`, `kill #N`, `garbage-collect`, `prune-logs`, `purge`, `review`, `test`, `channels`, `stack`, `update`, `sync`, `refactor`, `jira`, `issue`, `analysis`, `create-jira`, `save`, `routines`, `forget`. Toplam 50 komut - tam liste: `/multi-agent:help`.
81
+
82
+ ## Stack'ler
83
+
84
+ Stack skill'leri [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins) marketplace'inde versiyonlu plugin'ler olarak gönderilir. Repo başına bir stack seç:
85
+
86
+ ```bash
87
+ /multi-agent:stack ios # veya android / frontend / backend / mobile / all
88
+ ```
89
+
90
+ Bu, ilgili plugin'i (+ ortak `ai-common` plugin'ini) repo'nun `.claude/settings.json`'unda etkinleştirir. Phase 1, routing için stack'i otomatik tespit eder. Yeni repo'lar varsayılan olarak iOS'tur.
91
+
92
+ ## Araç desteği
93
+
94
+ Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 50 komutu alır.
95
+
96
+ | Araç | Bayrak | Ne kurar |
97
+ |---|---|---|
98
+ | Claude Code | `--claude` (varsayılan) | slash komutları + skill'ler + agent'lar + `PreToolUse` secret-scan hook'u |
99
+ | Copilot CLI | `--copilot` | talimatlar + 50 alt-komut skill'i + script'ler |
100
+ | Codex CLI | `--codex` | bir router skill + ref olarak 50 spec + 8 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
101
+
102
+ Skill'leri stack'e göre filtrele: `--platform=ios\|android\|all`.
103
+
104
+ **Codex neden 50 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
105
+ ve açıklamasını tek bir prompt bloğuna toplar ve blok taştığında girdileri hatasızca
106
+ düşürür. 0.145 üzerinde ölçüldü: 142 skill deklare eden bir plugin kurulduğunda sadece
107
+ 75'i yüzeye çıktı ve alakasız bir kullanıcı skill'i tahliye edildi. Bu yüzden Codex'te
108
+ pipeline tek bir `multi-agent` router gönderir ve alt-komut spec'lerini, okunana kadar
109
+ hiçbir maliyeti olmayan referans dosyaları olarak tutar - aynı komutlar, aynı davranış,
110
+ host'un gerçekten tutabildiği bir düzen.
111
+
112
+ Reviewer setleri farklı çünkü mevcut modeller farklı: Claude Code 2 reviewer çalıştırır
113
+ (Fable + Sonnet), Copilot CLI 3 (Opus + GPT-5.4 + Sonnet), Codex CLI 3 (xhigh'da
114
+ gpt-5.6, gpt-5.4, medium'da gpt-5.6). Codex tek-vendor olduğu için üçü arasındaki
115
+ konsensüs, iki-vendor'lu bir host'taki aynı konsensüsten daha zayıf bir kanıttır ve
116
+ triage notu bunu belirtir.
117
+
118
+ ## Token'lar ve entegrasyonlar
119
+
120
+ `setup` OS keychain'ini tarar ve her token'ı **mantıksal bir isimle** (örn. `jira`) gerçek keychain girdisine eşler - pipeline token'ları bu eşleme üzerinden çözer (`credential-store.sh`), böylece literal keychain isimleri hiçbir sync edilen dosyada görünmez. Token'lar keychain'de kalır (macOS Keychain / Windows Credential Manager / Linux libsecret), **asla commit edilmez ya da loglanmaz**, ve hepsi **opsiyoneldir** - pipeline Phase 0'da ihtiyaç duyduğu herhangi birini sorar.
121
+
122
+ | Token | Ne için kullanılır | Faz |
123
+ |---|---|---|
124
+ | `jira` | issue'yu çek · rapor yorumunu gönder | 0, 7 |
125
+ | `github` | issue'lar · PR'lar · `gh` auth | 0, 6 |
126
+ | `bitbucket` | PR create/update (reviewer koruyarak) · diff | 6 |
127
+ | `confluence` | analiz / wiki sayfaları yayınla | 7 |
128
+ | `figma` + `figma_mcp` | design context çek | yalnızca analiz |
129
+ | `fortify` | security-scan bulgu kapısı | 4 |
130
+ | `firebase` | Firebase projeleri için Firebase config (base64 JSON) | gerektiğinde |
131
+ | `jenkins` | CI tetikleme / durum | build / deploy |
132
+ | `npm` | paket publish (çoğunlukla CI) | release |
133
+ | `appstore_connect_*` | TestFlight / App Store pre-submission doğrulaması (opsiyonel, iOS) | `testflight-validation` |
134
+
135
+ **Secret scan**, Claude Code'da bir `PreToolUse` hook'u olarak (bulgu halinde commit'i sert-engeller) ve diğer yerlerde bir pre-push kontrolü olarak çalışır.
136
+
137
+ ## Platform desteği
138
+
139
+ **macOS**, **Linux** ve **Windows** (Git Bash / WSL) üzerinde çalışır. Shell ve credential erişimi platform-agnostik bir katmandan geçer - keychain otomatik olarak **macOS Keychain**, **Linux libsecret** (`secret-tool`) veya **Windows Credential Manager**'a çözülür, ve script'ler BSD ile GNU araç varyantları arasında fallback yapar. Node.js 18 / 20 / 22.
140
+
141
+ ## Yan repolar
142
+
143
+ | Repo | Ne olduğu |
144
+ |---|---|
145
+ | [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins) | Stack-başına skill toolkit'lerinin marketplace'i (iOS / Android / Frontend / Backend + common). `/multi-agent:stack` ilgili plugin'i etkinleştirir. |
146
+ | [`mmerterden/dev-toolkit-mcp`](https://github.com/mmerterden/dev-toolkit-mcp) | UI testing / simulator capture / xcodebuild için MCP sunucusu - Phase 5 UI Bug Hunter'ı güçlendirir. Public npm registry'de [`@mmerterden/dev-toolkit-mcp`](https://www.npmjs.com/package/@mmerterden/dev-toolkit-mcp) olarak yayınlanır; installer her CLI'a onu senin için register eder, böylece `npx` ekstra konfigürasyon olmadan onu çözer. |
147
+
148
+ ## Lisans
149
+
150
+ MIT - bkz. [LICENSE](./LICENSE). Güvenlik sorunları: bkz. [SECURITY.md](./SECURITY.md) (zafiyetler için public issue açma).
@@ -2,7 +2,7 @@
2
2
 
3
3
  End-to-end guide for generating production-ready UI components from Figma designs through the multi-agent pipeline. Covers iOS (SwiftUI) and Android (Jetpack Compose) with the same workflow shape.
4
4
 
5
- > Note: Component and Figma-to-code skills are no longer bundled in this repo. Phase 3 dispatches component work to the per-stack marketplace plugins (`ai-ios-engineering-toolkit` / `ai-android-engineering-toolkit` in the `multi-agent-plugins` marketplace) via the Skill tool. The workflow, subphases, and skill names described below are what those plugin skills run internally, not pipeline-bundled code. The 3-tier Figma design-access fallback still governs the analysis phase in this repo.
5
+ > Note: Component and Figma-to-code skills are no longer bundled in this repo. Phase 3 dispatches component work to the per-stack marketplace plugins (`ai-ios-toolkit` / `ai-android-toolkit` in the `multi-agent-plugins` marketplace) via the Skill tool. The workflow, subphases, and skill names described below are what those plugin skills run internally, not pipeline-bundled code. The 3-tier Figma design-access fallback still governs the analysis phase in this repo.
6
6
 
7
7
  ## What you get
8
8
 
@@ -15,7 +15,7 @@ End-to-end guide for generating production-ready UI components from Figma design
15
15
 
16
16
  ## How it runs
17
17
 
18
- When multi-agent Phase 0 classifies a task as `component` (Figma URL in description, or figma-driven instruction path), Phase 3 delegates the entire phase to the enabled `ai-<platform>-engineering-toolkit` marketplace plugin's component skill (`create-component`, fallback `create-ui-component`) via the Skill tool. Component skills live in the plugin marketplace, not the pipeline. The dispatch layer records a coarse component-build row in `state.phases["3"].subphases[]` - multi-agent's phase-tracker reads that array with no special case. The subphase list below describes the flow the plugin skill runs internally.
18
+ When multi-agent Phase 0 classifies a task as `component` (Figma URL in description, or figma-driven instruction path), Phase 3 delegates the entire phase to the enabled `ai-<platform>-toolkit` marketplace plugin's component skill (`create-component`, fallback `create-ui-component`) via the Skill tool. Component skills live in the plugin marketplace, not the pipeline. The dispatch layer records a coarse component-build row in `state.phases["3"].subphases[]` - multi-agent's phase-tracker reads that array with no special case. The subphase list below describes the flow the plugin skill runs internally.
19
19
 
20
20
  ### Internal phase order
21
21
 
@@ -122,7 +122,7 @@ Global settings that affect the figma pipeline:
122
122
 
123
123
  | Symptom | Likely cause | Fix |
124
124
  |---|---|---|
125
- | Phase 3 halts with "plugin not enabled" | The `ai-<platform>-engineering-toolkit` plugin is not enabled in this repo | Enable it in the repo's `.claude/settings.local.json` (`"ai-ios-engineering-toolkit@<marketplace>": true`) and reload the session |
125
+ | Phase 3 halts with "plugin not enabled" | The `ai-<platform>-toolkit` plugin is not enabled in this repo | Enable it in the repo's `.claude/settings.local.json` (`"ai-ios-toolkit@<marketplace>": true`) and reload the session |
126
126
  | `multi-agent:create-component` not found | Marketplace not installed / plugin disabled | Install the marketplace and enable the platform toolkit; dispatch tries `create-component` then `create-ui-component` |
127
127
  | Wiki adapter failure | Remote unreachable (separate-repo mode) | Adapter caches pending output; next run retries. Non-blocking - Phase 7 continues. |
128
128
  | Jira auto-create hits 5xx | Transient Jira outage | Non-blocking - pipeline continues without link. User can run `/multi-agent:channels` post-hoc to add it. |
@@ -1,6 +1,6 @@
1
1
  # 6. `shared/core/` vs `shared/external/` source organization
2
2
 
3
- **Status:** Accepted · 2026-04 (v5.3.3)
3
+ **Status:** Accepted · 2026-04 (v5.3.3) · The "install destination is unchanged" clause is superseded by [ADR-0009](./0009-claude-stack-skills-plugin-only.md) (v15.0.0): Claude Code no longer receives the external tree; Copilot/Codex receive a stack-filtered subset.
4
4
 
5
5
  ## Context
6
6
 
@@ -0,0 +1,31 @@
1
+ # 9. Claude Code stack skills are plugin-only; the local copy is retired
2
+
3
+ **Status:** Accepted · 2026-08 (v15.0.0) · Supersedes the "install destination is unchanged" clause of ADR-0006
4
+
5
+ ## Context
6
+
7
+ ADR-0006 split the source tree into `shared/core/` + `shared/external/` but kept the install unchanged: both trees flattened into `~/.claude/skills/`. Since then the same external catalog also became the authoring source for the `multi-agent-plugins` marketplace (`build-stack-plugins.mjs` derives each plugin's `knowledge/` layer from it), and Claude Code loads those plugins natively, namespaced (`ai-ios-toolkit:swiftui-pro`).
8
+
9
+ That left Claude Code receiving every stack skill **twice**:
10
+
11
+ - 110 of 157 local skill dirs duplicated the enabled plugins byte-for-byte - ~10k tokens of duplicate descriptions per session, 4.4 MB on disk.
12
+ - The local copy shadowed the plugin the moment it went stale, and it *was* stale in practice: the plugin cache and the local copy advanced on different schedules.
13
+ - The duplication hid real bugs: `skill-conformance.mjs` and `match-skills.mjs` only knew the local root, so they kept working by accident - against the stale copy.
14
+
15
+ ## Decision
16
+
17
+ 1. **Claude Code receives no local copy of the stack skills.** The marketplace plugins (`ai-<stack>-toolkit`, enablement managed by `/multi-agent:stack`, multi-select) are its only stack-skill source. Prompt tables, `Skill` invocations and the skills index all use the plugin-namespaced name.
18
+ 2. **Exactly two skills stay local on Claude Code**: `apple-archive-compliance` and `google-play-compliance` (`PIPELINE_LOCAL_SKILLS` in `install/claude.mjs`). They are pipeline-owned compliance catalogs, kept out of the public marketplace by policy (they may carry audit rules not meant for it), and `uninstall.mjs` already treats exactly this pair as pipeline-owned.
19
+ 3. **`shared/external/` stays in the repo as the authoring source.** It feeds `build-stack-plugins.mjs` and the Copilot/Codex copies; it is simply never copied to `~/.claude/skills` again. Installs migrate old machines by removing the dirs named in `.external-skills-manifest.json` (manifest-scoped - user-authored dirs survive).
20
+ 4. **Copilot CLI and Codex CLI keep local copies** (no plugin loader / silently truncating skill list), now **filtered to the enabled stacks**: `pluginsToDeliver` reads `enabledPlugins` from `~/.claude/settings.json` (fallback `--platform`), `partitionExternalSkillsByPlugins` routes each skill through the same `_stack-routing.mjs` table the marketplace is built with. One stack selection governs all three hosts.
21
+ 5. **Scripts that resolve skills know the plugin roots**: `skill-conformance.mjs` probes the marketplace checkout and version-named plugin cache (newest first) alongside the install roots; `build-skills-index.mjs` stamps `plugin` + `invokeAs` per entry so `match-skills.mjs` returns namespaced names.
22
+
23
+ ## Consequences
24
+
25
+ Positive: one source of truth per skill at runtime; ~13.5k tokens/session and ~5.9 MB reclaimed on Claude Code; a disabled stack is genuinely absent instead of half-present; the smoke suite now asserts the compliance-only contract (`smoke-install-layout.sh` 5b2b) and the filter's both directions (5b2).
26
+
27
+ Negative / accepted:
28
+
29
+ - A stack not enabled in `enabledPlugins` is invisible to Claude Code until `/multi-agent:stack` enables it. This is the intended behavior, not a regression.
30
+ - `dynamicSkillLoading`'s index now names skills the local tree does not hold; consumers must use `invokeAs`, not a filesystem path.
31
+ - Copilot/Codex copies go stale when the stack selection changes until `install --copilot --codex` is re-run; `/multi-agent:stack` offers that refresh after every change.
@@ -18,6 +18,7 @@ Format: lightly adapted from [Michael Nygard's ADR template](https://cognitect.c
18
18
  | [0006](./0006-skills-core-external-split.md) | `shared/core/` vs `shared/external/` source org | Accepted |
19
19
  | [0007](./0007-multi-tool-adapter-framework.md) | Multi-tool adapter framework + token-preserving uninstall | Superseded by v10.7.0 (adapters removed; Claude Code + Copilot CLI only) |
20
20
  | [0008](./0008-installer-modularization-and-secret-leak-defense.md) | Installer modularization + secret-leak defense | Accepted (amended v10.7.0: adapter module removed) |
21
+ | [0009](./0009-claude-stack-skills-plugin-only.md) | Claude Code stack skills are plugin-only; local copy retired | Accepted (supersedes ADR-0006 install-destination clause) |
21
22
 
22
23
  ## Writing a New ADR
23
24
 
@@ -71,7 +71,7 @@ graph TD
71
71
 
72
72
  ## Figma SubPhase Integration (Phase 3)
73
73
 
74
- When a task is classified `component`, Phase 3 dispatches to the marketplace component plugin (`ai-<platform>-engineering-toolkit`) via the Skill tool. Component skills are not bundled in this repo; the subphases below describe the flow the plugin skill runs internally:
74
+ When a task is classified `component`, Phase 3 dispatches to the marketplace component plugin (`ai-<platform>-toolkit`) via the Skill tool. Component skills are not bundled in this repo; the subphases below describe the flow the plugin skill runs internally:
75
75
 
76
76
  ```mermaid
77
77
  graph TD
@@ -117,12 +117,12 @@ graph TB
117
117
  end
118
118
 
119
119
  subgraph "Pipeline Specs"
120
- CMD[commands/<br/>39 command files<br/>(34 user-facing)]
120
+ CMD[commands/<br/>50 command files]
121
121
  AGT[agents/<br/>8 agent personas]
122
122
  RUL[rules/<br/>12 domain rules]
123
123
  PHS[multi-agent-refs/phases/<br/>phase specs + contracts]
124
124
  CMP[skills/shared/core/<br/>orchestration skills<br/>incl. compliance]
125
- EXT[skills/shared/external/<br/>143 curated skills<br/>(authoring source for the<br/>multi-agent-plugins marketplace)]
125
+ EXT["skills/shared/external/<br/>150 curated skills<br/>(authoring source for the<br/>multi-agent-plugins marketplace)"]
126
126
  end
127
127
 
128
128
  subgraph "Quality Gates"
@@ -162,18 +162,33 @@ User Input → Phase 0 (Init)
162
162
 
163
163
  ## Ecosystem Sync Targets
164
164
 
165
+ `/multi-agent:sync` actually walks **five** targets, not the three shown in earlier
166
+ revisions of this diagram - Codex CLI and the two independently-shipped repos
167
+ (`multi-agent-plugins`, `dev-toolkit-mcp`) are real sync targets too:
168
+
165
169
  ```mermaid
166
170
  graph TD
167
171
  CC["Claude Code<br/>(source of truth)"]
168
- COP["Copilot CLI<br/>(instructions + unified skills)"]
172
+ COP["Copilot CLI<br/>(instructions + 50 skills)"]
173
+ COD["Codex CLI<br/>(1 router skill + 50 refs)"]
169
174
  REPO["Pipeline Repo<br/>(npm package)"]
170
- WEB["Website<br/>(optional)"]
171
- RC["Remote Control<br/>(optional)"]
175
+ WEB["Website"]
176
+ PLUGREPO["multi-agent-plugins<br/>(5 stack plugins, own repo)"]
177
+ DTK["dev-toolkit-mcp<br/>(own repo, own release cadence)"]
172
178
 
173
- CC -->|instructions + unified skills| COP
174
- CC -->|genericized pipeline/| REPO
179
+ CC -->|copy + reformat| COP
180
+ CC -->|transform via install.js --codex| COD
181
+ CC -->|genericize| REPO
175
182
  CC -->|version + features| WEB
176
- CC -->|pipeline refs| RC
183
+ REPO -->|build-stack-plugins.mjs| PLUGREPO
184
+ DTK -.->|sync only detects + ships, never authors| CC
185
+
177
186
  REPO -->|npm publish| NPM["GitHub Packages"]
178
187
  WEB -->|auto-deploy| VERCEL["Vercel"]
188
+ PLUGREPO -->|git push| MKT["Claude marketplace"]
189
+ DTK -->|npm publish| NPM2["GitHub Packages (private)"]
179
190
  ```
191
+
192
+ Full detail on how these three repos compose at install time and at run time -
193
+ including the Phase 3 → plugin dispatch contract and the Phase 5 → dev-toolkit MCP
194
+ contract - lives in [`docs/ecosystem.md`](./ecosystem.md).