create-agentic-pdlc 2.3.0 → 3.0.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/hooks/pdlc-stage-gate.sh +37 -10
- package/.agentic-pdlc/metrics/raw/2026-W22.jsonl +114 -0
- package/.claude/settings.json +18 -0
- package/.coderabbit.yaml +35 -0
- 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/ci.yml +1 -1
- package/.github/workflows/npm-publish.yml +2 -2
- package/.github/workflows/pdlc-health-check.yml +1 -1
- package/.github/workflows/pdlc-stage-gate.yml +2 -2
- package/.github/workflows/project-automation.yml +25 -40
- package/AGENTS.md +50 -8
- package/CLAUDE.md +3 -1
- package/README.md +33 -32
- package/SETUP.md +2 -1
- package/adapters/claude-code/skill.md +39 -14
- package/adapters/hooks/pdlc-stage-gate.sh +3 -8
- package/bin/cli.js +555 -194
- package/docs/pdlc.md +5 -5
- 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/plans/2026-06-04-spec-format-issue-template.md +160 -0
- package/docs/superpowers/plans/2026-06-04-two-tier-installer.md +1056 -0
- package/docs/superpowers/specs/2026-05-29-agentic-pulse-rework-taxonomy-design.md +122 -0
- package/docs/superpowers/specs/2026-06-04-spec-format-issue-template-design.md +46 -0
- package/package.json +2 -2
- 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 +22 -13
- package/{.agentic-pdlc/templates → templates}/.github/workflows/agentic-metrics.yml +150 -27
- package/templates/.github/workflows/ci.yml +1 -1
- package/templates/.github/workflows/pdlc-health-check.yml +1 -1
- package/templates/.github/workflows/pdlc-stage-gate.yml +2 -2
- package/templates/.github/workflows/project-automation.yml +71 -32
- package/templates/.github/workflows/qa-agent.yml +32 -18
- package/templates/.github/workflows/qa-gate.yml +51 -0
- package/templates/full/AGENTS.md +143 -0
- package/templates/full/CLAUDE.md +30 -0
- package/templates/{docs → full/docs}/pdlc.md +4 -4
- package/templates/lite/AGENTS.md +121 -0
- package/templates/lite/CLAUDE.md +44 -0
- package/tests/cli.test.js +32 -0
- 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 -54
- package/.agentic-pdlc/templates/.github/workflows/pdlc-health-check.yml +0 -121
- package/.agentic-pdlc/templates/.github/workflows/pdlc-stage-gate.yml +0 -51
- package/.agentic-pdlc/templates/.github/workflows/project-automation.yml +0 -274
- 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 -104
- package/.agentic-pdlc/templates/docs/pdlc.md +0 -123
- package/.github/workflows/agentic-metrics.yml +0 -422
- package/.github/workflows/qa-agent.yml +0 -128
- package/templates/AGENTS.md +0 -115
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Agentic Pulse — Rework Taxonomy with Review-Actor Attribution and Stage Correlation
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-29
|
|
4
|
+
**Issue:** [#142](https://github.com/rafaeltcosta86/agentic-pdlc/issues/142)
|
|
5
|
+
**Status:** stage:approval — awaiting spec:approved
|
|
6
|
+
|
|
7
|
+
## Problem
|
|
8
|
+
|
|
9
|
+
Current rework signal detects extra commit sessions but cannot distinguish cause. All rework produces the same generic recommendation: "incomplete specs or requirement changes."
|
|
10
|
+
|
|
11
|
+
Three distinct causes exist, each pointing to a different fix:
|
|
12
|
+
|
|
13
|
+
| Cause | Root stage | Fix |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Code reviewer caught a defect | stage:development — DoD too weak | Tighten implementation checklist |
|
|
16
|
+
| QA agent caught a functional gap | stage:detailing — spec incomplete | Add acceptance criteria |
|
|
17
|
+
| Self-correction (pre-review) | Unknown | Not auto-determinable |
|
|
18
|
+
|
|
19
|
+
## Design Decision
|
|
20
|
+
|
|
21
|
+
**Option C selected:** Review-Actor Taxonomy + Stage Correlation
|
|
22
|
+
- Auto-only (zero user friction)
|
|
23
|
+
- Actors are configurable — not locked to any specific bot
|
|
24
|
+
- Stage correlation provides upstream attribution when N≥3 data points available
|
|
25
|
+
|
|
26
|
+
## Architecture
|
|
27
|
+
|
|
28
|
+
### Files Changed
|
|
29
|
+
|
|
30
|
+
- `.github/workflows/agentic-metrics.yml`
|
|
31
|
+
- `templates/.github/workflows/agentic-metrics.yml` (mirror)
|
|
32
|
+
|
|
33
|
+
No new files. No new dependencies.
|
|
34
|
+
|
|
35
|
+
### Configuration
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
env:
|
|
39
|
+
AGENTIC_PULSE_REVIEWERS: |
|
|
40
|
+
code_reviewer=gemini-code-assist[bot]
|
|
41
|
+
qa_agent=github-actions[bot]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Format: `role=login1,login2` per line. If absent/empty → taxonomy skipped, existing behavior unchanged.
|
|
45
|
+
|
|
46
|
+
## Detection Logic
|
|
47
|
+
|
|
48
|
+
### Review-Actor Rework Detection
|
|
49
|
+
|
|
50
|
+
For each merged PR in the week window (up to 10 — consistent with existing rework block):
|
|
51
|
+
|
|
52
|
+
1. Get commit timestamps (reuse existing fetch)
|
|
53
|
+
2. If single commit session: skip
|
|
54
|
+
3. `GET /repos/{owner}/{repo}/pulls/{pr}/reviews`
|
|
55
|
+
4. For each review where `reviewer.login` is in the actor map:
|
|
56
|
+
- Record first review timestamp for that role
|
|
57
|
+
- Count commits with `timestamp > first_review_at`
|
|
58
|
+
- If count > 0: mark as `{role}`-triggered rework
|
|
59
|
+
5. If multi-session but no configured actor review found before them: `self_correction`
|
|
60
|
+
6. For reviewer-triggered PRs: extract `Closes #N` → store `{ pr_number, issue_number, role }` for stage correlation
|
|
61
|
+
|
|
62
|
+
A PR can count in multiple role buckets if multiple roles triggered rework. Total rework % = unique PRs with any rework / total PRs. Role breakdown counts per role (sum can exceed total %).
|
|
63
|
+
|
|
64
|
+
### Stage Correlation
|
|
65
|
+
|
|
66
|
+
Load `stage:detailing` durations from `weekKey.jsonl` → `Map<issueNumber, durationDays>`
|
|
67
|
+
|
|
68
|
+
Group:
|
|
69
|
+
- `reviewer_rework_group`: issues linked to reviewer-triggered rework PRs with known detailing time
|
|
70
|
+
- `clean_group`: issues linked to PRs with zero reviewer-triggered rework (single session OR only self-correction) with known detailing time
|
|
71
|
+
|
|
72
|
+
Emit correlation signal only if both groups have N≥3. Otherwise skip.
|
|
73
|
+
|
|
74
|
+
## Output Format
|
|
75
|
+
|
|
76
|
+
### Rework signal (taxonomy active)
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
🟡 **Rework rate: 60%** — 6 de 10 PRs tiveram commits extras
|
|
80
|
+
↳ Code reviewer: **4 PRs** → revisar DoD em stage:development
|
|
81
|
+
↳ QA Agent: **1 PR** → spec com lacunas funcionais em stage:detailing
|
|
82
|
+
↳ Self-correction: **1 PR** (causa não determinada automaticamente)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Stage correlation signal (when N≥3 both groups)
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
💡 **Stage correlation:** PRs com reviewer rework tiveram Detailing médio de 0.2d vs 0.8d (N=4 vs N=6)
|
|
89
|
+
→ Specs rápidas correlacionam com mais rework de review
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Signal levels
|
|
93
|
+
|
|
94
|
+
| Condition | Level |
|
|
95
|
+
|---|---|
|
|
96
|
+
| `code_reviewer` rework ≥ 80% of total | 🔴 |
|
|
97
|
+
| `code_reviewer` rework ≥ 50% of total | 🟡 |
|
|
98
|
+
| `qa_agent` rework > 0 | 🟡 |
|
|
99
|
+
| Stage correlation present | 🔵 (informational) |
|
|
100
|
+
|
|
101
|
+
## Recommendations
|
|
102
|
+
|
|
103
|
+
| Trigger | Recommendation |
|
|
104
|
+
|---|---|
|
|
105
|
+
| `code_reviewer` dominant | Revisar Definition of Done em stage:development. Considere checklist de qualidade antes de abrir PR. |
|
|
106
|
+
| `qa_agent` > 0 | Spec tem lacunas funcionais. Revisar critérios de aceitação em stage:detailing. |
|
|
107
|
+
| Stage correlation fires (rework detailing < clean detailing) | Specs rápidas correlacionam com mais rework. Invista mais tempo em stage:detailing. |
|
|
108
|
+
| All self-correction | Configure AGENTIC_PULSE_REVIEWERS para attribution mais precisa. |
|
|
109
|
+
|
|
110
|
+
## Backward Compatibility
|
|
111
|
+
|
|
112
|
+
- `AGENTIC_PULSE_REVIEWERS` absent → taxonomy skipped, no regression
|
|
113
|
+
- JSONL absent → correlation skipped, taxonomy still runs
|
|
114
|
+
- N < 3 either group → correlation skipped
|
|
115
|
+
- `listReviews` API error → catch, skip PR, continue
|
|
116
|
+
|
|
117
|
+
## Out of Scope
|
|
118
|
+
|
|
119
|
+
- Manual rework classification
|
|
120
|
+
- Self-correction cause detection
|
|
121
|
+
- Changes to Stage Residence Time collection
|
|
122
|
+
- Changes to any other signal
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Design: ship spec-format issue template (lite)
|
|
2
|
+
|
|
3
|
+
**Issue:** #157
|
|
4
|
+
**Date:** 2026-06-04
|
|
5
|
+
**Status:** approved
|
|
6
|
+
|
|
7
|
+
## Problem
|
|
8
|
+
|
|
9
|
+
`npx create-agentic-pdlc` copies templates to `.agentic-pdlc/templates/` — a path GitHub ignores entirely. Users who open "New Issue" after setup see a blank text box instead of the spec format template.
|
|
10
|
+
|
|
11
|
+
## Decision
|
|
12
|
+
|
|
13
|
+
Copy `templates/.github/ISSUE_TEMPLATE/` directly to `targetDir/.github/ISSUE_TEMPLATE/` during `runSetup()` in `bin/cli.js`. No agent involvement — templates have no `{{PLACEHOLDER}}` substitution, so the CLI can write them directly.
|
|
14
|
+
|
|
15
|
+
## Change
|
|
16
|
+
|
|
17
|
+
**File:** `bin/cli.js`
|
|
18
|
+
|
|
19
|
+
After the existing `copyDirSync(sourceTemplates, targetTemplates)` block (around line 386):
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
// i18n string (add to i18n object)
|
|
23
|
+
issue_templates_copied: t(
|
|
24
|
+
'✅ Issue templates copied to .github/ISSUE_TEMPLATE/',
|
|
25
|
+
'✅ Issue templates copiados para .github/ISSUE_TEMPLATE/',
|
|
26
|
+
'✅ Issue templates copiados a .github/ISSUE_TEMPLATE/'
|
|
27
|
+
),
|
|
28
|
+
|
|
29
|
+
// Copy block (add inside runSetup(), after template copy)
|
|
30
|
+
const sourceIssueTemplates = path.join(sourceDir, 'templates', '.github', 'ISSUE_TEMPLATE');
|
|
31
|
+
const targetIssueTemplates = path.join(targetDir, '.github', 'ISSUE_TEMPLATE');
|
|
32
|
+
if (fs.existsSync(sourceIssueTemplates)) {
|
|
33
|
+
copyDirSync(sourceIssueTemplates, targetIssueTemplates);
|
|
34
|
+
console.log(i18n.issue_templates_copied);
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Edge Cases
|
|
39
|
+
|
|
40
|
+
- `.github/ISSUE_TEMPLATE/` already exists → `copyDirSync` overwrites. Correct — boilerplate, not user customizations.
|
|
41
|
+
- Source dir missing (corrupt install) → guarded by `if (fs.existsSync(...))`, skips silently.
|
|
42
|
+
|
|
43
|
+
## Out of Scope
|
|
44
|
+
|
|
45
|
+
- Changes to template content — existing `feature.md`, `bug.md`, `task.md` already have all required sections.
|
|
46
|
+
- Changes to `adapters/claude-code/skill.md` — agent setup not involved.
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-agentic-pdlc",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Agentic PDLC Framework - Conversational setup for your AI coding assistants",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
7
7
|
"create-agentic-pdlc": "./bin/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"test": "
|
|
10
|
+
"test": "node --test tests/cli.test.js"
|
|
11
11
|
},
|
|
12
12
|
"keywords": [
|
|
13
13
|
"agentic",
|
|
@@ -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
|
|
@@ -14,13 +14,13 @@ jobs:
|
|
|
14
14
|
name: Auto-add new issue to board
|
|
15
15
|
runs-on: ubuntu-latest
|
|
16
16
|
env:
|
|
17
|
-
|
|
17
|
+
PROJECT_TOKEN: ${{ secrets.PROJECT_TOKEN }}
|
|
18
18
|
steps:
|
|
19
19
|
- name: Add issue to project board
|
|
20
|
-
if: ${{ env.
|
|
21
|
-
uses: actions/github-script@
|
|
20
|
+
if: ${{ env.PROJECT_TOKEN != '' && env.PROJECT_ID != '{{PROJECT_ID}}' }}
|
|
21
|
+
uses: actions/github-script@v8
|
|
22
22
|
with:
|
|
23
|
-
github-token: ${{ env.
|
|
23
|
+
github-token: ${{ env.PROJECT_TOKEN }}
|
|
24
24
|
script: |
|
|
25
25
|
const nodeId = context.payload.issue.node_id;
|
|
26
26
|
const number = context.payload.issue.number;
|
|
@@ -17,13 +17,13 @@ jobs:
|
|
|
17
17
|
pull-requests: write
|
|
18
18
|
contents: read
|
|
19
19
|
env:
|
|
20
|
-
|
|
20
|
+
PROJECT_TOKEN: ${{ secrets.PROJECT_TOKEN }}
|
|
21
21
|
PROJECT_ID: "{{PROJECT_ID}}"
|
|
22
22
|
STATUS_FIELD_ID: "{{STATUS_FIELD_ID}}"
|
|
23
23
|
STATUS_DEVELOPMENT: "{{ID_DEVELOPMENT}}"
|
|
24
24
|
steps:
|
|
25
|
-
- name: Update
|
|
26
|
-
uses: actions/github-script@
|
|
25
|
+
- name: Update stage labels
|
|
26
|
+
uses: actions/github-script@v8
|
|
27
27
|
with:
|
|
28
28
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
29
29
|
script: |
|
|
@@ -41,23 +41,32 @@ jobs:
|
|
|
41
41
|
console.log('Label stage:approval not found or could not be removed');
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const agentLabel = '{{IMPLEMENTATION_AGENT_LABEL}}';
|
|
45
|
-
const labelsToAdd = ['stage:development'];
|
|
46
|
-
if (!agentLabel.includes('{{')) labelsToAdd.push(agentLabel, 'agent:working');
|
|
47
|
-
|
|
48
44
|
await github.rest.issues.addLabels({
|
|
49
45
|
owner,
|
|
50
46
|
repo,
|
|
51
47
|
issue_number,
|
|
52
|
-
labels:
|
|
48
|
+
labels: ['stage:development']
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
- name: Add agent label via PAT
|
|
52
|
+
if: ${{ env.PROJECT_TOKEN != '' && !contains('{{IMPLEMENTATION_AGENT_LABEL}}', '{{') }}
|
|
53
|
+
uses: actions/github-script@v8
|
|
54
|
+
with:
|
|
55
|
+
github-token: ${{ env.PROJECT_TOKEN }}
|
|
56
|
+
script: |
|
|
57
|
+
await github.rest.issues.addLabels({
|
|
58
|
+
owner: context.repo.owner,
|
|
59
|
+
repo: context.repo.repo,
|
|
60
|
+
issue_number: context.payload.issue.number,
|
|
61
|
+
labels: ['{{IMPLEMENTATION_AGENT_LABEL}}']
|
|
53
62
|
});
|
|
54
63
|
|
|
55
64
|
- name: Move board card to Development
|
|
56
|
-
if: ${{ env.
|
|
65
|
+
if: ${{ env.PROJECT_TOKEN != '' && env.PROJECT_ID != '{{PROJECT_ID}}' }}
|
|
57
66
|
continue-on-error: true
|
|
58
|
-
uses: actions/github-script@
|
|
67
|
+
uses: actions/github-script@v8
|
|
59
68
|
with:
|
|
60
|
-
github-token: ${{ env.
|
|
69
|
+
github-token: ${{ env.PROJECT_TOKEN }}
|
|
61
70
|
script: |
|
|
62
71
|
const nodeId = context.payload.issue.node_id;
|
|
63
72
|
const number = context.payload.issue.number;
|
|
@@ -76,7 +85,7 @@ jobs:
|
|
|
76
85
|
|
|
77
86
|
- name: Comment on issue to trigger agent and prevent race conditions
|
|
78
87
|
if: ${{ !contains('{{IMPLEMENTATION_AGENT_LABEL}}', '{{') && vars.JULES_ENABLED == 'true' }}
|
|
79
|
-
uses: actions/github-script@
|
|
88
|
+
uses: actions/github-script@v8
|
|
80
89
|
with:
|
|
81
90
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
82
91
|
script: |
|
|
@@ -119,7 +128,7 @@ jobs:
|
|
|
119
128
|
steps:
|
|
120
129
|
- name: Comment on issue to trigger agent
|
|
121
130
|
if: ${{ !contains('{{IMPLEMENTATION_AGENT_LABEL}}', '{{') && vars.JULES_ENABLED == 'true' }}
|
|
122
|
-
uses: actions/github-script@
|
|
131
|
+
uses: actions/github-script@v8
|
|
123
132
|
with:
|
|
124
133
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
125
134
|
script: |
|