@mmerterden/multi-agent-pipeline 8.6.0 → 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 +30 -49
- package/package.json +4 -1
- package/pipeline/commands/multi-agent/_account-picker.md +1 -1
- package/pipeline/commands/multi-agent/refs/features/dev-critic.md +44 -0
- package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +63 -0
- package/pipeline/commands/multi-agent/refs/features/plan-todos.md +20 -0
- package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +49 -0
- package/pipeline/commands/multi-agent/refs/features/repo-map.md +30 -0
- package/pipeline/commands/multi-agent/refs/features/shadow-git.md +24 -0
- package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +3 -3
- package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +4 -121
- package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +4 -75
- package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +1 -1
- package/pipeline/commands/multi-agent/setup.md +14 -6
- package/pipeline/commands/multi-agent/sync.md +26 -25
- package/pipeline/schemas/prefs.schema.json +2 -2
- package/pipeline/scripts/fixtures/install-layout.tsv +11 -11
- package/pipeline/scripts/smoke-issue-comment-template.sh +1 -1
- package/pipeline/scripts/smoke-personal-data.sh +5 -3
- package/pipeline/scripts/smoke-plan-todos.sh +5 -2
- package/pipeline/scripts/smoke-sync-adapters.sh +113 -0
- package/pipeline/scripts/smoke-sync-delegation.sh +1 -1
- package/pipeline/scripts/smoke-url-enrichment.sh +1 -1
- package/pipeline/scripts/sync-adapters.mjs +156 -0
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +1 -1
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +5 -5
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +17 -17
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +5 -5
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +1 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +1 -1
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +1 -1
- package/pipeline/scripts/.last-figma-sync-plan.json +0 -23
|
@@ -38,12 +38,12 @@ JIRA_ISSUE_TYPE = Task
|
|
|
38
38
|
Jira token is stored in macOS Keychain under service name `JIRA_TOKEN`:
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
JIRA_TOKEN=$(
|
|
41
|
+
JIRA_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
If not found, prompt the user to add it:
|
|
45
45
|
```bash
|
|
46
|
-
|
|
46
|
+
"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\"
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
### Project Field IDs
|
|
@@ -540,7 +540,7 @@ Read the issue body and check the `### Jira Issue` section for a linked key.
|
|
|
540
540
|
If a Jira key is found (not `_No response_`):
|
|
541
541
|
|
|
542
542
|
```bash
|
|
543
|
-
JIRA_TOKEN=$(
|
|
543
|
+
JIRA_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
|
|
544
544
|
USERNAME=$(curl -s "${JIRA_BASE_URL}/rest/api/2/myself" \
|
|
545
545
|
-H "Authorization: Bearer ${JIRA_TOKEN}" | python3 -c "import sys,json; print(json.load(sys.stdin)['name'])")
|
|
546
546
|
|
|
@@ -592,7 +592,7 @@ gh api graphql -f query='mutation { updateProjectV2ItemFieldValue(input: { proje
|
|
|
592
592
|
### STEP 3 — Update Jira Description with GitHub Link
|
|
593
593
|
|
|
594
594
|
```bash
|
|
595
|
-
JIRA_TOKEN=$(
|
|
595
|
+
JIRA_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
|
|
596
596
|
|
|
597
597
|
# Get current Jira description
|
|
598
598
|
JIRA_DESC=$(curl -s "${JIRA_BASE_URL}/rest/api/2/issue/<JIRA_KEY>?fields=description" \
|
|
@@ -739,7 +739,7 @@ Print as a table.
|
|
|
739
739
|
- **Invalid phase**: Print valid options: `implementation`, `testing`, `code-connect`, `documentation`.
|
|
740
740
|
- **Duplicate issue**: Print existing issue link and stop — do not create.
|
|
741
741
|
- **GraphQL errors**: Print the error message from the API response.
|
|
742
|
-
- **Jira token not found**: Prompt user to add to keychain: `
|
|
742
|
+
- **Jira token not found**: Prompt user to add to keychain: `"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\"`.
|
|
743
743
|
- **Jira API error (401/403)**: Token expired or invalid — prompt user to update keychain.
|
|
744
744
|
- **Jira API error (404)**: Wrong issue key — print error and continue.
|
|
745
745
|
- **Jira VPN not reachable**: Print warning, skip Jira steps, continue with GitHub-only operations.
|
|
@@ -115,13 +115,13 @@ Scripts like `remote-mcp-fetch.py` need the MCP OAuth token to call remote MCP o
|
|
|
115
115
|
#### 3b-a. Check if token already exists and works
|
|
116
116
|
|
|
117
117
|
```bash
|
|
118
|
-
TOKEN=$(
|
|
118
|
+
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null) && [ -n "$TOKEN" ] && echo "TOKEN_EXISTS" || echo "TOKEN_MISSING"
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
If TOKEN_EXISTS, verify it works:
|
|
122
122
|
|
|
123
123
|
```bash
|
|
124
|
-
TOKEN=$(
|
|
124
|
+
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null) && curl -s -o /dev/null -w "%{http_code}" -X POST "https://mcp.figma.com/mcp" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "Authorization: Bearer $TOKEN" -d '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"setup-check","version":"1.0.0"},"protocolVersion":"2025-03-26"},"id":1}'
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
- `200` → PASS, token is valid
|
|
@@ -150,7 +150,7 @@ else:
|
|
|
150
150
|
#### 3b-c. If extraction succeeded — save to keychain
|
|
151
151
|
|
|
152
152
|
```bash
|
|
153
|
-
TOKEN="<extracted_token>" &&
|
|
153
|
+
TOKEN="<extracted_token>" && "$HOME/.claude/lib/credential-store.sh" set \1 \"\2\" >/dev/null 2>&1 && echo "MCP_TOKEN_STORED" || echo "MCP_TOKEN_STORE_FAILED"
|
|
154
154
|
```
|
|
155
155
|
|
|
156
156
|
**IMPORTANT:** Do NOT echo the token in chat. Capture the python3 output into a variable directly:
|
|
@@ -161,7 +161,7 @@ import subprocess, os, re
|
|
|
161
161
|
raw = subprocess.check_output(['security', 'find-generic-password', '-s', 'Claude Code-credentials', '-a', os.environ['USER'], '-w'], stderr=subprocess.DEVNULL).decode()
|
|
162
162
|
match = re.search(r'\"figma-remote\|[^\\\"]+\":\{[^}]*\"accessToken\":\"([^\\\"]+)\"', raw)
|
|
163
163
|
print(match.group(1) if match else '')
|
|
164
|
-
" 2>/dev/null) && [ -n "$MCP_TOKEN" ] &&
|
|
164
|
+
" 2>/dev/null) && [ -n "$MCP_TOKEN" ] && "$HOME/.claude/lib/credential-store.sh" set \1 \"\2\" >/dev/null 2>&1 && echo "MCP_TOKEN_STORED" || echo "MCP_TOKEN_STORE_FAILED"
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
Then verify (repeat 3b-a verification curl).
|
|
@@ -186,13 +186,13 @@ Record as `skipped`. Scripts will fall back to extracting at runtime (slower but
|
|
|
186
186
|
#### 4a. Check if token already exists
|
|
187
187
|
|
|
188
188
|
```bash
|
|
189
|
-
|
|
189
|
+
"$HOME/.claude/lib/credential-store.sh" get \1 >/dev/null 2>&1 && echo "TOKEN_EXISTS" || echo "TOKEN_MISSING"
|
|
190
190
|
```
|
|
191
191
|
|
|
192
192
|
#### 4b. If TOKEN_EXISTS — verify it works
|
|
193
193
|
|
|
194
194
|
```bash
|
|
195
|
-
curl -s -o /dev/null -w "%{http_code}" -H "X-Figma-Token: $(
|
|
195
|
+
curl -s -o /dev/null -w "%{http_code}" -H "X-Figma-Token: $("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)" "https://api.figma.com/v1/me"
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
- `200` → PASS, token is valid
|
|
@@ -215,7 +215,7 @@ Ask: "Confirm when the token is copied to your clipboard."
|
|
|
215
215
|
After user confirms, run this SINGLE command:
|
|
216
216
|
|
|
217
217
|
```bash
|
|
218
|
-
|
|
218
|
+
"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\" >/dev/null 2>&1 && echo "TOKEN_STORED" || echo "TOKEN_STORE_FAILED"
|
|
219
219
|
```
|
|
220
220
|
|
|
221
221
|
Then immediately clear clipboard:
|
|
@@ -231,7 +231,7 @@ Then verify (repeat 4b). If still failing → HALT.
|
|
|
231
231
|
### CHECK 5: Figma API User
|
|
232
232
|
|
|
233
233
|
```bash
|
|
234
|
-
|
|
234
|
+
"$HOME/.claude/lib/credential-store.sh" get \1 >/dev/null 2>&1 && echo "USER_EXISTS" || echo "USER_MISSING"
|
|
235
235
|
```
|
|
236
236
|
|
|
237
237
|
**If USER_MISSING:**
|
|
@@ -241,7 +241,7 @@ Ask: "What is your Figma account email address?"
|
|
|
241
241
|
After user provides email:
|
|
242
242
|
|
|
243
243
|
```bash
|
|
244
|
-
|
|
244
|
+
"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\" >/dev/null 2>&1 && echo "USER_STORED" || echo "USER_STORE_FAILED"
|
|
245
245
|
```
|
|
246
246
|
|
|
247
247
|
---
|
|
@@ -330,14 +330,14 @@ If `INSUFFICIENT_SCOPES` error mentioning `project`:
|
|
|
330
330
|
### CHECK 9: Jira Token
|
|
331
331
|
|
|
332
332
|
```bash
|
|
333
|
-
|
|
333
|
+
"$HOME/.claude/lib/credential-store.sh" get \1 >/dev/null 2>&1 && echo "TOKEN_EXISTS" || echo "TOKEN_MISSING"
|
|
334
334
|
```
|
|
335
335
|
|
|
336
336
|
#### 9a. If TOKEN_EXISTS — verify
|
|
337
337
|
|
|
338
338
|
```bash
|
|
339
339
|
curl -s -o /dev/null -w "%{http_code}" "{jira.baseUrl}/rest/api/2/myself" \
|
|
340
|
-
-H "Authorization: Bearer $(
|
|
340
|
+
-H "Authorization: Bearer $("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)"
|
|
341
341
|
```
|
|
342
342
|
|
|
343
343
|
- `200` → PASS
|
|
@@ -357,7 +357,7 @@ Tell the user:
|
|
|
357
357
|
Ask: "Confirm when token is copied to clipboard."
|
|
358
358
|
|
|
359
359
|
```bash
|
|
360
|
-
|
|
360
|
+
"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\" >/dev/null 2>&1 && echo "TOKEN_STORED" || echo "TOKEN_STORE_FAILED"
|
|
361
361
|
```
|
|
362
362
|
|
|
363
363
|
Clear clipboard:
|
|
@@ -372,7 +372,7 @@ Verify (repeat 9a). If VPN not connected, accept as `pass (stored, not verified)
|
|
|
372
372
|
### CHECK 10: Confluence Token
|
|
373
373
|
|
|
374
374
|
```bash
|
|
375
|
-
|
|
375
|
+
"$HOME/.claude/lib/credential-store.sh" get \1 >/dev/null 2>&1 && echo "TOKEN_EXISTS" || echo "TOKEN_MISSING"
|
|
376
376
|
```
|
|
377
377
|
|
|
378
378
|
Same flow as CHECK 9 but for Confluence:
|
|
@@ -419,7 +419,7 @@ Looks up the Figma remote MCP OAuth token (`figu_` prefix) and prints it for the
|
|
|
419
419
|
1. **Keychain `FIGMA_MCP_TOKEN`** — the dedicated keychain entry saved by `save-token` or CHECK 3b.
|
|
420
420
|
|
|
421
421
|
```bash
|
|
422
|
-
|
|
422
|
+
"$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null
|
|
423
423
|
```
|
|
424
424
|
|
|
425
425
|
2. **Claude Code credentials** — if not in dedicated keychain, extract from Claude Code's credential store.
|
|
@@ -484,14 +484,14 @@ Then clear clipboard: `pbcopy < /dev/null`
|
|
|
484
484
|
3. **Save to keychain:**
|
|
485
485
|
|
|
486
486
|
```bash
|
|
487
|
-
|
|
488
|
-
|
|
487
|
+
"$HOME/.claude/lib/credential-store.sh" delete \1 >/dev/null 2>&1
|
|
488
|
+
"$HOME/.claude/lib/credential-store.sh" set \1 \"\2\" >/dev/null 2>&1 && echo "TOKEN_SAVED" || echo "TOKEN_SAVE_FAILED"
|
|
489
489
|
```
|
|
490
490
|
|
|
491
491
|
4. **Verify** the saved token works:
|
|
492
492
|
|
|
493
493
|
```bash
|
|
494
|
-
TOKEN=$(
|
|
494
|
+
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null) && curl -s -o /dev/null -w "%{http_code}" -X POST "https://mcp.figma.com/mcp" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "Authorization: Bearer $TOKEN" -d '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"setup-check","version":"1.0.0"},"protocolVersion":"2025-03-26"},"id":1}'
|
|
495
495
|
```
|
|
496
496
|
|
|
497
497
|
- `200` → print "Token saved and verified."
|
|
@@ -557,7 +557,7 @@ These are logged but do NOT affect the VALID/INVALID verdict:
|
|
|
557
557
|
| Registry file not found | Show command: `cd ${COMMON_PATH} && swift build --product FigmaRegistryUtility && .build/debug/FigmaRegistryUtility update` |
|
|
558
558
|
| FigmaRegistryUtility not built | Show: `cd ${COMMON_PATH} && swift build --product FigmaRegistryUtility` |
|
|
559
559
|
| Invalid URL format | Ask user for correct URL via AskUserQuestion |
|
|
560
|
-
| Figma token not found | Show: `
|
|
560
|
+
| Figma token not found | Show: `"$HOME/.claude/lib/credential-store.sh" set FIGMA_ACCESS_TOKEN "<YOUR_TOKEN>"` |
|
|
561
561
|
|
|
562
562
|
---
|
|
563
563
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: figma
|
|
2
|
+
name: figma-to-component
|
|
3
3
|
description: Figma-to-SwiftUI component implementation workflow. Takes a Figma URL and produces a production-ready SwiftUI component through 8 phases — data gathering, analysis, code generation, testing, Code Connect, and documentation.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: <figma-url> | phase-<N> | status
|
|
@@ -46,7 +46,7 @@ Requires Swift 6.0+ (Xcode 16.0+). Lower version → HALT.
|
|
|
46
46
|
### 3. Verify Token
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
TOKEN=$(
|
|
49
|
+
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null) && echo "OK" || echo "MISSING"
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
| Result | Action |
|
|
@@ -57,7 +57,7 @@ TOKEN=$(security find-generic-password -a "$USER" -s "FIGMA_ACCESS_TOKEN" -w 2>/
|
|
|
57
57
|
**CRITICAL — Token prefix check:**
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
TOKEN=$(
|
|
60
|
+
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
|
|
61
61
|
if [[ "$TOKEN" == figd_* ]]; then
|
|
62
62
|
echo "VALID_PAT"
|
|
63
63
|
elif [[ "$TOKEN" == figu_* ]]; then
|
|
@@ -70,7 +70,7 @@ fi
|
|
|
70
70
|
| Result | Action |
|
|
71
71
|
|--------|--------|
|
|
72
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: `
|
|
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.
|
|
@@ -314,7 +314,7 @@ bash .instructions/figma/figma-to-swiftui/scripts/validate-phase6.sh \
|
|
|
314
314
|
## GATE 4: VALIDATE
|
|
315
315
|
|
|
316
316
|
```bash
|
|
317
|
-
export FIGMA_ACCESS_TOKEN=$(
|
|
317
|
+
export FIGMA_ACCESS_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1)
|
|
318
318
|
figma connect parse
|
|
319
319
|
```
|
|
320
320
|
|
|
@@ -352,7 +352,7 @@ USER_ACTION_REQUIRED: Options:
|
|
|
352
352
|
### 5.1 Set Token
|
|
353
353
|
|
|
354
354
|
```bash
|
|
355
|
-
export FIGMA_ACCESS_TOKEN=$(
|
|
355
|
+
export FIGMA_ACCESS_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1)
|
|
356
356
|
```
|
|
357
357
|
|
|
358
358
|
### 5.2 Publish via Wrapper Script
|
|
@@ -474,7 +474,7 @@ Auth: set `FIGMA_ACCESS_TOKEN` env var, or use `--token=YOUR_TOKEN` flag.
|
|
|
474
474
|
|
|
475
475
|
Keychain retrieve:
|
|
476
476
|
```bash
|
|
477
|
-
export FIGMA_ACCESS_TOKEN=$(
|
|
477
|
+
export FIGMA_ACCESS_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1)
|
|
478
478
|
```
|
|
479
479
|
|
|
480
480
|
All commands work with npx: `npx @figma/code-connect@latest connect <command>`
|
|
@@ -8,7 +8,7 @@ How the Phase 1 script (`scripts/phase1-gather.py`) uses the Figma REST API for
|
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
# Token stored in macOS Keychain by /figma-setup (CHECK 4)
|
|
11
|
-
TOKEN=$(
|
|
11
|
+
TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1)
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
```python
|
|
@@ -142,7 +142,7 @@ Header: X-Figma-Token: figd_your_token_here
|
|
|
142
142
|
|
|
143
143
|
**Retrieve token from macOS Keychain:**
|
|
144
144
|
```bash
|
|
145
|
-
export TOKEN=$(
|
|
145
|
+
export TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1)
|
|
146
146
|
curl -H "X-Figma-Token: $TOKEN" "https://api.figma.com/v1/..."
|
|
147
147
|
```
|
|
148
148
|
|
|
@@ -1100,7 +1100,7 @@ def main():
|
|
|
1100
1100
|
).decode().strip()
|
|
1101
1101
|
except (subprocess.CalledProcessError, KeyError):
|
|
1102
1102
|
halt("PRE_CHECK", "FIGMA_ACCESS_TOKEN not found", [], [],
|
|
1103
|
-
"Pass --figma-token or:
|
|
1103
|
+
"Pass --figma-token or: "$HOME/.claude/lib/credential-store.sh" set \1 \2
|
|
1104
1104
|
|
|
1105
1105
|
# Resolve MCP OAuth token (for remote MCP)
|
|
1106
1106
|
MCP_TOKEN = get_mcp_token(args.mcp_token)
|
|
@@ -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 `
|
|
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
|
-
}
|