create-agentic-pdlc 2.2.1 → 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.
- package/.agentic-pdlc/SETUP_PROMPT.md +3 -4
- package/.agentic-pdlc/metrics/raw/2026-W18.jsonl +2 -0
- package/.agentic-pdlc/metrics/raw/2026-W21.jsonl +68 -0
- package/.agentic-pdlc/metrics/raw/2026-W22.jsonl +114 -0
- package/.agentic-setup-prompt.md +3 -4
- package/.agentic-setup.md +3 -4
- package/.github/ISSUE_TEMPLATE/bug.md +53 -0
- package/.github/ISSUE_TEMPLATE/feature.md +54 -0
- package/.github/ISSUE_TEMPLATE/task.md +33 -0
- package/.github/workflows/add-to-board.yml +1 -1
- package/.github/workflows/agent-trigger.yml +4 -4
- package/.github/workflows/agentic-metrics.yml +171 -38
- package/.github/workflows/ci.yml +1 -1
- package/.github/workflows/npm-publish.yml +2 -2
- package/.github/workflows/pdlc-health-check.yml +1 -3
- package/.github/workflows/pdlc-stage-gate.yml +2 -2
- package/.github/workflows/project-automation.yml +79 -16
- package/.github/workflows/qa-agent.yml +26 -15
- package/.github/workflows/qa-gate.yml +51 -0
- package/AGENTS.md +50 -8
- package/CLAUDE.md +53 -3
- package/SETUP.md +4 -1
- package/adapters/claude-code/skill.md +44 -20
- package/adapters/hooks/pdlc-stage-gate.sh +2 -7
- package/bin/cli.js +41 -9
- package/docs/flow.md +8 -21
- package/docs/pdlc.md +24 -16
- package/docs/superpowers/plans/2026-05-28-jules-label-pat-split.md +240 -0
- package/docs/superpowers/plans/2026-05-29-agentic-pulse-rework-taxonomy.md +474 -0
- package/docs/superpowers/plans/2026-05-29-qa-gate-enforcement.md +354 -0
- package/docs/superpowers/specs/2026-05-29-agentic-pulse-rework-taxonomy-design.md +122 -0
- package/package.json +1 -1
- package/templates/.github/ISSUE_TEMPLATE/bug.md +53 -0
- package/templates/.github/ISSUE_TEMPLATE/feature.md +54 -0
- package/templates/.github/ISSUE_TEMPLATE/task.md +33 -0
- package/templates/.github/workflows/add-to-board.yml +4 -4
- package/templates/.github/workflows/agent-trigger.yml +24 -15
- package/{.agentic-pdlc/templates → templates}/.github/workflows/agentic-metrics.yml +166 -36
- package/templates/.github/workflows/ci.yml +15 -1
- package/templates/.github/workflows/pdlc-health-check.yml +1 -3
- package/templates/.github/workflows/pdlc-stage-gate.yml +2 -2
- package/templates/.github/workflows/project-automation.yml +93 -36
- package/templates/.github/workflows/qa-agent.yml +33 -17
- package/templates/.github/workflows/qa-gate.yml +51 -0
- package/templates/AGENTS.md +74 -23
- package/templates/docs/pdlc.md +24 -16
- package/.agentic-pdlc/templates/.github/CODEOWNERS +0 -5
- package/.agentic-pdlc/templates/.github/copilot-instructions.md +0 -12
- package/.agentic-pdlc/templates/.github/workflows/add-to-board.yml +0 -38
- package/.agentic-pdlc/templates/.github/workflows/agent-trigger.yml +0 -146
- package/.agentic-pdlc/templates/.github/workflows/auto-approve.yml +0 -16
- package/.agentic-pdlc/templates/.github/workflows/ci.yml +0 -40
- package/.agentic-pdlc/templates/.github/workflows/pdlc-health-check.yml +0 -123
- package/.agentic-pdlc/templates/.github/workflows/pdlc-stage-gate.yml +0 -51
- package/.agentic-pdlc/templates/.github/workflows/project-automation.yml +0 -278
- package/.agentic-pdlc/templates/.github/workflows/protect-workflows.yml +0 -21
- package/.agentic-pdlc/templates/.github/workflows/qa-agent.yml +0 -128
- package/.agentic-pdlc/templates/AGENTS.md +0 -81
- package/.agentic-pdlc/templates/docs/pdlc.md +0 -115
|
@@ -25,10 +25,10 @@ If any of these files are missing, you are in **Setup Mode**. Do not proceed wit
|
|
|
25
25
|
- **Project basics:** Project Name, Description, Technical Stack (Structure), and GitHub Username (for CODEOWNERS security).
|
|
26
26
|
- **Commands:** Test command, Lint command, Build command.
|
|
27
27
|
- **Invariants:** Critical business rules agents must never violate (e.g. Human-in-the-loop).
|
|
28
|
-
- **Board IDs:** PROJECT_ID, STATUS_FIELD_ID, column option IDs (provide standard PDLC options: Idea,
|
|
28
|
+
- **Board IDs:** PROJECT_ID, STATUS_FIELD_ID, column option IDs (provide standard PDLC options: Idea, Brainstorming, Detail Solution, Approval, Development, Testing, Code Review / PR, Production). Allow user to answer "skip", which means you leave the placeholders intact.
|
|
29
29
|
- **Architecture Violation:** Ask "Does your project use an automated architecture auditing tool (e.g., a CI job that creates issues with an `architecture-violation` label)?". If yes, uncomment the `move-violation-to-board` job inside `project-automation.yml`. If no, ask if they would like help implementing one, reminding them that it significantly improves their agentic development process. If they decline, you can leave the job commented out.
|
|
30
30
|
- **QA Agent (Variant B):** Ask "Do you plan to use an AI QA Agent (e.g. QAWolf or a secondary script) to verify your PRs before Code Review?". If yes, explain you will adopt Variant B: you will change `STATUS_CODE_REVIEW_PR` to `STATUS_TESTING` inside the `move-card-on-pr-open` job in `project-automation.yml` and uncomment the `move-card-on-qa-pass` job. If no, leave the workflow as Variant A (default) and delete the optional `.github/workflows/qa-agent.yml` template.
|
|
31
|
-
- **Implementation agent handle:** e.g., `@google-labs-jules`, or "none".
|
|
31
|
+
- **Implementation agent handle:** e.g., `@google-labs-jules`, or "none". When replacing `{{IMPLEMENTATION_AGENT_LABEL}}` in `agent-trigger.yml`: for Jules use `jules` (the native label the Jules GitHub App watches — **not** `agent:jules`); for other agents use the handle without `@`, lowercase.
|
|
32
32
|
3. Generate and write the missing files replacing the `{{SCREAMING_SNAKE_CASE}}` placeholders using the templates logic you know (usually they reside in standard Agentic PDLC templates).
|
|
33
33
|
4. Offer to run the `gh` commands for labels (`spec:approved`, `pr:in-review`, `pr:approved`, `architecture-violation`).
|
|
34
34
|
5. Commit everything with the message: `chore: setup agentic-pdlc framework`.
|
|
@@ -68,6 +68,5 @@ Do not write code for downstream features! Your goal is to refine the Spec, so t
|
|
|
68
68
|
|
|
69
69
|
### 4. Moving the Board (Upstream States)
|
|
70
70
|
As you actively work with the user advancing the feature, you MUST use the GitHub CLI to update internal state labels. This triggers GitHub Actions behind the scenes.
|
|
71
|
-
- Starting
|
|
72
|
-
- Presenting architecture/approaches: Run `gh issue edit <N> --add-label "stage:brainstorming"`
|
|
71
|
+
- Starting work on an issue (before reading code): Run `gh issue edit <N> --add-label "stage:brainstorming"`
|
|
73
72
|
- Starting to write the technical spec: Run `gh issue edit <N> --add-label "stage:detailing"`
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{"issueNumber":66,"stage":"stage:development","durationDays":5}
|
|
2
|
+
{"issueNumber":66,"stage":"stage:approval","durationDays":0}
|
|
3
|
+
{"issueNumber":67,"stage":"stage:brainstorming","durationDays":0}
|
|
4
|
+
{"issueNumber":67,"stage":"stage:detailing","durationDays":0}
|
|
5
|
+
{"issueNumber":67,"stage":"stage:approval","durationDays":0}
|
|
6
|
+
{"issueNumber":74,"stage":"stage:detailing","durationDays":0}
|
|
7
|
+
{"issueNumber":74,"stage":"stage:approval","durationDays":0}
|
|
8
|
+
{"issueNumber":75,"stage":"stage:detailing","durationDays":0}
|
|
9
|
+
{"issueNumber":75,"stage":"stage:approval","durationDays":0}
|
|
10
|
+
{"issueNumber":76,"stage":"stage:detailing","durationDays":0}
|
|
11
|
+
{"issueNumber":76,"stage":"stage:approval","durationDays":0}
|
|
12
|
+
{"issueNumber":78,"stage":"stage:detailing","durationDays":0}
|
|
13
|
+
{"issueNumber":78,"stage":"stage:approval","durationDays":0}
|
|
14
|
+
{"issueNumber":80,"stage":"stage:detailing","durationDays":0}
|
|
15
|
+
{"issueNumber":80,"stage":"stage:approval","durationDays":0}
|
|
16
|
+
{"issueNumber":80,"stage":"stage:development","durationDays":3.1}
|
|
17
|
+
{"issueNumber":84,"stage":"stage:brainstorming","durationDays":0}
|
|
18
|
+
{"issueNumber":84,"stage":"stage:detailing","durationDays":0}
|
|
19
|
+
{"issueNumber":84,"stage":"stage:approval","durationDays":0}
|
|
20
|
+
{"issueNumber":84,"stage":"stage:development","durationDays":0}
|
|
21
|
+
{"issueNumber":85,"stage":"stage:brainstorming","durationDays":0}
|
|
22
|
+
{"issueNumber":85,"stage":"stage:detailing","durationDays":0}
|
|
23
|
+
{"issueNumber":85,"stage":"stage:approval","durationDays":0}
|
|
24
|
+
{"issueNumber":85,"stage":"stage:approval","durationDays":0}
|
|
25
|
+
{"issueNumber":87,"stage":"stage:approval","durationDays":0}
|
|
26
|
+
{"issueNumber":87,"stage":"stage:development","durationDays":0}
|
|
27
|
+
{"issueNumber":87,"stage":"stage:brainstorming","durationDays":0}
|
|
28
|
+
{"issueNumber":87,"stage":"stage:detailing","durationDays":0}
|
|
29
|
+
{"issueNumber":87,"stage":"stage:approval","durationDays":0}
|
|
30
|
+
{"issueNumber":88,"stage":"stage:brainstorming","durationDays":0}
|
|
31
|
+
{"issueNumber":88,"stage":"stage:detailing","durationDays":0}
|
|
32
|
+
{"issueNumber":88,"stage":"stage:approval","durationDays":0}
|
|
33
|
+
{"issueNumber":88,"stage":"stage:development","durationDays":0}
|
|
34
|
+
{"issueNumber":89,"stage":"stage:brainstorming","durationDays":0}
|
|
35
|
+
{"issueNumber":90,"stage":"stage:brainstorming","durationDays":0}
|
|
36
|
+
{"issueNumber":90,"stage":"stage:detailing","durationDays":0}
|
|
37
|
+
{"issueNumber":90,"stage":"stage:approval","durationDays":0}
|
|
38
|
+
{"issueNumber":90,"stage":"stage:approval","durationDays":0}
|
|
39
|
+
{"issueNumber":91,"stage":"stage:brainstorming","durationDays":0}
|
|
40
|
+
{"issueNumber":91,"stage":"stage:detailing","durationDays":0}
|
|
41
|
+
{"issueNumber":91,"stage":"stage:approval","durationDays":0}
|
|
42
|
+
{"issueNumber":91,"stage":"stage:development","durationDays":0}
|
|
43
|
+
{"issueNumber":92,"stage":"stage:brainstorming","durationDays":0}
|
|
44
|
+
{"issueNumber":92,"stage":"stage:detailing","durationDays":0}
|
|
45
|
+
{"issueNumber":92,"stage":"stage:approval","durationDays":0}
|
|
46
|
+
{"issueNumber":92,"stage":"stage:development","durationDays":0}
|
|
47
|
+
{"issueNumber":93,"stage":"stage:brainstorming","durationDays":0}
|
|
48
|
+
{"issueNumber":93,"stage":"stage:detailing","durationDays":0}
|
|
49
|
+
{"issueNumber":93,"stage":"stage:approval","durationDays":0}
|
|
50
|
+
{"issueNumber":93,"stage":"stage:development","durationDays":0}
|
|
51
|
+
{"issueNumber":94,"stage":"stage:brainstorming","durationDays":0}
|
|
52
|
+
{"issueNumber":94,"stage":"stage:detailing","durationDays":0}
|
|
53
|
+
{"issueNumber":94,"stage":"stage:approval","durationDays":0}
|
|
54
|
+
{"issueNumber":96,"stage":"stage:brainstorming","durationDays":0}
|
|
55
|
+
{"issueNumber":96,"stage":"stage:detailing","durationDays":0}
|
|
56
|
+
{"issueNumber":96,"stage":"stage:approval","durationDays":0}
|
|
57
|
+
{"issueNumber":96,"stage":"stage:development","durationDays":0}
|
|
58
|
+
{"issueNumber":97,"stage":"stage:brainstorming","durationDays":0}
|
|
59
|
+
{"issueNumber":97,"stage":"stage:detailing","durationDays":0}
|
|
60
|
+
{"issueNumber":97,"stage":"stage:approval","durationDays":0}
|
|
61
|
+
{"issueNumber":109,"stage":"stage:brainstorming","durationDays":0}
|
|
62
|
+
{"issueNumber":109,"stage":"stage:detailing","durationDays":0}
|
|
63
|
+
{"issueNumber":109,"stage":"stage:approval","durationDays":0}
|
|
64
|
+
{"issueNumber":109,"stage":"stage:development","durationDays":0}
|
|
65
|
+
{"issueNumber":113,"stage":"stage:brainstorming","durationDays":0}
|
|
66
|
+
{"issueNumber":113,"stage":"stage:detailing","durationDays":0}
|
|
67
|
+
{"issueNumber":113,"stage":"stage:approval","durationDays":0}
|
|
68
|
+
{"issueNumber":113,"stage":"stage:development","durationDays":0}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{"issueNumber":84,"stage":"stage:brainstorming","durationDays":0}
|
|
2
|
+
{"issueNumber":84,"stage":"stage:detailing","durationDays":0}
|
|
3
|
+
{"issueNumber":84,"stage":"stage:approval","durationDays":0}
|
|
4
|
+
{"issueNumber":84,"stage":"stage:development","durationDays":0}
|
|
5
|
+
{"issueNumber":85,"stage":"stage:brainstorming","durationDays":0}
|
|
6
|
+
{"issueNumber":85,"stage":"stage:detailing","durationDays":0}
|
|
7
|
+
{"issueNumber":85,"stage":"stage:approval","durationDays":0}
|
|
8
|
+
{"issueNumber":85,"stage":"stage:approval","durationDays":0}
|
|
9
|
+
{"issueNumber":87,"stage":"stage:approval","durationDays":0}
|
|
10
|
+
{"issueNumber":87,"stage":"stage:development","durationDays":0}
|
|
11
|
+
{"issueNumber":87,"stage":"stage:brainstorming","durationDays":0}
|
|
12
|
+
{"issueNumber":87,"stage":"stage:detailing","durationDays":0}
|
|
13
|
+
{"issueNumber":87,"stage":"stage:approval","durationDays":0}
|
|
14
|
+
{"issueNumber":88,"stage":"stage:brainstorming","durationDays":0}
|
|
15
|
+
{"issueNumber":88,"stage":"stage:detailing","durationDays":0}
|
|
16
|
+
{"issueNumber":88,"stage":"stage:approval","durationDays":0}
|
|
17
|
+
{"issueNumber":88,"stage":"stage:development","durationDays":0}
|
|
18
|
+
{"issueNumber":89,"stage":"stage:brainstorming","durationDays":0}
|
|
19
|
+
{"issueNumber":90,"stage":"stage:brainstorming","durationDays":0}
|
|
20
|
+
{"issueNumber":90,"stage":"stage:detailing","durationDays":0}
|
|
21
|
+
{"issueNumber":90,"stage":"stage:approval","durationDays":0}
|
|
22
|
+
{"issueNumber":90,"stage":"stage:approval","durationDays":0}
|
|
23
|
+
{"issueNumber":91,"stage":"stage:brainstorming","durationDays":0}
|
|
24
|
+
{"issueNumber":91,"stage":"stage:detailing","durationDays":0}
|
|
25
|
+
{"issueNumber":91,"stage":"stage:approval","durationDays":0}
|
|
26
|
+
{"issueNumber":91,"stage":"stage:development","durationDays":0}
|
|
27
|
+
{"issueNumber":92,"stage":"stage:brainstorming","durationDays":0}
|
|
28
|
+
{"issueNumber":92,"stage":"stage:detailing","durationDays":0}
|
|
29
|
+
{"issueNumber":92,"stage":"stage:approval","durationDays":0}
|
|
30
|
+
{"issueNumber":92,"stage":"stage:development","durationDays":0}
|
|
31
|
+
{"issueNumber":93,"stage":"stage:brainstorming","durationDays":0}
|
|
32
|
+
{"issueNumber":93,"stage":"stage:detailing","durationDays":0}
|
|
33
|
+
{"issueNumber":93,"stage":"stage:approval","durationDays":0}
|
|
34
|
+
{"issueNumber":93,"stage":"stage:development","durationDays":0}
|
|
35
|
+
{"issueNumber":94,"stage":"stage:brainstorming","durationDays":0}
|
|
36
|
+
{"issueNumber":94,"stage":"stage:detailing","durationDays":0}
|
|
37
|
+
{"issueNumber":94,"stage":"stage:approval","durationDays":0}
|
|
38
|
+
{"issueNumber":96,"stage":"stage:brainstorming","durationDays":0}
|
|
39
|
+
{"issueNumber":96,"stage":"stage:detailing","durationDays":0}
|
|
40
|
+
{"issueNumber":96,"stage":"stage:approval","durationDays":0}
|
|
41
|
+
{"issueNumber":96,"stage":"stage:development","durationDays":0}
|
|
42
|
+
{"issueNumber":97,"stage":"stage:brainstorming","durationDays":0}
|
|
43
|
+
{"issueNumber":97,"stage":"stage:detailing","durationDays":0}
|
|
44
|
+
{"issueNumber":97,"stage":"stage:approval","durationDays":0}
|
|
45
|
+
{"issueNumber":109,"stage":"stage:brainstorming","durationDays":0}
|
|
46
|
+
{"issueNumber":109,"stage":"stage:detailing","durationDays":0}
|
|
47
|
+
{"issueNumber":109,"stage":"stage:approval","durationDays":0}
|
|
48
|
+
{"issueNumber":109,"stage":"stage:development","durationDays":0}
|
|
49
|
+
{"issueNumber":110,"stage":"stage:brainstorming","durationDays":0}
|
|
50
|
+
{"issueNumber":110,"stage":"stage:detailing","durationDays":0}
|
|
51
|
+
{"issueNumber":110,"stage":"stage:approval","durationDays":0.3}
|
|
52
|
+
{"issueNumber":110,"stage":"stage:development","durationDays":0}
|
|
53
|
+
{"issueNumber":110,"stage":"stage:testing","durationDays":0}
|
|
54
|
+
{"issueNumber":111,"stage":"stage:brainstorming","durationDays":0}
|
|
55
|
+
{"issueNumber":111,"stage":"stage:detailing","durationDays":0}
|
|
56
|
+
{"issueNumber":111,"stage":"stage:approval","durationDays":0.3}
|
|
57
|
+
{"issueNumber":111,"stage":"stage:development","durationDays":0}
|
|
58
|
+
{"issueNumber":111,"stage":"stage:testing","durationDays":0}
|
|
59
|
+
{"issueNumber":113,"stage":"stage:brainstorming","durationDays":0}
|
|
60
|
+
{"issueNumber":113,"stage":"stage:detailing","durationDays":0}
|
|
61
|
+
{"issueNumber":113,"stage":"stage:approval","durationDays":0}
|
|
62
|
+
{"issueNumber":113,"stage":"stage:development","durationDays":0}
|
|
63
|
+
{"issueNumber":116,"stage":"stage:brainstorming","durationDays":3.7}
|
|
64
|
+
{"issueNumber":116,"stage":"stage:detailing","durationDays":0}
|
|
65
|
+
{"issueNumber":116,"stage":"stage:approval","durationDays":0}
|
|
66
|
+
{"issueNumber":116,"stage":"stage:development","durationDays":0}
|
|
67
|
+
{"issueNumber":119,"stage":"stage:brainstorming","durationDays":0}
|
|
68
|
+
{"issueNumber":119,"stage":"stage:detailing","durationDays":0}
|
|
69
|
+
{"issueNumber":119,"stage":"stage:approval","durationDays":0}
|
|
70
|
+
{"issueNumber":119,"stage":"stage:approval","durationDays":0.3}
|
|
71
|
+
{"issueNumber":119,"stage":"stage:development","durationDays":0}
|
|
72
|
+
{"issueNumber":120,"stage":"stage:brainstorming","durationDays":0}
|
|
73
|
+
{"issueNumber":120,"stage":"stage:detailing","durationDays":0}
|
|
74
|
+
{"issueNumber":120,"stage":"stage:approval","durationDays":0}
|
|
75
|
+
{"issueNumber":120,"stage":"stage:development","durationDays":0}
|
|
76
|
+
{"issueNumber":122,"stage":"stage:brainstorming","durationDays":0.1}
|
|
77
|
+
{"issueNumber":122,"stage":"stage:detailing","durationDays":0}
|
|
78
|
+
{"issueNumber":122,"stage":"stage:approval","durationDays":0}
|
|
79
|
+
{"issueNumber":122,"stage":"stage:development","durationDays":0}
|
|
80
|
+
{"issueNumber":125,"stage":"stage:brainstorming","durationDays":0}
|
|
81
|
+
{"issueNumber":125,"stage":"stage:detailing","durationDays":0}
|
|
82
|
+
{"issueNumber":125,"stage":"stage:approval","durationDays":0.1}
|
|
83
|
+
{"issueNumber":125,"stage":"stage:development","durationDays":0}
|
|
84
|
+
{"issueNumber":128,"stage":"stage:brainstorming","durationDays":0.6}
|
|
85
|
+
{"issueNumber":128,"stage":"stage:detailing","durationDays":0}
|
|
86
|
+
{"issueNumber":128,"stage":"stage:approval","durationDays":0}
|
|
87
|
+
{"issueNumber":128,"stage":"stage:development","durationDays":0}
|
|
88
|
+
{"issueNumber":130,"stage":"stage:brainstorming","durationDays":0}
|
|
89
|
+
{"issueNumber":130,"stage":"stage:detailing","durationDays":0}
|
|
90
|
+
{"issueNumber":130,"stage":"stage:approval","durationDays":0}
|
|
91
|
+
{"issueNumber":130,"stage":"stage:development","durationDays":0}
|
|
92
|
+
{"issueNumber":132,"stage":"stage:brainstorming","durationDays":0}
|
|
93
|
+
{"issueNumber":132,"stage":"stage:detailing","durationDays":0}
|
|
94
|
+
{"issueNumber":132,"stage":"stage:approval","durationDays":0}
|
|
95
|
+
{"issueNumber":132,"stage":"stage:development","durationDays":0}
|
|
96
|
+
{"issueNumber":132,"stage":"stage:testing","durationDays":0}
|
|
97
|
+
{"issueNumber":135,"stage":"stage:brainstorming","durationDays":0}
|
|
98
|
+
{"issueNumber":135,"stage":"stage:detailing","durationDays":0}
|
|
99
|
+
{"issueNumber":135,"stage":"stage:approval","durationDays":0}
|
|
100
|
+
{"issueNumber":135,"stage":"stage:development","durationDays":0}
|
|
101
|
+
{"issueNumber":136,"stage":"stage:brainstorming","durationDays":0}
|
|
102
|
+
{"issueNumber":136,"stage":"stage:detailing","durationDays":0}
|
|
103
|
+
{"issueNumber":136,"stage":"stage:approval","durationDays":0}
|
|
104
|
+
{"issueNumber":136,"stage":"stage:development","durationDays":0}
|
|
105
|
+
{"issueNumber":136,"stage":"stage:testing","durationDays":0.1}
|
|
106
|
+
{"issueNumber":137,"stage":"stage:brainstorming","durationDays":0}
|
|
107
|
+
{"issueNumber":137,"stage":"stage:detailing","durationDays":0}
|
|
108
|
+
{"issueNumber":137,"stage":"stage:approval","durationDays":0}
|
|
109
|
+
{"issueNumber":137,"stage":"stage:development","durationDays":0}
|
|
110
|
+
{"issueNumber":137,"stage":"stage:testing","durationDays":0}
|
|
111
|
+
{"issueNumber":141,"stage":"stage:brainstorming","durationDays":0}
|
|
112
|
+
{"issueNumber":142,"stage":"stage:brainstorming","durationDays":0}
|
|
113
|
+
{"issueNumber":142,"stage":"stage:detailing","durationDays":0}
|
|
114
|
+
{"issueNumber":142,"stage":"stage:approval","durationDays":0}
|
package/.agentic-setup-prompt.md
CHANGED
|
@@ -25,10 +25,10 @@ If any of these files are missing, you are in **Setup Mode**. Do not proceed wit
|
|
|
25
25
|
- **Project basics:** Project Name, Description, Technical Stack (Structure), and GitHub Username (for CODEOWNERS security).
|
|
26
26
|
- **Commands:** Test command, Lint command, Build command.
|
|
27
27
|
- **Invariants:** Critical business rules agents must never violate (e.g. Human-in-the-loop).
|
|
28
|
-
- **Board IDs:** PROJECT_ID, STATUS_FIELD_ID, column option IDs (provide standard PDLC options: Idea,
|
|
28
|
+
- **Board IDs:** PROJECT_ID, STATUS_FIELD_ID, column option IDs (provide standard PDLC options: Idea, Brainstorming, Detail Solution, Approval, Development, Testing, Code Review / PR, Production). Allow user to answer "skip", which means you leave the placeholders intact.
|
|
29
29
|
- **Architecture Violation:** Ask "Does your project use an automated architecture auditing tool (e.g., a CI job that creates issues with an `architecture-violation` label)?". If yes, uncomment the `move-violation-to-board` job inside `project-automation.yml`. If no, ask if they would like help implementing one, reminding them that it significantly improves their agentic development process. If they decline, you can leave the job commented out.
|
|
30
30
|
- **QA Agent (Variant B):** Ask "Do you plan to use an AI QA Agent (e.g. QAWolf or a secondary script) to verify your PRs before Code Review?". If yes, explain you will adopt Variant B: you will change `STATUS_CODE_REVIEW_PR` to `STATUS_TESTING` inside the `move-card-on-pr-open` job in `project-automation.yml` and uncomment the `move-card-on-qa-pass` job. If no, leave the workflow as Variant A (default) and delete the optional `.github/workflows/qa-agent.yml` template.
|
|
31
|
-
- **Implementation agent handle:** e.g., `@google-labs-jules`, or "none".
|
|
31
|
+
- **Implementation agent handle:** e.g., `@google-labs-jules`, or "none". When replacing `{{IMPLEMENTATION_AGENT_LABEL}}` in `agent-trigger.yml`: for Jules use `jules` (the native label the Jules GitHub App watches — **not** `agent:jules`); for other agents use the handle without `@`, lowercase.
|
|
32
32
|
3. Generate and write the missing files replacing the `{{SCREAMING_SNAKE_CASE}}` placeholders using the templates logic you know (usually they reside in standard Agentic PDLC templates).
|
|
33
33
|
4. Offer to run the `gh` commands for labels (`spec:approved`, `pr:in-review`, `pr:approved`, `architecture-violation`).
|
|
34
34
|
5. Commit everything with the message: `chore: setup agentic-pdlc framework`.
|
|
@@ -68,6 +68,5 @@ Do not write code for downstream features! Your goal is to refine the Spec, so t
|
|
|
68
68
|
|
|
69
69
|
### 4. Moving the Board (Upstream States)
|
|
70
70
|
As you actively work with the user advancing the feature, you MUST use the GitHub CLI to update internal state labels. This triggers GitHub Actions behind the scenes.
|
|
71
|
-
- Starting
|
|
72
|
-
- Presenting architecture/approaches: Run `gh issue edit <N> --add-label "stage:brainstorming"`
|
|
71
|
+
- Starting work on an issue (before reading code): Run `gh issue edit <N> --add-label "stage:brainstorming"`
|
|
73
72
|
- Starting to write the technical spec: Run `gh issue edit <N> --add-label "stage:detailing"`
|
package/.agentic-setup.md
CHANGED
|
@@ -25,10 +25,10 @@ If any of these files are missing, you are in **Setup Mode**. Do not proceed wit
|
|
|
25
25
|
- **Project basics:** Project Name, Description, Technical Stack (Structure), and GitHub Username (for CODEOWNERS security).
|
|
26
26
|
- **Commands:** Test command, Lint command, Build command.
|
|
27
27
|
- **Invariants:** Critical business rules agents must never violate (e.g. Human-in-the-loop).
|
|
28
|
-
- **Board IDs:** PROJECT_ID, STATUS_FIELD_ID, column option IDs (provide standard PDLC options: Idea,
|
|
28
|
+
- **Board IDs:** PROJECT_ID, STATUS_FIELD_ID, column option IDs (provide standard PDLC options: Idea, Brainstorming, Detail Solution, Approval, Development, Testing, Code Review / PR, Production). Allow user to answer "skip", which means you leave the placeholders intact.
|
|
29
29
|
- **Architecture Violation:** Ask "Does your project use an automated architecture auditing tool (e.g., a CI job that creates issues with an `architecture-violation` label)?". If yes, uncomment the `move-violation-to-board` job inside `project-automation.yml`. If no, ask if they would like help implementing one, reminding them that it significantly improves their agentic development process. If they decline, you can leave the job commented out.
|
|
30
30
|
- **QA Agent (Variant B):** Ask "Do you plan to use an AI QA Agent (e.g. QAWolf or a secondary script) to verify your PRs before Code Review?". If yes, explain you will adopt Variant B: you will change `STATUS_CODE_REVIEW_PR` to `STATUS_TESTING` inside the `move-card-on-pr-open` job in `project-automation.yml` and uncomment the `move-card-on-qa-pass` job. If no, leave the workflow as Variant A (default) and delete the optional `.github/workflows/qa-agent.yml` template.
|
|
31
|
-
- **Implementation agent handle:** e.g., `@google-labs-jules`, or "none".
|
|
31
|
+
- **Implementation agent handle:** e.g., `@google-labs-jules`, or "none". When replacing `{{IMPLEMENTATION_AGENT_LABEL}}` in `agent-trigger.yml`: for Jules use `jules` (the native label the Jules GitHub App watches — **not** `agent:jules`); for other agents use the handle without `@`, lowercase.
|
|
32
32
|
3. Generate and write the missing files replacing the `{{SCREAMING_SNAKE_CASE}}` placeholders using the templates logic you know (usually they reside in standard Agentic PDLC templates).
|
|
33
33
|
4. Offer to run the `gh` commands for labels (`spec:approved`, `pr:in-review`, `pr:approved`, `architecture-violation`).
|
|
34
34
|
5. Commit everything with the message: `chore: setup agentic-pdlc framework`.
|
|
@@ -68,6 +68,5 @@ Do not write code for downstream features! Your goal is to refine the Spec, so t
|
|
|
68
68
|
|
|
69
69
|
### 4. Moving the Board (Upstream States)
|
|
70
70
|
As you actively work with the user advancing the feature, you MUST use the GitHub CLI to update internal state labels. This triggers GitHub Actions behind the scenes.
|
|
71
|
-
- Starting
|
|
72
|
-
- Presenting architecture/approaches: Run `gh issue edit <N> --add-label "stage:brainstorming"`
|
|
71
|
+
- Starting work on an issue (before reading code): Run `gh issue edit <N> --add-label "stage:brainstorming"`
|
|
73
72
|
- Starting to write the technical spec: Run `gh issue edit <N> --add-label "stage:detailing"`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug
|
|
3
|
+
about: Broken behavior with root cause and fix criteria
|
|
4
|
+
title: 'bug: '
|
|
5
|
+
labels: type:bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Problem
|
|
10
|
+
|
|
11
|
+
<!-- What fails. Who affected. Measured impact. -->
|
|
12
|
+
|
|
13
|
+
## Root Cause
|
|
14
|
+
|
|
15
|
+
<!-- Why it fails. Link to code/config if known. -->
|
|
16
|
+
|
|
17
|
+
## Reproduction Steps
|
|
18
|
+
|
|
19
|
+
1.
|
|
20
|
+
2.
|
|
21
|
+
3.
|
|
22
|
+
|
|
23
|
+
**Expected:**
|
|
24
|
+
**Actual:**
|
|
25
|
+
|
|
26
|
+
## Acceptance Criteria
|
|
27
|
+
|
|
28
|
+
<!-- agent fills during detailing -->
|
|
29
|
+
|
|
30
|
+
**AC1 — [name]**
|
|
31
|
+
- Given
|
|
32
|
+
- When
|
|
33
|
+
- Then
|
|
34
|
+
|
|
35
|
+
## Edge Cases
|
|
36
|
+
|
|
37
|
+
<!-- agent fills during detailing -->
|
|
38
|
+
- EC1: [condition] → [expected behavior]
|
|
39
|
+
|
|
40
|
+
## Out of Scope
|
|
41
|
+
|
|
42
|
+
<!-- agent fills during detailing -->
|
|
43
|
+
-
|
|
44
|
+
|
|
45
|
+
## Non-Functional Requirements
|
|
46
|
+
|
|
47
|
+
<!-- agent fills during detailing — omit if pure docs/markdown -->
|
|
48
|
+
- Reliability: idempotent — safe to re-run
|
|
49
|
+
|
|
50
|
+
## Files to Modify
|
|
51
|
+
|
|
52
|
+
<!-- agent fills during detailing -->
|
|
53
|
+
- `path/to/file` — what changes
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature
|
|
3
|
+
about: New capability with spec scaffold for detailing agent
|
|
4
|
+
title: 'feat: '
|
|
5
|
+
labels: type:feature
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Problem
|
|
10
|
+
|
|
11
|
+
<!-- What fails or is missing. Who affected. Measured impact. -->
|
|
12
|
+
|
|
13
|
+
## Sprint Goal / Success Metrics
|
|
14
|
+
|
|
15
|
+
<!-- agent fills during detailing -->
|
|
16
|
+
|
|
17
|
+
| Metric | Baseline | Target | When |
|
|
18
|
+
|--------|----------|--------|------|
|
|
19
|
+
| | | | |
|
|
20
|
+
|
|
21
|
+
## Solution
|
|
22
|
+
|
|
23
|
+
<!-- agent fills during detailing — behavioral description, no implementation details -->
|
|
24
|
+
|
|
25
|
+
## Acceptance Criteria
|
|
26
|
+
|
|
27
|
+
<!-- agent fills during detailing -->
|
|
28
|
+
|
|
29
|
+
**AC1 — [name]**
|
|
30
|
+
- Given
|
|
31
|
+
- When
|
|
32
|
+
- Then
|
|
33
|
+
|
|
34
|
+
## Edge Cases
|
|
35
|
+
|
|
36
|
+
<!-- agent fills during detailing -->
|
|
37
|
+
- EC1: [condition] → [expected behavior]
|
|
38
|
+
|
|
39
|
+
## Out of Scope
|
|
40
|
+
|
|
41
|
+
<!-- agent fills during detailing -->
|
|
42
|
+
-
|
|
43
|
+
|
|
44
|
+
## Non-Functional Requirements
|
|
45
|
+
|
|
46
|
+
<!-- agent fills during detailing — omit if pure docs/markdown -->
|
|
47
|
+
- Performance:
|
|
48
|
+
- Security:
|
|
49
|
+
- Reliability:
|
|
50
|
+
|
|
51
|
+
## Files to Modify
|
|
52
|
+
|
|
53
|
+
<!-- agent fills during detailing -->
|
|
54
|
+
- `path/to/file` — what changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Task
|
|
3
|
+
about: Defined work unit with clear done criteria
|
|
4
|
+
title: 'task: '
|
|
5
|
+
labels: type:task
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Objective
|
|
10
|
+
|
|
11
|
+
<!-- What must be done and why. -->
|
|
12
|
+
|
|
13
|
+
## Steps
|
|
14
|
+
|
|
15
|
+
<!-- agent fills during detailing -->
|
|
16
|
+
1.
|
|
17
|
+
2.
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
<!-- agent fills during detailing -->
|
|
22
|
+
- [ ]
|
|
23
|
+
- [ ]
|
|
24
|
+
|
|
25
|
+
## Out of Scope
|
|
26
|
+
|
|
27
|
+
<!-- agent fills during detailing -->
|
|
28
|
+
-
|
|
29
|
+
|
|
30
|
+
## Files to Modify
|
|
31
|
+
|
|
32
|
+
<!-- agent fills during detailing -->
|
|
33
|
+
- `path/to/file` — what changes
|
|
@@ -18,7 +18,7 @@ jobs:
|
|
|
18
18
|
steps:
|
|
19
19
|
- name: Add issue to project board
|
|
20
20
|
if: ${{ env.PROJECT_TOKEN != '' && env.PROJECT_ID != '{{PROJECT_ID}}' }}
|
|
21
|
-
uses: actions/github-script@
|
|
21
|
+
uses: actions/github-script@v8
|
|
22
22
|
with:
|
|
23
23
|
github-token: ${{ env.PROJECT_TOKEN }}
|
|
24
24
|
script: |
|
|
@@ -22,7 +22,7 @@ jobs:
|
|
|
22
22
|
STATUS_DEVELOPMENT: "2c9e78e6"
|
|
23
23
|
steps:
|
|
24
24
|
- name: Swap labels — stage:approval → stage:development
|
|
25
|
-
uses: actions/github-script@
|
|
25
|
+
uses: actions/github-script@v8
|
|
26
26
|
with:
|
|
27
27
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
28
28
|
script: |
|
|
@@ -44,13 +44,13 @@ jobs:
|
|
|
44
44
|
owner,
|
|
45
45
|
repo,
|
|
46
46
|
issue_number,
|
|
47
|
-
labels: ['stage:development'
|
|
47
|
+
labels: ['stage:development']
|
|
48
48
|
});
|
|
49
49
|
|
|
50
50
|
- name: Move board card to Development
|
|
51
51
|
if: ${{ env.PROJECT_TOKEN != '' }}
|
|
52
52
|
continue-on-error: true
|
|
53
|
-
uses: actions/github-script@
|
|
53
|
+
uses: actions/github-script@v8
|
|
54
54
|
with:
|
|
55
55
|
github-token: ${{ env.PROJECT_TOKEN }}
|
|
56
56
|
script: |
|
|
@@ -79,7 +79,7 @@ jobs:
|
|
|
79
79
|
contents: read
|
|
80
80
|
steps:
|
|
81
81
|
- name: Comment on issue
|
|
82
|
-
uses: actions/github-script@
|
|
82
|
+
uses: actions/github-script@v8
|
|
83
83
|
with:
|
|
84
84
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
85
85
|
script: |
|