create-agentic-pdlc 2.4.0 → 3.1.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 (33) hide show
  1. package/.agentic-pdlc/hooks/pdlc-stage-gate.sh +37 -10
  2. package/.claude/settings.json +18 -0
  3. package/.coderabbit.yaml +41 -0
  4. package/.github/workflows/add-to-board.yml +55 -7
  5. package/.github/workflows/agent-trigger.yml +57 -25
  6. package/.github/workflows/board-reconciliation.yml +176 -0
  7. package/.github/workflows/pdlc-health-check.yml +81 -81
  8. package/.github/workflows/project-automation.yml +252 -259
  9. package/CLAUDE.md +1 -1
  10. package/README.md +33 -32
  11. package/adapters/claude-code/skill.md +12 -8
  12. package/bin/cli.js +607 -213
  13. package/docs/superpowers/plans/2026-06-04-spec-format-issue-template.md +160 -0
  14. package/docs/superpowers/plans/2026-06-04-two-tier-installer.md +1056 -0
  15. package/docs/superpowers/plans/2026-06-05-archive-card-on-issue-close.md +105 -0
  16. package/docs/superpowers/plans/2026-06-05-project-id-actions-variable.md +336 -0
  17. package/docs/superpowers/specs/2026-06-04-spec-format-issue-template-design.md +46 -0
  18. package/docs/superpowers/specs/2026-06-05-project-id-actions-variable-design.md +114 -0
  19. package/package.json +2 -2
  20. package/scripts/derive-column.js +20 -0
  21. package/templates/.github/workflows/add-to-board.yml +2 -2
  22. package/templates/.github/workflows/agent-trigger.yml +2 -2
  23. package/templates/.github/workflows/pdlc-health-check.yml +2 -2
  24. package/templates/.github/workflows/project-automation.yml +47 -8
  25. package/templates/full/CLAUDE.md +30 -0
  26. package/templates/lite/AGENTS.md +121 -0
  27. package/templates/lite/CLAUDE.md +44 -0
  28. package/tests/cli.test.js +118 -0
  29. package/.github/workflows/agentic-metrics.yml +0 -545
  30. package/.github/workflows/qa-agent.yml +0 -139
  31. package/.github/workflows/qa-gate.yml +0 -51
  32. /package/templates/{AGENTS.md → full/AGENTS.md} +0 -0
  33. /package/templates/{docs → full/docs}/pdlc.md +0 -0
package/README.md CHANGED
@@ -1,57 +1,54 @@
1
- # 🤖 Agentic PDLC Framework
1
+ # 🤖 Agentic PDLC
2
2
 
3
- > Do your AI agents build features that don't match the spec?
4
- > Do you find bugs and architecture violations only at the end of the lifecycle?
5
- > Are you the one manually moving cards across your board — every single time?
3
+ > Does your AI agent add code you didn't ask for?
4
+ > Does it skip the spec and jump straight to a PR?
5
+ > Does it ignore the rules in your CLAUDE.md?
6
6
 
7
- **Agentic PDLC** gives your agents a shared rulebook, a self-moving board, and a CI that won't let broken code reach production. One `npx` command to set up.
7
+ **Agentic PDLC** gives your agent a brake it can't ignore a hook that makes it write the spec first, keep changes small, and stop at each gate. One `npx` to install.
8
8
 
9
9
  <div align="center">
10
- <img src=".github/assets/agentic-pdlc-flow.svg" alt="Agentic PDLC Architecture Flow" width="100%">
10
+ <img src=".github/assets/agentic-pdlc-flow.svg" alt="Agentic PDLC: Upstream idea-to-spec, gated by spec:approved, into Downstream spec-to-production" width="100%">
11
11
  </div>
12
12
 
13
- Solo devs and small teams hit the same wall: one agent writes the spec, another implements it differently, a third reviews without knowing either. Agentic PDLC gives all of them a shared brief, automates the board, and puts a CI guard between your agents and production.
13
+ ---
14
+
15
+ ## Two modes — pick yours
16
+
17
+ **`lite` (default) — the brake**
18
+ Your agent writes the spec, waits for your approval, then implements it. It won't add code you didn't ask for. It won't open a PR before the spec is approved. It won't skip your `CLAUDE.md` rules — because the gate is a hook, not text the agent can ignore. Value on your first PR.
19
+
20
+ **`--agentic` — see your whole pipeline**
21
+ Everything in `lite`, plus a self-moving kanban board that shows your full product lifecycle, from **Idea → Production**. It makes transparent what needs your attention/approval, what's been done by the agent, and what's ready to merge. It supports as many agents as you need.
14
22
 
15
23
  ---
16
24
 
17
25
  ## ⚡ Why it works
18
26
 
