create-agentic-pdlc 2.3.0 → 2.4.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 (53) hide show
  1. package/.agentic-pdlc/metrics/raw/2026-W22.jsonl +114 -0
  2. package/.github/ISSUE_TEMPLATE/bug.md +53 -0
  3. package/.github/ISSUE_TEMPLATE/feature.md +54 -0
  4. package/.github/ISSUE_TEMPLATE/task.md +33 -0
  5. package/.github/workflows/add-to-board.yml +1 -1
  6. package/.github/workflows/agent-trigger.yml +4 -4
  7. package/.github/workflows/agentic-metrics.yml +150 -27
  8. package/.github/workflows/ci.yml +1 -1
  9. package/.github/workflows/npm-publish.yml +2 -2
  10. package/.github/workflows/pdlc-health-check.yml +1 -1
  11. package/.github/workflows/pdlc-stage-gate.yml +2 -2
  12. package/.github/workflows/project-automation.yml +51 -12
  13. package/.github/workflows/qa-agent.yml +22 -11
  14. package/.github/workflows/qa-gate.yml +51 -0
  15. package/AGENTS.md +50 -8
  16. package/CLAUDE.md +2 -0
  17. package/SETUP.md +2 -1
  18. package/adapters/claude-code/skill.md +32 -11
  19. package/adapters/hooks/pdlc-stage-gate.sh +3 -8
  20. package/bin/cli.js +23 -2
  21. package/docs/pdlc.md +5 -5
  22. package/docs/superpowers/plans/2026-05-28-jules-label-pat-split.md +240 -0
  23. package/docs/superpowers/plans/2026-05-29-agentic-pulse-rework-taxonomy.md +474 -0
  24. package/docs/superpowers/plans/2026-05-29-qa-gate-enforcement.md +354 -0
  25. package/docs/superpowers/specs/2026-05-29-agentic-pulse-rework-taxonomy-design.md +122 -0
  26. package/package.json +1 -1
  27. package/templates/.github/ISSUE_TEMPLATE/bug.md +53 -0
  28. package/templates/.github/ISSUE_TEMPLATE/feature.md +54 -0
  29. package/templates/.github/ISSUE_TEMPLATE/task.md +33 -0
  30. package/templates/.github/workflows/add-to-board.yml +4 -4
  31. package/templates/.github/workflows/agent-trigger.yml +22 -13
  32. package/{.agentic-pdlc/templates → templates}/.github/workflows/agentic-metrics.yml +150 -27
  33. package/templates/.github/workflows/ci.yml +1 -1
  34. package/templates/.github/workflows/pdlc-health-check.yml +1 -1
  35. package/templates/.github/workflows/pdlc-stage-gate.yml +2 -2
  36. package/templates/.github/workflows/project-automation.yml +71 -32
  37. package/templates/.github/workflows/qa-agent.yml +32 -18
  38. package/templates/.github/workflows/qa-gate.yml +51 -0
  39. package/templates/AGENTS.md +57 -29
  40. package/templates/docs/pdlc.md +4 -4
  41. package/.agentic-pdlc/templates/.github/CODEOWNERS +0 -5
  42. package/.agentic-pdlc/templates/.github/copilot-instructions.md +0 -12
  43. package/.agentic-pdlc/templates/.github/workflows/add-to-board.yml +0 -38
  44. package/.agentic-pdlc/templates/.github/workflows/agent-trigger.yml +0 -146
  45. package/.agentic-pdlc/templates/.github/workflows/auto-approve.yml +0 -16
  46. package/.agentic-pdlc/templates/.github/workflows/ci.yml +0 -54
  47. package/.agentic-pdlc/templates/.github/workflows/pdlc-health-check.yml +0 -121
  48. package/.agentic-pdlc/templates/.github/workflows/pdlc-stage-gate.yml +0 -51
  49. package/.agentic-pdlc/templates/.github/workflows/project-automation.yml +0 -274
  50. package/.agentic-pdlc/templates/.github/workflows/protect-workflows.yml +0 -21
  51. package/.agentic-pdlc/templates/.github/workflows/qa-agent.yml +0 -128
  52. package/.agentic-pdlc/templates/AGENTS.md +0 -104
  53. package/.agentic-pdlc/templates/docs/pdlc.md +0 -123
@@ -0,0 +1,240 @@
1
+ # Jules Label PAT Split Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+ **Goal:** Split the `Update Labels` step in both template `agent-trigger.yml` files so stage labels use `GITHUB_TOKEN` and the agent label (`jules`) uses `PROJECT_PAT`, ensuring external GitHub App webhooks fire.
6
+
7
+ **Architecture:** Two YAML edits — one per template file (they are identical in content). The existing single step that adds all labels via `GITHUB_TOKEN` is replaced by two sequential steps: first adds stage labels via `GITHUB_TOKEN`, second adds the agent label via `PROJECT_PAT` with a guard condition. No new files, no script changes.
8
+
9
+ **Tech Stack:** GitHub Actions YAML, `actions/github-script@v7`
10
+
11
+ ---
12
+
13
+ ## File Map
14
+
15
+ | Action | File |
16
+ |---|---|
17
+ | Modify | `templates/.github/workflows/agent-trigger.yml` |
18
+ | Modify | `.agentic-pdlc/templates/.github/workflows/agent-trigger.yml` |
19
+
20
+ Both files are identical — apply the same change to each.
21
+
22
+ ---
23
+
24
+ ### Task 1: Fix `templates/.github/workflows/agent-trigger.yml`
25
+
26
+ **Files:**
27
+ - Modify: `templates/.github/workflows/agent-trigger.yml`
28
+
29
+ Current `Update Labels` step (lines 25–53):
30
+
31
+ ```yaml
32
+ - name: Update Labels
33
+ uses: actions/github-script@v7
34
+ with:
35
+ github-token: ${{ secrets.GITHUB_TOKEN }}
36
+ script: |
37
+ const { owner, repo } = context.repo;
38
+ const issue_number = context.payload.issue.number;
39
+
40
+ try {
41
+ await github.rest.issues.removeLabel({
42
+ owner,
43
+ repo,
44
+ issue_number,
45
+ name: 'stage:approval'
46
+ });
47
+ } catch (error) {
48
+ console.log('Label stage:approval not found or could not be removed');
49
+ }
50
+
51
+ const agentLabel = '{{IMPLEMENTATION_AGENT_LABEL}}';
52
+ const labelsToAdd = ['stage:development'];
53
+ if (!agentLabel.includes('{{')) labelsToAdd.push(agentLabel, 'agent:working');
54
+
55
+ await github.rest.issues.addLabels({
56
+ owner,
57
+ repo,
58
+ issue_number,
59
+ labels: labelsToAdd
60
+ });
61
+ ```
62
+
63
+ - [ ] **Step 1: Replace `Update Labels` step with two steps**
64
+
65
+ Replace the step above with:
66
+
67
+ ```yaml
68
+ - name: Update stage labels
69
+ uses: actions/github-script@v7
70
+ with:
71
+ github-token: ${{ secrets.GITHUB_TOKEN }}
72
+ script: |
73
+ const { owner, repo } = context.repo;
74
+ const issue_number = context.payload.issue.number;
75
+
76
+ try {
77
+ await github.rest.issues.removeLabel({
78
+ owner,
79
+ repo,
80
+ issue_number,
81
+ name: 'stage:approval'
82
+ });
83
+ } catch (error) {
84
+ console.log('Label stage:approval not found or could not be removed');
85
+ }
86
+
87
+ await github.rest.issues.addLabels({
88
+ owner,
89
+ repo,
90
+ issue_number,
91
+ labels: ['stage:development', 'agent:working']
92
+ });
93
+
94
+ - name: Add agent label via PAT
95
+ if: ${{ env.PROJECT_PAT != '' && !contains('{{IMPLEMENTATION_AGENT_LABEL}}', '{{') }}
96
+ uses: actions/github-script@v7
97
+ with:
98
+ github-token: ${{ env.PROJECT_PAT }}
99
+ script: |
100
+ await github.rest.issues.addLabels({
101
+ owner: context.repo.owner,
102
+ repo: context.repo.repo,
103
+ issue_number: context.payload.issue.number,
104
+ labels: ['{{IMPLEMENTATION_AGENT_LABEL}}']
105
+ });
106
+ ```
107
+
108
+ - [ ] **Step 2: Verify file looks correct**
109
+
110
+ Run:
111
+ ```bash
112
+ grep -n "name:\|github-token:" templates/.github/workflows/agent-trigger.yml
113
+ ```
114
+
115
+ Expected output (step names and tokens in order):
116
+ ```
117
+ 25: - name: Update stage labels
118
+ 28: github-token: ${{ secrets.GITHUB_TOKEN }}
119
+ 55: - name: Add agent label via PAT
120
+ 59: github-token: ${{ env.PROJECT_PAT }}
121
+ 65: - name: Move board card to Development
122
+ ```
123
+
124
+ - [ ] **Step 3: Commit**
125
+
126
+ ```bash
127
+ git add templates/.github/workflows/agent-trigger.yml
128
+ git commit -m "fix(templates): split jules label into PAT step to fire external App webhook"
129
+ ```
130
+
131
+ ---
132
+
133
+ ### Task 2: Fix `.agentic-pdlc/templates/.github/workflows/agent-trigger.yml`
134
+
135
+ **Files:**
136
+ - Modify: `.agentic-pdlc/templates/.github/workflows/agent-trigger.yml`
137
+
138
+ Same change as Task 1 — the two files are identical.
139
+
140
+ - [ ] **Step 1: Replace `Update Labels` step with two steps**
141
+
142
+ Replace the same `Update Labels` block with:
143
+
144
+ ```yaml
145
+ - name: Update stage labels
146
+ uses: actions/github-script@v7
147
+ with:
148
+ github-token: ${{ secrets.GITHUB_TOKEN }}
149
+ script: |
150
+ const { owner, repo } = context.repo;
151
+ const issue_number = context.payload.issue.number;
152
+
153
+ try {
154
+ await github.rest.issues.removeLabel({
155
+ owner,
156
+ repo,
157
+ issue_number,
158
+ name: 'stage:approval'
159
+ });
160
+ } catch (error) {
161
+ console.log('Label stage:approval not found or could not be removed');
162
+ }
163
+
164
+ await github.rest.issues.addLabels({
165
+ owner,
166
+ repo,
167
+ issue_number,
168
+ labels: ['stage:development', 'agent:working']
169
+ });
170
+
171
+ - name: Add agent label via PAT
172
+ if: ${{ env.PROJECT_PAT != '' && !contains('{{IMPLEMENTATION_AGENT_LABEL}}', '{{') }}
173
+ uses: actions/github-script@v7
174
+ with:
175
+ github-token: ${{ env.PROJECT_PAT }}
176
+ script: |
177
+ await github.rest.issues.addLabels({
178
+ owner: context.repo.owner,
179
+ repo: context.repo.repo,
180
+ issue_number: context.payload.issue.number,
181
+ labels: ['{{IMPLEMENTATION_AGENT_LABEL}}']
182
+ });
183
+ ```
184
+
185
+ - [ ] **Step 2: Verify both files are identical**
186
+
187
+ Run:
188
+ ```bash
189
+ diff templates/.github/workflows/agent-trigger.yml .agentic-pdlc/templates/.github/workflows/agent-trigger.yml
190
+ ```
191
+
192
+ Expected: no output (files identical).
193
+
194
+ - [ ] **Step 3: Commit**
195
+
196
+ ```bash
197
+ git add .agentic-pdlc/templates/.github/workflows/agent-trigger.yml
198
+ git commit -m "fix(templates): mirror jules label PAT split in .agentic-pdlc/templates"
199
+ ```
200
+
201
+ ---
202
+
203
+ ### Task 3: Open PR
204
+
205
+ - [ ] **Step 1: Push branch**
206
+
207
+ ```bash
208
+ git push -u origin feat/125-jules-label-pat-split
209
+ ```
210
+
211
+ - [ ] **Step 2: Create PR**
212
+
213
+ ```bash
214
+ gh pr create \
215
+ --title "fix(templates): split jules label into PAT step — fix external App webhook" \
216
+ --body "$(cat <<'EOF'
217
+ ## Summary
218
+
219
+ - Splits `Update Labels` step in both template `agent-trigger.yml` files into two steps
220
+ - Stage labels (`stage:development`, `agent:working`) remain on `GITHUB_TOKEN`
221
+ - Agent label (`{{IMPLEMENTATION_AGENT_LABEL}}`, e.g. `jules`) moved to new step using `PROJECT_PAT`
222
+ - New step guarded by `PROJECT_PAT != ''` and placeholder check — graceful degradation when PAT not configured
223
+
224
+ ## Why
225
+
226
+ GitHub's anti-loop protection suppresses external App webhooks for events generated by `GITHUB_TOKEN`. Jules (external GitHub App) watches the `jules` label event — if generated by `GITHUB_TOKEN`, Jules never fires. Fix confirmed in context-optimizer PR#12.
227
+
228
+ ## Test plan
229
+
230
+ - [ ] Scaffold new project with `npx create-agentic-pdlc`
231
+ - [ ] Configure `PROJECT_PAT` secret
232
+ - [ ] Add `spec:approved` to an issue
233
+ - [ ] Verify `stage:development` + `agent:working` added first (GITHUB_TOKEN), then `jules` added as separate event (PAT) → Jules activates automatically
234
+
235
+ Closes #125
236
+
237
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
238
+ EOF
239
+ )"
240
+ ```