@smartsoft001-mobilems/claude-plugins 2.84.0 → 2.86.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 (136) hide show
  1. package/.claude-plugin/marketplace.json +2 -6
  2. package/README.md +97 -0
  3. package/package.json +2 -2
  4. package/plugins/flow/scripts/refresh-mobilems-api-spec.sh +372 -0
  5. package/plugins/flow/skills/mobilems-docs-reader/SKILL.md +116 -0
  6. package/plugins/flow-external/scripts/refresh-mobilems-api-spec.sh +372 -0
  7. package/plugins/flow-external/skills/mobilems-docs-reader/SKILL.md +116 -0
  8. package/plugins/flow-legacy/scripts/refresh-mobilems-api-spec.sh +372 -0
  9. package/plugins/flow-legacy/skills/mobilems-docs-reader/SKILL.md +116 -0
  10. package/plugins/mobilems/.claude-plugin/README.md +30 -0
  11. package/plugins/mobilems/.claude-plugin/plugin.json +5 -0
  12. package/plugins/mobilems/scripts/refresh-mobilems-api-spec.sh +372 -0
  13. package/plugins/mobilems/skills/mobilems-docs-reader/SKILL.md +116 -0
  14. package/plugins/flow/.claude-plugin/README.md +0 -91
  15. package/plugins/flow/.claude-plugin/merge-permissions.js +0 -97
  16. package/plugins/flow/.claude-plugin/plugin.json +0 -5
  17. package/plugins/flow/.claude-plugin/settings.template.json +0 -86
  18. package/plugins/flow/agents/angular-component-scaffolder.md +0 -175
  19. package/plugins/flow/agents/angular-directive-builder.md +0 -153
  20. package/plugins/flow/agents/angular-guard-builder.md +0 -243
  21. package/plugins/flow/agents/angular-jest-test-writer.md +0 -474
  22. package/plugins/flow/agents/angular-pipe-builder.md +0 -169
  23. package/plugins/flow/agents/angular-resolver-builder.md +0 -286
  24. package/plugins/flow/agents/angular-service-builder.md +0 -161
  25. package/plugins/flow/agents/angular-signal-state-builder.md +0 -339
  26. package/plugins/flow/agents/angular-test-diagnostician.md +0 -279
  27. package/plugins/flow/agents/angular-testbed-configurator.md +0 -315
  28. package/plugins/flow/agents/arch-scaffolder.md +0 -278
  29. package/plugins/flow/agents/e2e-data-testid-injector.md +0 -197
  30. package/plugins/flow/agents/e2e-project-scaffolder.md +0 -194
  31. package/plugins/flow/agents/e2e-test-writer.md +0 -350
  32. package/plugins/flow/agents/shared-agent-evolver.md +0 -294
  33. package/plugins/flow/agents/shared-build-verifier.md +0 -160
  34. package/plugins/flow/agents/shared-config-updater.md +0 -310
  35. package/plugins/flow/agents/shared-coverage-enforcer.md +0 -184
  36. package/plugins/flow/agents/shared-error-handler.md +0 -217
  37. package/plugins/flow/agents/shared-file-creator.md +0 -344
  38. package/plugins/flow/agents/shared-impl-orchestrator.md +0 -312
  39. package/plugins/flow/agents/shared-impl-reporter.md +0 -339
  40. package/plugins/flow/agents/shared-impl-teammate.md +0 -201
  41. package/plugins/flow/agents/shared-linear-subtask-iterator.md +0 -337
  42. package/plugins/flow/agents/shared-logic-implementer.md +0 -243
  43. package/plugins/flow/agents/shared-maia-api.md +0 -26
  44. package/plugins/flow/agents/shared-parallelization-analyzer.md +0 -343
  45. package/plugins/flow/agents/shared-performance-validator.md +0 -168
  46. package/plugins/flow/agents/shared-plan-perspective.md +0 -269
  47. package/plugins/flow/agents/shared-project-standardizer.md +0 -205
  48. package/plugins/flow/agents/shared-report-synthesizer.md +0 -188
  49. package/plugins/flow/agents/shared-review-teammate.md +0 -189
  50. package/plugins/flow/agents/shared-security-scanner.md +0 -186
  51. package/plugins/flow/agents/shared-style-enforcer.md +0 -230
  52. package/plugins/flow/agents/shared-subtask-dependency-analyzer.md +0 -188
  53. package/plugins/flow/agents/shared-tdd-developer.md +0 -350
  54. package/plugins/flow/agents/shared-team-coordinator.md +0 -189
  55. package/plugins/flow/agents/shared-test-fixer.md +0 -186
  56. package/plugins/flow/agents/shared-test-runner.md +0 -191
  57. package/plugins/flow/agents/shared-ui-classifier.md +0 -263
  58. package/plugins/flow/agents/shared-verification-orchestrator.md +0 -194
  59. package/plugins/flow/agents/shared-verification-runner.md +0 -140
  60. package/plugins/flow/agents/ui-a11y-validator.md +0 -305
  61. package/plugins/flow/agents/ui-screenshot-reporter.md +0 -329
  62. package/plugins/flow/agents/ui-web-designer.md +0 -214
  63. package/plugins/flow/skills/a11y-audit/SKILL.md +0 -214
  64. package/plugins/flow/skills/angular-patterns/SKILL.md +0 -191
  65. package/plugins/flow/skills/browser-capture/SKILL.md +0 -238
  66. package/plugins/flow/skills/commit/SKILL.md +0 -259
  67. package/plugins/flow/skills/debug-helper/SKILL.md +0 -375
  68. package/plugins/flow/skills/impl/SKILL.md +0 -992
  69. package/plugins/flow/skills/linear-suggestion/SKILL.md +0 -132
  70. package/plugins/flow/skills/maia-files-delete/SKILL.md +0 -59
  71. package/plugins/flow/skills/maia-files-upload/SKILL.md +0 -57
  72. package/plugins/flow/skills/nx-conventions/SKILL.md +0 -326
  73. package/plugins/flow/skills/plan/SKILL.md +0 -1003
  74. package/plugins/flow/skills/push/SKILL.md +0 -737
  75. package/plugins/flow/skills/review/SKILL.md +0 -443
  76. package/plugins/flow/skills/test-e2e/SKILL.md +0 -161
  77. package/plugins/flow/skills/test-unit/SKILL.md +0 -456
  78. package/plugins/flow-external/.claude-plugin/README.md +0 -152
  79. package/plugins/flow-external/.claude-plugin/merge-permissions.js +0 -80
  80. package/plugins/flow-external/.claude-plugin/plugin.json +0 -5
  81. package/plugins/flow-external/.claude-plugin/settings.template.json +0 -78
  82. package/plugins/flow-external/agents/angular-component-scaffolder.md +0 -269
  83. package/plugins/flow-external/agents/angular-directive-builder.md +0 -130
  84. package/plugins/flow-external/agents/angular-guard-builder.md +0 -70
  85. package/plugins/flow-external/agents/angular-pipe-builder.md +0 -82
  86. package/plugins/flow-external/agents/angular-resolver-builder.md +0 -74
  87. package/plugins/flow-external/agents/angular-service-builder.md +0 -160
  88. package/plugins/flow-external/agents/angular-state-builder.md +0 -254
  89. package/plugins/flow-external/agents/shared-build-verifier.md +0 -67
  90. package/plugins/flow-external/agents/shared-impl-orchestrator.md +0 -88
  91. package/plugins/flow-external/agents/shared-impl-reporter.md +0 -107
  92. package/plugins/flow-external/agents/shared-linear-subtask-iterator.md +0 -70
  93. package/plugins/flow-external/agents/shared-ui-classifier.md +0 -38
  94. package/plugins/flow-external/agents/ui-web-designer.md +0 -179
  95. package/plugins/flow-external/skills/a11y-audit/SKILL.md +0 -96
  96. package/plugins/flow-external/skills/angular-cli-conventions/SKILL.md +0 -267
  97. package/plugins/flow-external/skills/angular-patterns/SKILL.md +0 -170
  98. package/plugins/flow-external/skills/browser-capture/SKILL.md +0 -68
  99. package/plugins/flow-external/skills/commit/SKILL.md +0 -114
  100. package/plugins/flow-external/skills/debug-helper/SKILL.md +0 -131
  101. package/plugins/flow-external/skills/impl/SKILL.md +0 -217
  102. package/plugins/flow-external/skills/linear-suggestion/SKILL.md +0 -62
  103. package/plugins/flow-external/skills/maia-files-delete/SKILL.md +0 -34
  104. package/plugins/flow-external/skills/maia-files-upload/SKILL.md +0 -41
  105. package/plugins/flow-external/skills/plan/SKILL.md +0 -302
  106. package/plugins/flow-external/skills/push/SKILL.md +0 -210
  107. package/plugins/flow-legacy/.claude-plugin/README.md +0 -143
  108. package/plugins/flow-legacy/.claude-plugin/merge-permissions.js +0 -94
  109. package/plugins/flow-legacy/.claude-plugin/plugin.json +0 -5
  110. package/plugins/flow-legacy/.claude-plugin/settings.template.json +0 -79
  111. package/plugins/flow-legacy/agents/angular-component-scaffolder.md +0 -323
  112. package/plugins/flow-legacy/agents/angular-directive-builder.md +0 -258
  113. package/plugins/flow-legacy/agents/angular-guard-builder.md +0 -322
  114. package/plugins/flow-legacy/agents/angular-pipe-builder.md +0 -227
  115. package/plugins/flow-legacy/agents/angular-resolver-builder.md +0 -332
  116. package/plugins/flow-legacy/agents/angular-service-builder.md +0 -271
  117. package/plugins/flow-legacy/agents/angular-state-builder.md +0 -479
  118. package/plugins/flow-legacy/agents/shared-impl-orchestrator.md +0 -174
  119. package/plugins/flow-legacy/agents/shared-impl-reporter.md +0 -204
  120. package/plugins/flow-legacy/agents/shared-linear-subtask-iterator.md +0 -187
  121. package/plugins/flow-legacy/agents/shared-tdd-developer.md +0 -306
  122. package/plugins/flow-legacy/agents/shared-test-runner.md +0 -131
  123. package/plugins/flow-legacy/agents/shared-ui-classifier.md +0 -145
  124. package/plugins/flow-legacy/skills/a11y-audit/SKILL.md +0 -214
  125. package/plugins/flow-legacy/skills/angular-patterns/SKILL.md +0 -346
  126. package/plugins/flow-legacy/skills/browser-capture/SKILL.md +0 -238
  127. package/plugins/flow-legacy/skills/commit/SKILL.md +0 -215
  128. package/plugins/flow-legacy/skills/debug-helper/SKILL.md +0 -395
  129. package/plugins/flow-legacy/skills/impl/SKILL.md +0 -710
  130. package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +0 -132
  131. package/plugins/flow-legacy/skills/maia-files-delete/SKILL.md +0 -59
  132. package/plugins/flow-legacy/skills/maia-files-upload/SKILL.md +0 -57
  133. package/plugins/flow-legacy/skills/nx-conventions/SKILL.md +0 -368
  134. package/plugins/flow-legacy/skills/plan/SKILL.md +0 -708
  135. package/plugins/flow-legacy/skills/push/SKILL.md +0 -623
  136. package/plugins/flow-legacy/skills/test-unit/SKILL.md +0 -500
@@ -1,737 +0,0 @@
1
- ---
2
- name: push
3
- description: Push local changes to remote repository, update Linear task status, monitor CI pipeline, verify QA deployment, and optionally create pull requests for feature branches.
4
- allowed-tools:
5
- - Bash
6
- - Read
7
- - Glob
8
- - Grep
9
- - AskUserQuestion
10
- - WebFetch
11
- - TaskCreate
12
- - TaskUpdate
13
- - TaskList
14
- - TaskGet
15
- - mcp__linear__get_issue
16
- - mcp__linear__list_issues
17
- - mcp__linear__list_comments
18
- - mcp__linear__save_comment
19
- - mcp__linear__save_issue
20
- - mcp__linear__list_issue_statuses
21
- ---
22
-
23
- # Push Skill
24
-
25
- Push local changes to remote and optionally update Linear task status.
26
-
27
- ## Execution Checklist
28
-
29
- Execute each step in order. Do not skip any step marked as MANDATORY.
30
-
31
- ### Pre-Push
32
-
33
- - [ ] **1. Check git status** — verify branch, commits ahead, warn about uncommitted changes
34
- - [ ] **2. Get commits to push** — `git log origin/<branch>..HEAD --oneline`; exit if none
35
- - [ ] **3. Fetch Linear task** — get title, status, subtasks and their statuses via MCP
36
- - [ ] **4. Analyze subtasks** — classify completed vs incomplete, find reasons for incomplete ones
37
- - [ ] **5. MANDATORY: Show summary to user** — present commits + subtask status, ask about status change
38
- - [ ] **6. Update Linear status** — BEFORE push: set completed subtasks to "In Review", post summary comment in Polish
39
- - [ ] **7. MANDATORY: Write Linear comments in Polish** — all comments must be in Polish language
40
-
41
- ### Push
42
-
43
- - [ ] **8. Push to remote** — `git push`; handle errors gracefully
44
-
45
- ### Post-Push (branch-specific)
46
-
47
- #### If `development` branch:
48
-
49
- - [ ] **9a. Ask about deployment verification** — offer optional CI monitoring + QA check
50
- - [ ] **10a. Monitor CI pipeline** — poll `gh run view` every 30s until completion
51
- - [ ] **11a. Handle CI failure** — revert task to "To Do", post error comment to Linear
52
- - [ ] **12a. Verify package.json update** — `git pull`, compare versions
53
- - [ ] **13a. Verify QA deployment** — wait 5 min, check `<meta name="app-version">` matches
54
-
55
- #### If feature branch:
56
-
57
- - [ ] **9b. Check for existing PR** — `gh pr list --head <branch> --base development`
58
- - [ ] **10b. Ask about PR creation** — if no PR exists and subtasks are ready
59
- - [ ] **11b. Create PR** — `gh pr create` with structured summary
60
-
61
- ### Final
62
-
63
- - [ ] **12. Show final status** — complete summary of all actions taken
64
-
65
- ### Task Progress Tracking
66
-
67
- **MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
68
-
69
- **Task naming convention**: Every task subject MUST be prefixed with the Linear task ID:
70
-
71
- ```
72
- <linearTaskId> <step description>
73
- ```
74
-
75
- **At skill start**: Create tasks for each checklist step using `TaskCreate`:
76
-
77
- ```
78
- TaskCreate({
79
- subject: "MM-123 Check git status",
80
- description: "Verify branch, commits ahead, warn about uncommitted changes",
81
- activeForm: "MM-123 Checking git status"
82
- })
83
- TaskCreate({
84
- subject: "MM-123 Push to remote",
85
- description: "Execute git push and handle errors",
86
- activeForm: "MM-123 Pushing to remote"
87
- })
88
- ```
89
-
90
- **During execution**:
91
-
92
- - Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
93
- - After completing a step → `TaskUpdate({ taskId, status: "completed" })`
94
- - For branch-specific steps, only create tasks for the applicable branch path (development OR feature)
95
-
96
- **Before user decisions**: Use `TaskList` to show progress overview before asking user about status changes or PR creation.
97
-
98
- ## Usage
99
-
100
- ```
101
- /push-local [linearTaskId]
102
- ```
103
-
104
- ## Parameters
105
-
106
- - `linearTaskId` - Linear task ID (e.g., MOB-123)
107
-
108
- ## Instructions
109
-
110
- You are tasked with pushing local changes to the remote repository, summarizing what was done, and optionally moving the Linear task to "In Review".
111
-
112
- ### Step 1: Check Git Status
113
-
114
- Run `git status` to verify:
115
-
116
- - Current branch name
117
- - Number of commits ahead of remote
118
- - Any uncommitted changes (warn user if present)
119
-
120
- If there are uncommitted changes, warn the user and ask if they want to proceed or commit first.
121
-
122
- ### Step 2: Get Commits to Push
123
-
124
- Run `git log origin/<branch>..HEAD --oneline` to get the list of commits that will be pushed.
125
-
126
- If no commits to push, inform the user and exit.
127
-
128
- ### Step 3: Fetch Linear Task Details (if linearTaskId provided)
129
-
130
- If `linearTaskId` was provided, use MCP Linear server to fetch:
131
-
132
- - Task title
133
- - Current status
134
- - Subtasks (if any) and their statuses
135
- - Comments on subtasks (to find reasons for incomplete items)
136
-
137
- ### Step 4: Analyze Subtasks Status
138
-
139
- For each subtask, determine:
140
-
141
- 1. **Completed subtasks**: Status is "Done", "In Review", or has implementation completed
142
- 2. **Incomplete subtasks**: Status is "To Do", "Blocked", or was not implemented
143
-
144
- For incomplete subtasks, find the reason by:
145
-
146
- - Reading comments on the subtask (look for "Analiza problemu", "Blocker", "Status: Blocked")
147
- - Checking if it was marked as backend issue, external dependency, etc.
148
-
149
- Build a summary of incomplete items with reasons.
150
-
151
- ### Step 5: Show Summary and Ask About Status Update
152
-
153
- Show summary of what will be pushed and ask user:
154
-
155
- ```markdown
156
- ## Podsumowanie
157
-
158
- ### Commity do wysłania (X)
159
-
160
- | Commit | Opis |
161
- | ------- | -------------------------- |
162
- | abc1234 | feat(scope): description 1 |
163
- | def5678 | fix(scope): description 2 |
164
-
165
- ### Podzadania
166
-
167
- #### Zrealizowane
168
-
169
- - ✅ MOB-549: Naprawić szerokość logo
170
- - ✅ MOB-550: Usunąć zdublowane zdjęcia
171
-
172
- #### Niezrealizowane
173
-
174
- - ⚠️ MOB-554: Obsłużyć zdjęcia PNG → Problem backendu
175
-
176
- ---
177
-
178
- **Task**: [linearTaskId] - [Task Title]
179
- **Aktualny status**: [Current Status]
180
-
181
- Czy przenieść task do "In Review" i wysłać zmiany?
182
- ```
183
-
184
- Use `AskUserQuestion` tool with options:
185
-
186
- - "Tak, przenieś do In Review i wyślij" (Recommended)
187
- - "Tylko wyślij, bez zmiany statusu"
188
- - "Anuluj"
189
-
190
- ### Step 6: Update Linear Status (if confirmed)
191
-
192
- **BEFORE pushing**, if user confirmed status change:
193
-
194
- 1. **For tasks with subtasks**: Update all completed subtasks to "In Review"
195
- 2. **For tasks without subtasks**: Update the task itself to "In Review"
196
-
197
- Create a comment on the **parent task** summarizing:
198
-
199
- ```markdown
200
- ## Podsumowanie Implementacji
201
-
202
- ### Branch
203
-
204
- `<branch-name>`
205
-
206
- ### Zrealizowane Podzadania
207
-
208
- | Podzadanie | Tytuł | Status |
209
- | ---------- | ------------------------- | --------------- |
210
- | MOB-549 | Naprawić szerokość logo | ✅ Zrealizowane |
211
- | MOB-550 | Usunąć zdublowane zdjęcia | ✅ Zrealizowane |
212
-
213
- ### Niezrealizowane Podzadania
214
-
215
- | Podzadanie | Tytuł | Powód |
216
- | ---------- | -------------------- | ------------------------------------------------------- |
217
- | MOB-554 | Obsłużyć zdjęcia PNG | ⚠️ Problem backendu - wymaga naprawy po stronie serwera |
218
-
219
- ### Commity
220
-
221
- | Commit | Opis |
222
- | ------- | -------------------------- |
223
- | abc1234 | feat(scope): description 1 |
224
- | def5678 | fix(scope): description 2 |
225
-
226
- ### Status
227
-
228
- Task przeniesiony do "In Review".
229
-
230
- ---
231
-
232
- _Raport wygenerowany przez Claude Code_
233
- ```
234
-
235
- **Important**: For each incomplete subtask, include:
236
-
237
- - The subtask ID and title
238
- - A clear reason why it wasn't completed (e.g., "Problem backendu", "Zewnętrzna zależność", "Brak planu implementacji")
239
- - Reference to any comments on the subtask that explain the issue
240
-
241
- ### Step 7: Push to Remote
242
-
243
- Execute `git push` to push the commits to the remote repository.
244
-
245
- If push fails:
246
-
247
- - Show the error message
248
- - Suggest possible solutions (pull first, force push if appropriate, etc.)
249
- - Note: Linear status was already updated, may need to revert if push ultimately fails
250
-
251
- ### Step 8: Final Confirmation
252
-
253
- Show final status to user:
254
-
255
- ```markdown
256
- ## Gotowe
257
-
258
- ✅ Linear task [linearTaskId] przeniesiony do "In Review"
259
- ✅ Zmiany wysłane do `origin/<branch-name>`
260
-
261
- ### Następne kroki
262
-
263
- - Oczekiwanie na code review
264
- ```
265
-
266
- ### Step 9: Branch-Specific Post-Push Actions
267
-
268
- After successful push, determine the next action based on the current branch:
269
-
270
- 1. **If branch is `development`**: Proceed to **Step 10** (Deployment Verification)
271
- 2. **If branch is a feature branch** (matches Linear issue ID pattern like `MOB-123`, `mob-123`, etc.): Proceed to **Step 9a** (PR Workflow)
272
-
273
- #### Step 9a: Feature Branch - Check/Create Pull Request
274
-
275
- **Applicable only when on a feature branch (not `development`).**
276
-
277
- 1. **Check if all subtasks are completed**:
278
-
279
- Review the subtask analysis from Step 4. Consider a task "ready for PR" if:
280
-
281
- - All subtasks are in "Done" or "In Review" status, OR
282
- - Incomplete subtasks have documented reasons (backend issue, external dependency, etc.)
283
-
284
- 2. **Check if PR already exists**:
285
-
286
- ```bash
287
- gh pr list --head <branch-name> --base development --json number,title,state,url
288
- ```
289
-
290
- 3. **If PR exists**:
291
-
292
- ```markdown
293
- ## Pull Request Already Exists
294
-
295
- **PR**: #<number> - <title>
296
- **Status**: <state>
297
- **URL**: <url>
298
-
299
- No action needed - PR already created.
300
- ```
301
-
302
- 4. **If PR does NOT exist**, ask user:
303
-
304
- ```markdown
305
- ## Create Pull Request?
306
-
307
- Branch `<branch-name>` has no open PR to `development`.
308
-
309
- ### Subtasks Status
310
-
311
- - ✅ Completed: X
312
- - ⚠️ Incomplete: Y (with documented reasons)
313
-
314
- Do you want to create a Pull Request?
315
- ```
316
-
317
- Use `AskUserQuestion` tool with options:
318
-
319
- - "Tak, utwórz PR do development" (Recommended)
320
- - "Nie, zakończ bez PR"
321
-
322
- 5. **If user confirms PR creation**:
323
-
324
- Create PR using `gh pr create`:
325
-
326
- ```bash
327
- gh pr create --base development --head <branch-name> --title "<Linear-ID>: <Task Title>" --body "$(cat <<'EOF'
328
- ## Summary
329
-
330
- Implementation for [<Linear-ID>](https://linear.app/issue/<Linear-ID>)
331
-
332
- ### Completed Subtasks
333
-
334
- - ✅ <subtask-id>: <title>
335
- - ✅ <subtask-id>: <title>
336
-
337
- ### Incomplete Subtasks (with reasons)
338
-
339
- - ⚠️ <subtask-id>: <title> → <reason>
340
-
341
- ### Commits
342
-
343
- | Commit | Description |
344
- |--------|-------------|
345
- | abc123 | feat: ... |
346
-
347
- ---
348
-
349
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
350
- EOF
351
- )"
352
- ```
353
-
354
- 6. **Show PR creation result**:
355
-
356
- ```markdown
357
- ## ✅ Pull Request Created
358
-
359
- **PR**: #<number> - <title>
360
- **URL**: <url>
361
- **Base**: development
362
- **Head**: <branch-name>
363
-
364
- ### Następne kroki
365
-
366
- - Oczekiwanie na code review
367
- - Po zatwierdzeniu: merge do development
368
- ```
369
-
370
- **End the command here for feature branches.**
371
-
372
- ### Step 10: Ask About Deployment Verification (development branch only)
373
-
374
- **Applicable only when on `development` branch.**
375
-
376
- After successful push, ask the user if they want to verify deployment:
377
-
378
- ```markdown
379
- ## Deployment Verification
380
-
381
- Do you want to verify the deployment on QA environment?
382
-
383
- Verification process:
384
-
385
- 1. Monitor GitHub Actions CI pipeline until completion
386
- 2. Git pull and check if package.json was updated
387
- 3. Wait 5 minutes for deployment
388
- 4. Verify app version on QA site
389
- ```
390
-
391
- Use `AskUserQuestion` tool with options:
392
-
393
- - "Yes, verify deployment" (Recommended)
394
- - "No, finish now"
395
-
396
- If user chooses not to verify, end the command here.
397
-
398
- ### Step 11: Monitor CI Pipeline via GitHub Actions
399
-
400
- **Do NOT wait a fixed time.** Instead, actively monitor GitHub Actions workflows using `gh` CLI.
401
-
402
- 1. **Get the latest workflow run for the current branch**:
403
-
404
- ```bash
405
- gh run list --branch <branch-name> --limit 1 --json databaseId,status,conclusion,workflowName
406
- ```
407
-
408
- 2. **Poll workflow status** every 30 seconds until it completes:
409
-
410
- ```bash
411
- gh run view <run-id> --json status,conclusion
412
- ```
413
-
414
- Or use `gh run watch <run-id>` to watch in real-time (but this blocks).
415
-
416
- 3. **Show progress to user**:
417
-
418
- ```markdown
419
- ## CI/CD Pipeline Monitoring
420
-
421
- 🔄 Monitoring GitHub Actions workflow...
422
-
423
- **Workflow**: <workflow-name>
424
- **Run ID**: <run-id>
425
- **Status**: in_progress | queued | completed
426
- ```
427
-
428
- 4. **Check workflow result**:
429
-
430
- **If workflow FAILED**:
431
-
432
- 1. **Get failed job logs**:
433
-
434
- ```bash
435
- gh run view <run-id> --log-failed 2>&1 | tail -100
436
- ```
437
-
438
- 2. **Revert Linear task to "To Do"**:
439
-
440
- If Linear task was provided and status was changed to "In Review":
441
-
442
- - Move the parent task back to "To Do" status
443
- - For tasks with subtasks: Move all subtasks that were changed to "In Review" back to "To Do"
444
-
445
- 3. **Add error comment to Linear task**:
446
-
447
- Create a comment on the **parent task** with CI error details:
448
-
449
- ```markdown
450
- ## ❌ CI Build Failed
451
-
452
- ### Branch
453
-
454
- `<branch-name>`
455
-
456
- ### Workflow
457
-
458
- **Name**: <workflow-name>
459
- **Run ID**: <run-id>
460
- **URL**: https://github.com/<owner>/<repo>/actions/runs/<run-id>
461
-
462
- ### Error Details
463
- ```
464
-
465
- <last 50-100 lines of error logs from gh run view --log-failed>
466
-
467
- ```
468
-
469
- ### Status
470
-
471
- Task przywrócony do "To Do" z powodu błędu CI.
472
-
473
- ---
474
-
475
- _Raport wygenerowany przez Claude Code_
476
- ```
477
-
478
- 4. **Show error to user**:
479
-
480
- ```markdown
481
- ## ❌ CI Pipeline Failed
482
-
483
- **Workflow**: <workflow-name>
484
- **Run ID**: <run-id>
485
- **Conclusion**: failure
486
-
487
- ### Linear Task Status
488
-
489
- ⚠️ Task [linearTaskId] przywrócony do "To Do"
490
- ✅ Komentarz z błędem dodany do taska
491
-
492
- ### View logs
493
-
494
- Run `gh run view <run-id> --log-failed` to see error details.
495
-
496
- Or visit: https://github.com/<owner>/<repo>/actions/runs/<run-id>
497
-
498
- ### Następne kroki
499
-
500
- 1. Przeanalizuj błędy w CI
501
- 2. Napraw problemy lokalnie
502
- 3. Uruchom `/push-local` ponownie
503
- ```
504
-
505
- Stop here if workflow failed.
506
-
507
- **If workflow SUCCEEDED**, run:
508
-
509
- ```bash
510
- git fetch origin
511
- git pull origin <branch-name>
512
- ```
513
-
514
- Check if `package.json` version has changed:
515
-
516
- 1. Read the current `package.json` version
517
- 2. Compare with the version before push
518
-
519
- **If package.json was NOT updated** (version unchanged):
520
-
521
- ```markdown
522
- ## ❌ Pipeline Error
523
-
524
- **Problem**: CI/CD pipeline did not update the version in `package.json`.
525
-
526
- **Expected**: Automatic version bump after push
527
- **Current version**: X.X.X (unchanged)
528
-
529
- ### Possible causes
530
-
531
- 1. Version bump workflow not triggered
532
- 2. Workflow succeeded but didn't bump version
533
- 3. Auto-version configuration is not working
534
-
535
- ### Recommended actions
536
-
537
- 1. Check workflow logs: `gh run view <run-id> --log`
538
- 2. Verify auto-versioning configuration
539
- ```
540
-
541
- Stop here if package.json was not updated.
542
-
543
- **If package.json WAS updated**, save the new version and proceed to Step 12.
544
-
545
- ### Step 12: Verify Deployment on QA (App Version Check)
546
-
547
- Wait 5 minutes for deployment to complete:
548
-
549
- ```markdown
550
- ## QA Deployment Verification
551
-
552
- ⏳ Waiting 5 minutes for QA deployment...
553
- ```
554
-
555
- Use `sleep 300` or equivalent to wait.
556
-
557
- After waiting, read SITE_URL from `.env.dev` file and fetch the page:
558
-
559
- ```bash
560
- curl -s "<SITE_URL>" | grep -o '<meta name="app-version" content="[^"]*"'
561
- ```
562
-
563
- Or use WebFetch to get the page and extract the `<meta name="app-version">` tag.
564
-
565
- Compare the deployed version with `package.json` version:
566
-
567
- **If versions MATCH**:
568
-
569
- ```markdown
570
- ## ✅ Deployment Successful
571
-
572
- **Version in package.json**: X.X.X
573
- **Version on QA**: X.X.X
574
-
575
- ✅ Application was successfully deployed to QA environment.
576
- ```
577
-
578
- **If versions DO NOT MATCH**:
579
-
580
- ```markdown
581
- ## ❌ Deployment Error
582
-
583
- **Problem**: App version on QA does not match the version in `package.json`.
584
-
585
- **Version in package.json**: X.X.X
586
- **Version on QA**: Y.Y.Y
587
-
588
- ### Possible causes
589
-
590
- 1. Deployment is still in progress (try again in a few minutes)
591
- 2. Deployment pipeline failed with error
592
- 3. CDN cache is serving old version
593
- 4. Deployment configuration error
594
-
595
- ### Recommended actions
596
-
597
- 1. Check deployment pipeline status
598
- 2. Review server logs
599
- 3. Clear browser cache and check again
600
- 4. Wait additional 5 minutes and run `/push-local --verify-only`
601
- ```
602
-
603
- ### Step 13: Final Deployment Status
604
-
605
- Show complete summary:
606
-
607
- ```markdown
608
- ## Complete Process Summary
609
-
610
- ### Git
611
-
612
- ✅ Changes pushed to `origin/<branch-name>`
613
-
614
- ### Linear
615
-
616
- ✅ Task [linearTaskId] moved to "In Review"
617
-
618
- ### CI/CD Pipeline
619
-
620
- ✅ Package.json updated to version X.X.X
621
-
622
- ### QA Deployment
623
-
624
- ✅ Application deployed to <SITE_URL>
625
- ✅ Version: X.X.X
626
- ```
627
-
628
- ## Guidelines
629
-
630
- 1. **Write comments in Polish**: All Linear comments must be written in Polish
631
- 2. **Always confirm before status change**: Never change Linear status without user confirmation
632
- 3. **Update Linear BEFORE push**: Status change happens before git push
633
- 4. **Handle errors gracefully**: If push fails after status update, inform user
634
- 5. **Warn about uncommitted changes**: Don't push if there are uncommitted changes without user acknowledgment
635
- 6. **Show clear summaries**: Always show what commits will be pushed and subtask status
636
- 7. **Document incomplete subtasks**: Always explain WHY a subtask wasn't completed
637
- 8. **Deployment verification is optional**: Always ask user before starting the 10-minute verification process
638
- 9. **Read SITE_URL from .env.dev**: Use the SITE_URL variable from `.env.dev` file for QA verification
639
- 10. **Version comparison**: Compare `package.json` version with `<meta name="app-version">` tag on QA site
640
- 11. **Revert on CI failure**: If CI pipeline fails, move task back to "To Do" and add error comment
641
- 12. **Branch-specific post-push actions**:
642
- - **`development` branch**: Offer deployment verification (CI monitoring + QA version check)
643
- - **Feature branch (e.g., `MOB-123`)**: Check/create PR to `development` when all subtasks are ready
644
-
645
- ## Example Flows
646
-
647
- ### Example 1: Push to `development` branch (with deployment verification)
648
-
649
- ```
650
- User: /push-local MOB-548
651
- (on branch: development)
652
-
653
- 1. Check git status → 6 commits ahead, no uncommitted changes
654
- 2. List commits to push → 6 commits shown
655
- 3. Fetch MOB-548 details → "Druga lista uwag", 6 subtasks
656
- 4. Analyze subtasks → 5 completed, 1 incomplete (backend issue)
657
- 5. Show summary, ask user: "Move to In Review and push?" → User: "Yes"
658
- 6. Update MOB-548 subtasks to "In Review", create summary comment
659
- 7. git push → success
660
- 8. Show final confirmation
661
- 9. Branch is `development` → Ask user: "Verify deployment?" → User: "Yes"
662
- 10. Monitor GitHub Actions (gh run list/view) → workflow completed ✅
663
- → git pull → package.json version changed (0.136.0 → 0.137.0) ✅
664
- 11. Wait 5 minutes → curl SITE_URL → meta app-version="0.137.0" ✅
665
- 12. Show complete deployment summary
666
- ```
667
-
668
- ### Example 2: Push to feature branch (with PR creation)
669
-
670
- ```
671
- User: /push-local MOB-560
672
- (on branch: MOB-560)
673
-
674
- 1. Check git status → 3 commits ahead, no uncommitted changes
675
- 2. List commits to push → 3 commits shown
676
- 3. Fetch MOB-560 details → "Implement dark mode", 4 subtasks
677
- 4. Analyze subtasks → 4 completed, 0 incomplete
678
- 5. Show summary, ask user: "Move to In Review and push?" → User: "Yes"
679
- 6. Update MOB-560 subtasks to "In Review", create summary comment
680
- 7. git push → success
681
- 8. Show final confirmation
682
- 9. Branch is feature branch (MOB-560) → Check for existing PR
683
- → gh pr list --head MOB-560 --base development → No PR found
684
- → Ask user: "Create PR to development?" → User: "Yes"
685
- → gh pr create --base development --title "MOB-560: Implement dark mode"
686
- → Show PR created: #42 - URL: https://github.com/.../pull/42
687
- 10. End command (no deployment verification for feature branches)
688
- ```
689
-
690
- ## Error Handling
691
-
692
- ### Push Rejected (non-fast-forward)
693
-
694
- ```markdown
695
- ## Push Failed
696
-
697
- **Error**: Updates were rejected because the remote contains work that you do not have locally.
698
-
699
- **Uwaga**: Status w Linear został już zaktualizowany do "In Review".
700
-
701
- ### Options
702
-
703
- 1. `git pull --rebase` - Pull remote changes and rebase your commits on top
704
- 2. `git pull` - Pull remote changes and merge
705
- 3. `git push --force` - Force push (⚠️ overwrites remote changes)
706
-
707
- Which option do you want to use?
708
- ```
709
-
710
- ### No Commits to Push
711
-
712
- ```markdown
713
- ## Nothing to Push
714
-
715
- Your branch is up to date with `origin/<branch-name>`.
716
-
717
- No commits to push.
718
- ```
719
-
720
- ### Uncommitted Changes Present
721
-
722
- ```markdown
723
- ## Warning: Uncommitted Changes
724
-
725
- You have uncommitted changes in your working directory:
726
-
727
- - modified: path/to/file1.ts
728
- - modified: path/to/file2.ts
729
-
730
- ### Options
731
-
732
- 1. Commit changes first (`/commit`)
733
- 2. Stash changes and push
734
- 3. Proceed anyway (push existing commits only)
735
-
736
- What would you like to do?
737
- ```