19
- - 🗺️ **A transparent lifecycle** — Every feature travels a Kanban board from Idea to Production. You always know where things are.
20
- - 🤖 **A board that moves itself** — When you approve a spec, the card moves. When an agent opens a PR, the card moves. You just approve or reject.
21
- - 🧠 **Agents that agree with each other**One briefing (`AGENTS.md`), read by every agent. Claude, Jules, Gemini all pulling in the same direction, without you copy-pasting context between tabs.
22
- - 🛡️ **Code that can't silently break production** — A CI auditor checks every PR for architecture violations before anything reaches your main branch. *(Maturity Model — coming soon)*
27
+ - 🛑 **A brake the agent can't ignore** — the gate is a hook, not text in CLAUDE.md. Text gets ignored; a hook does not.
28
+ - 📋 **Spec before code** — the agent can't open a PR until the spec is approved, with acceptance criteria, edge cases, and files to change.
29
+ - 🗺️ **See your whole pipeline** *(`--agentic` only)*a board tracks every task from idea to production, and the gate between spec and code stays yours. You approve before anything ships.
23
30
 
24
31
  ---
25
32
 
26
33
  ## 🚀 Quick Start
27
34
 
28
- Run this in the root of your project:
29
-
30
35
  ```bash
31
36
  npx create-agentic-pdlc
32
37
  ```
33
38
 
34
- The CLI sets up your GitHub board, labels, and workflows, then hands over to your AI assistant to finish the configuration interactively. No YAML editing. No manual config.
39
+ Installs `lite` by default your AGENTS.md, CLAUDE.md, and the gate hook. Your AI assistant finishes the setup with you; no YAML to edit.
35
40
 
36
- **Already set up? Add or reconfigure optional agents at any time:**
41
+ **Want the full board and pipeline view?**
37
42
 
38
43
  ```bash
39
- npx create-agentic-pdlc --update
44
+ npx create-agentic-pdlc --agentic
40
45
  ```
41
46
 
42
- Detects what is already configured (Jules, QA Agent, Sentinel) and interactively sets up what is missing. Your existing board IDs and customizations are never touched.
43
-
44
- ---
45
-
46
- ## 🏗️ How It Works
47
-
48
- The framework splits work into two phases:
49
-
50
- ### 1. You + AI: Idea → Spec
51
- Use conversational AI (e.g., **Claude Code**, **Gemini CLI**) as your brainstorming partner. Together, you flesh out user stories, acceptance criteria, and technical specifications until they are solid.
47
+ **Already set up? Add or change things any time:**
52
48
 
53
- ### 2. Your agents: Spec → Production
54
- Once you approve the spec, autonomous implementation agents (e.g., **Jules**, **Sweep**, **Copilot Workspace**) pick up the task. The board moves automatically; the CI auditor guards the main branch.
49
+ ```bash
50
+ npx create-agentic-pdlc --update
51
+ ```
55
52
 
56
53
  ---
57
54
 
@@ -71,11 +68,15 @@ One shared brief (`AGENTS.md`). Every agent reads it.
71
68
 
72
69
  ## 📦 What you get
73
70
 
74
- After setup, your project has:
71
+ **`lite` (default)**
72
+ - **`AGENTS.md`** — the shared brief every agent reads; your rules, once
73
+ - **`CLAUDE.md`** — keep-changes-small rule + the stage gates
74
+ - **`.agentic-pdlc/hooks/pdlc-stage-gate.sh`** — the hook; the agent can't open a PR until the spec is approved
75
75
 
76
- - **`AGENTS.md`** — The shared brief every agent reads. Your rules, once.
77
- - **`docs/pdlc.md`** Your pipeline map: board columns, IDs, and who does what.
78
- - **`.github/workflows/`**Three automations: board moves itself, agent wakes on spec approval, CI audits every PR.
76
+ **`--agentic` (opt-in)**
77
+ Everything in lite, plus:
78
+ - **`docs/pdlc.md`**your pipeline map: board columns and who does what
79
+ - **`.github/workflows/`** — board automation: moves cards on spec approval, PR open, and CI pass
79
80
 
80
81
  ---
81
82
 
@@ -22,12 +22,14 @@ Specifically, check for:
22
22
 
23
23
  If any of these files are missing, you are in **Setup Mode**. Do not proceed with feature requests until setup is complete.
24
24
 
25
+ **Lite profile note:** If `cli-context.json` contains `"profile": "lite"`, the only mandatory artifacts are `AGENTS.md` and `CLAUDE.md` — `docs/pdlc.md` and the workflow files are not installed in the lite profile. Skip checks for those files.
26
+
25
27
  1. **Language Detection:** Analyze the user's previous prompts and preferred language. Conduct this entire Setup Mode and ask all your interactive questions in that same language.
26
28
  2. Acknowledge that the framework is not yet set up.
27
29
  3. **Pre-filled Context:** Before asking any questions, read the following files if they exist:
28
- - `.agentic-pdlc/cli-context.json` — written by the CLI. Contains `projectName`, `repoOwner`, `repoName`, `projectNumber`, `isOrg`, `boardUrl`, and `patAutoSet` (boolean). Use these values directly and skip the corresponding questions. Honor `patAutoSet` in Step 7 and `boardUrl` in Step 10.
29
- - `.agentic-pdlc/templates/docs/pdlc.md` — the CLI pre-fills PROJECT_ID, STATUS_FIELD_ID, REPO_OWNER, REPO_NAME, and all 9 column option IDs. If none of the values still contain `{{...}}` placeholders, skip the entire Board IDs question group.
30
- - `.agentic-pdlc/templates/.github/workflows/project-automation.yml` — the CLI also pre-fills all ID placeholders here. When writing the workflow file, the remaining `{{...}}` placeholders are only non-ID ones (project name, commands, etc.).
30
+ - `.agentic-pdlc/cli-context.json` — written by the CLI. Contains `projectName`, `repoOwner`, `repoName`, `projectNumber`, `isOrg`, `boardUrl`, `patAutoSet` (boolean), and `profile` (`"lite"` or `"full"`). Use these values directly and skip the corresponding questions. Honor `patAutoSet` in Step 7 and `boardUrl` in Step 10.
31
+ - `.agentic-pdlc/templates/docs/pdlc.md` — **only present in the `full` profile.** If absent (lite install), skip the Board IDs question group entirely and skip all steps that reference this file. If present, the CLI pre-fills PROJECT_ID, STATUS_FIELD_ID, REPO_OWNER, REPO_NAME, and all 9 column option IDs; if none still contain `{{...}}` placeholders, skip the Board IDs question group.
32
+ - `.agentic-pdlc/templates/.github/workflows/project-automation.yml` — **only present in the `full` profile.** If absent, skip. If present, the CLI also pre-fills all ID placeholders here; remaining `{{...}}` placeholders are non-ID ones (project name, commands, etc.).
31
33
  4. Interactively ask the user only for the **missing values**, **one group at a time**:
32
34
  - **Project basics:** Project Name (skip if present in `cli-context.json`), Description, Technical Stack/Structure. **Do not ask for GitHub Username** — use `repoOwner` from `cli-context.json` directly for CODEOWNERS.
33
35
  - **Commands:** In the user's detected language, ask for each command with its purpose and concrete examples:
@@ -53,23 +55,25 @@ If any of these files are missing, you are in **Setup Mode**. Do not proceed wit
53
55
  - Jules (`@google-labs-jules`): use `jules` — this is the native label the Jules GitHub App watches. **Do NOT use `agent:jules`** — Jules does not watch that label and the trigger will silently fail.
54
56
  - Other agents: use the handle without `@`, lowercase (e.g. `@my-agent` → `my-agent`).
55
57
  5. Generate and write the missing files replacing the `{{SCREAMING_SNAKE_CASE}}` placeholders using the templates in `.agentic-pdlc/templates/`.
58
+ - **CLAUDE.md:** If `.agentic-pdlc/templates/CLAUDE.md` exists and `CLAUDE.md` does not yet exist at the project root, write it — replacing only `{{PROJECT_NAME}}` with the project name. Skip if CLAUDE.md already exists (never downgrade).
59
+ - **Lite profile:** If `cli-context.json` has `"profile": "lite"`, skip steps that reference `docs/pdlc.md`, `project-automation.yml`, `agent-trigger.yml`, and `pdlc-health-check.yml` — these are not installed in lite.
56
60
  6. Offer to run the `gh` commands for labels (`spec:approved`, `pr:in-review`, `pr:approved`, `architecture-violation`).
57
- 7. **`PROJECT_PAT` secret (required for board automation):**
61
+ 7. **`PROJECT_TOKEN` secret (required for board automation):**
58
62
 
59
63
  Read `patAutoSet` from `.agentic-pdlc/cli-context.json`:
60
64
 
61
- **If `patAutoSet === true`:** The CLI already configured this secret automatically. Print `✅ PROJECT_PAT is configured.` and continue to Step 8 — do not ask the user anything.
65
+ **If `patAutoSet === true`:** The CLI already configured this secret automatically. Print `✅ PROJECT_TOKEN is configured.` and continue to Step 8 — do not ask the user anything.
62
66
 
63
67
  **If `patAutoSet === false` (org repo):** Show the block below and wait for the user to reply "done" or "secret set" before continuing:
64
68
 
65
- > Your repo is in an organization. For security, `PROJECT_PAT` must be a dedicated PAT (not your personal OAuth token). Without it, all board card movements in CI will silently skip — no error surfaced.
69
+ > Your repo is in an organization. For security, `PROJECT_TOKEN` must be a dedicated PAT (not your personal OAuth token). Without it, all board card movements in CI will silently skip — no error surfaced.
66
70
  >
67
71
  > 1. Open: **github.com/settings/tokens** → *Generate new token (classic)*
68
- > 2. Name: `PROJECT_PAT — <repo-name>`
72
+ > 2. Name: `PROJECT_TOKEN — <repo-name>`
69
73
  > 3. Select scopes: ✅ `repo` + ✅ `project`
70
74
  > 4. Copy the token, then run:
71
75
  > ```
72
- > gh secret set PROJECT_PAT --body "<your-token>" --repo <owner>/<repo>
76
+ > gh secret set PROJECT_TOKEN --body "<your-token>" --repo <owner>/<repo>
73
77
  > ```
74
78
  > 5. Reply **"done"** when finished.
75
79
  8. **IMPORTANT:** Delete the setup prompt file by running exactly: