@mmerterden/multi-agent-pipeline 8.6.1 → 8.6.2

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/README.md CHANGED
@@ -46,38 +46,24 @@ Full version history lives in [CHANGELOG.md](./CHANGELOG.md). Every release entr
46
46
 
47
47
  - Node.js 18+
48
48
  - Claude Code (https://claude.ai/code) **or** GitHub Copilot CLI
49
- - macOS/Linux (Keychain-based token storage is available on macOS)
50
-
51
- This is a **private package** hosted on GitHub Packages. You need:
52
-
53
- 1. **Collaborator access** to `mmerterden/multi-agent-pipeline` (granted by the repo owner).
54
- 2. A **Classic** Personal Access Token (fine-grained PATs are not fully supported for GitHub Packages on private repos).
55
-
56
- ### 1. Create a Classic PAT
57
-
58
- Go to https://github.com/settings/tokens/new?scopes=read:packages,repo and create a token with:
59
-
60
- - ✅ `read:packages`
61
- - ✅ `repo` (required for private package access)
62
-
63
- If your GitHub account belongs to an SSO-enforced organization, after creating the token click **"Configure SSO" → Authorize** on the token row.
64
-
65
- ### 2. Configure `~/.npmrc`
66
-
67
- ```bash
68
- # Replace ghp_xxx with the token from step 1
69
- echo "@mmerterden:registry=https://npm.pkg.github.com" >> ~/.npmrc
70
- echo "//npm.pkg.github.com/:_authToken=ghp_xxx" >> ~/.npmrc
71
- ```
72
-
73
- ### 3. Verify access
49
+ - macOS, Linux, or Windows (Git Bash / WSL). Native credential storage everywhere:
50
+ - **macOS** → Keychain (`security`)
51
+ - **Linux** libsecret (`secret-tool` `apt install libsecret-tools` / `dnf install libsecret`)
52
+ - **Windows** → Credential Manager (PowerShell `CredentialManager` module — `Install-Module CredentialManager`)
53
+ - Runtime CLIs the pipeline shells out to:
54
+ - `gh` (GitHub CLI) for issue / PR flows
55
+ - `jq` for JSON parsing
56
+ - `python3` (stdlib only, used by the deterministic keychain helper)
57
+ - `bash` 4+
58
+
59
+ The package is **public on npmjs.org** — no auth, no PAT, no `~/.npmrc` setup needed:
74
60
 
75
61
  ```bash
76
62
  npm view @mmerterden/multi-agent-pipeline version
77
- # → prints "3.0.0" (or newer) when everything is wired up
63
+ # → prints "8.6.1" (or newer)
78
64
  ```
79
65
 
80
- If this fails, see [Troubleshooting](#troubleshooting) below.
66
+ If `npm view` shows a stale version, run `npm cache clean --force` and retry.
81
67
 
82
68
  > **New here?** Worked end-to-end transcripts live in [`examples/`](./examples/) — bug fix from Jira, feature in autopilot, `--dev` fast path, and recovery from a broken run. Read one before you run the pipeline on your own code.
83
69
  >
@@ -87,9 +73,9 @@ If this fails, see [Troubleshooting](#troubleshooting) below.
87
73
 
88
74
  ## Quick Start
89
75
 
90
- ### Option A — Install from source (recommended, no registry auth)
76
+ ### Option A — Install from source (recommended for development)
91
77
 
92
- The simplest path. Works even if you haven't configured `~/.npmrc` yet.
78
+ Clone the repo and run the installer directly full read access to source files.
93
79
 
94
80
  ```bash
95
81
  git clone git@github.com:mmerterden/multi-agent-pipeline.git
@@ -127,7 +113,7 @@ This discovers your Keychain tokens (Jira, Bitbucket, GitHub, etc.), sets up you
127
113
 
128
114
  Update later with `git pull && npm install` inside the clone. Pin to a specific version by checking out the corresponding tag (`git tag -l` to list).
129
115
 
130
- ### Option B — npx (requires registry setup above)
116
+ ### Option B — npx (public registry, no auth)
131
117
 
132
118
  ```bash
133
119
  npx @mmerterden/multi-agent-pipeline install # Claude Code (default)
@@ -143,7 +129,7 @@ npx @mmerterden/multi-agent-pipeline uninstall # interactive, all targe
143
129
  npx @mmerterden/multi-agent-pipeline uninstall --dry-run # preview only
144
130
  ```
145
131
 
146
- ### Option C — Global install (requires registry setup above)
132
+ ### Option C — Global install (public registry, no auth)
147
133
 
148
134
  ```bash
149
135
  npm install -g @mmerterden/multi-agent-pipeline
@@ -177,32 +163,27 @@ slows down the install.
177
163
 
178
164
  ### `sh: multi-agent-pipeline: command not found`
179
165
 
180
- npx couldn't fetch the package and fell back to running it as a shell command. Registry auth is missing or wrong — re-check steps 1–3 under [Prerequisites](#prerequisites).
166
+ `npx` couldn't fetch the package. Most common causes:
181
167
 
182
- ### `npm error code E401` "User cannot be authenticated with the token provided"
168
+ - Network blocked or proxy in front of npmjs.org.
169
+ - Stale npx cache — `npx clear-npx-cache` then retry.
170
+ - Wrong package name (it is `@mmerterden/multi-agent-pipeline`, with the scope).
183
171
 
184
- Your token is being rejected by GitHub Packages. Usually one of:
185
-
186
- - PAT is fine-grained instead of **Classic**. Recreate as Classic.
187
- - PAT is missing `repo` scope. Private packages require both `read:packages` **and** `repo`.
188
- - SSO not authorized. On the token row, click **"Configure SSO" → Authorize** for the relevant org.
189
- - Token expired or revoked.
172
+ ### `npm error code E404` on `registry.npmjs.org`
190
173
 
191
- Quick diagnostic:
174
+ The package wasn't reachable. Quick checks:
192
175
 
193
176
  ```bash
194
- curl -I -H "Authorization: Bearer $(grep _authToken ~/.npmrc | tail -1 | cut -d= -f2)" \
195
- https://npm.pkg.github.com/@mmerterden%2Fmulti-agent-pipeline
177
+ curl -fsSL "https://registry.npmjs.org/@mmerterden/multi-agent-pipeline" | jq -r '."dist-tags".latest'
178
+ # Should print 8.6.1 (or newer)
196
179
  ```
197
180
 
198
- - `200` auth is fine; likely an npx cache issue (`npx clear-npx-cache`).
199
- - `401` token invalid, expired, or not SSO-authorized.
200
- - `403` — token valid but no repo access. Ask the repo owner to add you as a collaborator.
201
- - `404` — scope misconfigured in `~/.npmrc`, or package name is wrong.
181
+ - If this prints a version your local npm cache is stale; run `npm cache clean --force` and retry.
182
+ - If it 404s registry outage or scope/package-name typo. Verify the URL hits the JSON above.
202
183
 
203
- ### `npm error code E404` on `registry.npmjs.org`
184
+ ### Older PAT / GitHub Packages docs
204
185
 
205
- Your `~/.npmrc` does not have the `@mmerterden:registry=...` line. npm defaulted to public npm, which doesn't host this package. Redo step 2.
186
+ Earlier README revisions referenced GitHub Packages with a Classic PAT and `~/.npmrc` setup. The package moved to **public npmjs.org** in v8.6.1; no token, no `~/.npmrc` line is needed. If you set one up previously, you can leave it it just won't be consulted.
206
187
 
207
188
  ## Tool support
208
189
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "8.6.1",
3
+ "version": "8.6.2",
4
4
  "description": "8-phase AI development pipeline. Full orchestration on Claude Code + Copilot CLI; knowledge layer (rules + skills) ports to Cursor, Windsurf, and Cline. Analysis, planning, TDD, CLI-aware parallel review with Opus triage, wiki generation, commit automation. Token-preserving uninstall.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -75,7 +75,7 @@ was used last and surfaces it first on the next autopilot invocation.
75
75
 
76
76
  ```json
77
77
  {
78
- "accountId": "m-erden3",
78
+ "accountId": "my-account",
79
79
  "accountPrefix": "${USER}",
80
80
  "tokens": {
81
81
  "github": "${USER}_Github_Access_Token",
@@ -312,7 +312,7 @@ refactor, resume, review, scan, search, setup, stack, status, sync, test, update
312
312
  | Islem | Token Kaynagi |
313
313
  |-------|---------------|
314
314
  | `gh` CLI (personal) | `{owner}` gh auth (Keychain) |
315
- | `gh` CLI (work) | `M-ERDEN3_tkgithub` gh auth (Keychain) |
315
+ | `gh` CLI (work) | `{user}_<work-label>` gh auth (Keychain) — see `prefs.global.accounts[]` |
316
316
  | npm publish | `NODE_AUTH_TOKEN` — CI'da `GITHUB_TOKEN`, local'de Keychain PAT |
317
317
 
318
318
  ```bash
@@ -977,7 +977,7 @@
977
977
  "properties": {
978
978
  "id": {
979
979
  "type": "string",
980
- "description": "Short id from account-resolver, e.g. m-erden3"
980
+ "description": "Short id from account-resolver, e.g. my-account"
981
981
  },
982
982
  "prefix": {
983
983
  "type": "string",
@@ -997,7 +997,7 @@
997
997
  },
998
998
  "accounts": {
999
999
  "type": "array",
1000
- "description": "v7.4.0+. Per-account overrides \u2014 host, label, default platform. Resolved by account-resolver.sh by matching `id` (e.g. m-erden3). When unset, hosts fall back to global.hosts.{jira,bitbucket}.",
1000
+ "description": "v7.4.0+. Per-account overrides \u2014 host, label, default platform. Resolved by account-resolver.sh by matching `id` (e.g. my-account). When unset, hosts fall back to global.hosts.{jira,bitbucket}.",
1001
1001
  "items": {
1002
1002
  "type": "object",
1003
1003
  "additionalProperties": false,
@@ -40,8 +40,11 @@ FORBIDDEN=(
40
40
  'mmerterden\.dev'
41
41
  'mmerterden/remote-control'
42
42
  'mmerterden/mmerterden\.dev'
43
- # Author's macOS username in keychain lookups
44
- 'M_ERDEN3_'
43
+ # Author's macOS username both forms: M_ERDEN3 (underscore) appears in
44
+ # Keychain labels, M-ERDEN3 (dash) appears in gh auth usernames + paths
45
+ # encoded by the Claude projects convention (/ → -).
46
+ '\bM_ERDEN3\b'
47
+ '\bM-ERDEN3\b'
45
48
  )
46
49
 
47
50
  PASS=0
@@ -56,7 +59,6 @@ for pattern in "${FORBIDDEN[@]}"; do
56
59
  --exclude="smoke-personal-data.sh" \
57
60
  --exclude="smoke-install-leak-gate.sh" \
58
61
  --exclude="figma-placeholder-map.json" \
59
- --exclude=".last-figma-sync-plan.json" \
60
62
  --exclude="REVIEW_CHECKLIST.md" \
61
63
  "$pattern" "$PIPELINE_DIR" 2>/dev/null || true)
62
64
  if [ -n "$matches" ]; then
@@ -95,8 +95,11 @@ else
95
95
  fi
96
96
 
97
97
  # 5-8. Lifecycle test against a temp state dir
98
+ # Use a temp directory derived from $HOME so the path stays cross-user.
98
99
  TEST_TASK="SMOKE-PT-$$"
99
- TEST_DIR="$HOME/.claude/projects/-Users-M-ERDEN3-test-plan-todos-smoke/state/$TEST_TASK"
100
+ TEST_PROJECT_KEY=$(printf '%s' "$HOME/test-plan-todos-smoke" | tr '/' '-')
101
+ TEST_PROJECT_ROOT="$HOME/.claude/projects/$TEST_PROJECT_KEY"
102
+ TEST_DIR="$TEST_PROJECT_ROOT/state/$TEST_TASK"
100
103
  mkdir -p "$TEST_DIR"
101
104
  echo '{"task":{"id":"'"$TEST_TASK"'"}}' > "$TEST_DIR/agent-state.json"
102
105
  PLAN='{"title":"Smoke","todos":[
@@ -157,7 +160,7 @@ else
157
160
  fi
158
161
 
159
162
  # Cleanup the test state
160
- rm -rf "$HOME/.claude/projects/-Users-M-ERDEN3-test-plan-todos-smoke"
163
+ rm -rf "$TEST_PROJECT_ROOT"
161
164
 
162
165
  # 9. Prefs schema toggle
163
166
  if jq -e '.properties.global.properties.planTodos.properties.enabled
@@ -19,7 +19,7 @@ Unassigned GitHub issue'ları interactive olarak listele, seçtir ve pipeline'a
19
19
  - `my-figma-app` → `my-org/my-figma-app`
20
20
  - Başka → kullanıcıya repo sor
21
21
 
22
- 2. **gh auth switch** — İş reposu ise `M-ERDEN3_tkgithub`'a geç
22
+ 2. **gh auth switch** — İş reposu ise `prefs.global.accounts[]` içindeki work account label'ına geç (`gh auth switch --user {work-label}`)
23
23
 
24
24
  3. **Issue'ları çek** — `gh issue list --state open --assignee "" --json number,title,labels --limit 50`
25
25
  - `implemented` veya `in progress` label'lı olanları filtrele
@@ -1,23 +0,0 @@
1
- {
2
- "source": { "path": "/Users/M_ERDEN3/turkish-airlines-ios-figma", "branch": "develop", "commit": "6702673562d797e5bb77364922f211a4b5d5c0ae", "lastCommit": "cd0cde2f25abbc2524f3f20407d8c0d9ff6c2245" },
3
- "summary": { "changedSkills": 12 },
4
- "changes": [
5
- { "upstream": "figma-cli-iterate", "local": "figma-cli-iterate", "tree": "figma-common", "renamed": false, "overlaySkip": false },
6
- { "upstream": "figma-cli-lean-iterate", "local": "figma-cli-lean-iterate", "tree": "figma-common", "renamed": false, "overlaySkip": false },
7
- { "upstream": "figma-form-integration", "local": "figma-form-integration", "tree": "figma-common", "renamed": false, "overlaySkip": false },
8
- { "upstream": "figma-issue", "local": "figma-issue", "tree": "figma-common", "renamed": false, "overlaySkip": false },
9
- { "upstream": "figma-iterate", "local": "figma-iterate", "tree": "figma-common", "renamed": false, "overlaySkip": false },
10
- { "upstream": "figma-iteration-commit", "local": "figma-iteration-commit", "tree": "figma-common", "renamed": false, "overlaySkip": false },
11
- { "upstream": "figma-to-swift-ui-implement", "local": "figma-component-implement", "tree": "figma-ios", "renamed": true, "overlaySkip": true },
12
- { "upstream": "figma-to-swift-ui-start", "local": "figma-component-start", "tree": "figma-common", "renamed": true, "overlaySkip": false },
13
- { "upstream": "figma-to-swiftui", "local": "figma-to-component", "tree": "figma-ios", "renamed": true, "overlaySkip": false },
14
- { "upstream": "figma-ui-patterns", "local": "figma-ui-patterns", "tree": "figma-common", "renamed": false, "overlaySkip": false },
15
- { "upstream": "performance-swiftui", "local": "performance-swiftui", "tree": "figma-common", "renamed": false, "overlaySkip": false },
16
- { "upstream": "performance-tour", "local": "performance-tour", "tree": "figma-common", "renamed": false, "overlaySkip": false }
17
- ],
18
- "postActions": [
19
- "run `npm run test:smoke` — all 28 suites must stay green",
20
- "review figma-ios/REVIEW_CHECKLIST.md for skills still WIP",
21
- "commit with \"chore(sync): upstream @ 6702673562d797e5bb77364922f211a4b5d5c0ae\""
22
- ]
23
- }