@kolatts/pncli 1.10.1 → 1.11.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/copilot-instructions.md +34 -1
- package/dist/{chunk-O3LWAWSN.js → chunk-AWSXVWRN.js} +2 -1
- package/dist/{chunk-O3LWAWSN.js.map → chunk-AWSXVWRN.js.map} +1 -1
- package/dist/{chunk-3XHTRFRX.js → chunk-VPUWMP2M.js} +3 -2
- package/dist/chunk-VPUWMP2M.js.map +1 -0
- package/dist/cli.js +376 -7
- package/dist/cli.js.map +1 -1
- package/dist/{config-NCI2BTQG.js → config-OFLPO5DN.js} +4 -2
- package/dist/{http-L2P23H2D.js → http-LNDRNPP7.js} +2 -2
- package/package.json +1 -1
- package/skills/pncli/SKILL.md +92 -0
- package/skills/pncli/ado.md +33 -0
- package/skills/pncli/artifactory.md +35 -0
- package/skills/pncli/bitbucket.md +30 -0
- package/skills/pncli/checkmarx.md +31 -0
- package/skills/pncli/confluence.md +24 -0
- package/skills/pncli/contrast.md +39 -0
- package/skills/pncli/jenkins.md +29 -0
- package/skills/pncli/jira.md +35 -0
- package/skills/pncli/marketplace.md +41 -0
- package/skills/pncli/sde.md +29 -0
- package/skills/pncli/servicenow.md +33 -0
- package/skills/pncli/sonarqube.md +30 -0
- package/skills/pncli/sonatypeiq.md +39 -0
- package/skills/pncli/udeploy.md +48 -0
- package/dist/chunk-3XHTRFRX.js.map +0 -1
- package/skills/address-pr-feedback/SKILL.md +0 -87
- package/skills/code-review/SKILL.md +0 -82
- package/skills/local-setup/SKILL.md +0 -225
- package/skills/plan/SKILL.md +0 -120
- package/skills/security-review/SKILL.md +0 -108
- package/skills/ship/SKILL.md +0 -170
- /package/dist/{config-NCI2BTQG.js.map → config-OFLPO5DN.js.map} +0 -0
- /package/dist/{http-L2P23H2D.js.map → http-LNDRNPP7.js.map} +0 -0
package/skills/plan/SKILL.md
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan
|
|
3
|
-
description: Turn a feature description, goal, or problem statement into a structured backlog in Jira or ADO. Explores the codebase with parallel subagents before generating the breakdown; shows the plan to the user for confirmation before creating any work items. Use when asked to plan a feature, break down a problem, or create backlog items from a description.
|
|
4
|
-
compatibility: Designed for Claude Code. Requires pncli configured with Jira or Azure DevOps.
|
|
5
|
-
user-invocable: true
|
|
6
|
-
metadata:
|
|
7
|
-
category: planning
|
|
8
|
-
providers: both
|
|
9
|
-
services: git, jira, ado
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Step 1 — Get the feature description
|
|
13
|
-
|
|
14
|
-
Ask the user: "What are you planning? Describe the feature, goal, or problem in as much detail as you have."
|
|
15
|
-
|
|
16
|
-
Wait for their response before proceeding.
|
|
17
|
-
|
|
18
|
-
## Step 2 — Detect ticket provider
|
|
19
|
-
|
|
20
|
-
Run `pncli config show`.
|
|
21
|
-
- `jira.baseUrl` present → Jira. Note the default project key from `defaults.jira.project`.
|
|
22
|
-
- `ado.baseUrl` present → ADO. Note the default project from `defaults.ado.project`.
|
|
23
|
-
|
|
24
|
-
## Step 3 — RESEARCH: Explore the codebase (parallel)
|
|
25
|
-
|
|
26
|
-
Launch three agents based on the feature description:
|
|
27
|
-
|
|
28
|
-
**Agent A — Relevant files and patterns**
|
|
29
|
-
Search the codebase for files related to the described feature area (grep for key terms, check likely directories).
|
|
30
|
-
Read the most relevant source files in full.
|
|
31
|
-
Note: existing patterns, data models, API contracts, naming conventions used in this area.
|
|
32
|
-
|
|
33
|
-
**Agent B — Dependencies and integration points**
|
|
34
|
-
Identify external services, APIs, or packages the feature will touch.
|
|
35
|
-
Read any relevant config files and interface/type definitions.
|
|
36
|
-
Check for existing tests that cover adjacent code — note what's already tested.
|
|
37
|
-
|
|
38
|
-
**Agent C — Scope and constraints**
|
|
39
|
-
Read `CLAUDE.md` (or any architecture decision records present).
|
|
40
|
-
Identify stable contracts or public APIs that should NOT change.
|
|
41
|
-
Note any known tech debt or open issues in the affected area that could affect scope.
|
|
42
|
-
|
|
43
|
-
Wait for all three agents.
|
|
44
|
-
|
|
45
|
-
## Step 4 — PLAN: Produce a story breakdown
|
|
46
|
-
|
|
47
|
-
Using the research output, generate a structured plan:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
Epic: "<Feature name>" — one-sentence description
|
|
51
|
-
|
|
52
|
-
Story 1: <title>
|
|
53
|
-
Acceptance criteria:
|
|
54
|
-
- <testable criterion>
|
|
55
|
-
- <testable criterion>
|
|
56
|
-
Size: S / M / L
|
|
57
|
-
Depends on: (none | Story N)
|
|
58
|
-
|
|
59
|
-
Story 2: ...
|
|
60
|
-
|
|
61
|
-
Tasks under Story 1:
|
|
62
|
-
- <specific implementation step> (<file(s) that will change>)
|
|
63
|
-
- ...
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Show the complete breakdown to the user and ask:
|
|
67
|
-
"Does this plan look right? Say 'looks good' to create the work items, or describe any changes."
|
|
68
|
-
|
|
69
|
-
**Wait for explicit user confirmation before Step 5.** Do not create any tickets until confirmed.
|
|
70
|
-
|
|
71
|
-
## Step 5 — IMPLEMENT: Create work items
|
|
72
|
-
|
|
73
|
-
Only create an Epic if there are more than 2 stories.
|
|
74
|
-
|
|
75
|
-
**Jira:**
|
|
76
|
-
```
|
|
77
|
-
# Epic (if >2 stories)
|
|
78
|
-
pncli jira create-issue --project <key> --type Epic \
|
|
79
|
-
--summary "<epic title>" --description "<description>"
|
|
80
|
-
|
|
81
|
-
# Per story
|
|
82
|
-
pncli jira create-issue --project <key> --type Story \
|
|
83
|
-
--summary "<story title>" \
|
|
84
|
-
--description "<acceptance criteria>" \
|
|
85
|
-
--labels <feature-label>
|
|
86
|
-
|
|
87
|
-
# Per task
|
|
88
|
-
pncli jira create-issue --project <key> --type Task \
|
|
89
|
-
--summary "<task title>" --description "<details>"
|
|
90
|
-
|
|
91
|
-
# Link story → epic
|
|
92
|
-
pncli jira link-issue --key <story> --link-type "is child of" --target <epic>
|
|
93
|
-
|
|
94
|
-
# Link task → story
|
|
95
|
-
pncli jira link-issue --key <task> --link-type "is child of" --target <story>
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**ADO:**
|
|
99
|
-
```
|
|
100
|
-
# Epic (if >2 stories)
|
|
101
|
-
pncli ado work create --type Epic --title "<epic title>" --description "<description>"
|
|
102
|
-
|
|
103
|
-
# Per story
|
|
104
|
-
pncli ado work create --type "User Story" \
|
|
105
|
-
--title "<story title>" --description "<acceptance criteria>"
|
|
106
|
-
|
|
107
|
-
# Per task
|
|
108
|
-
pncli ado work create --type Task --title "<task title>" --description "<details>"
|
|
109
|
-
|
|
110
|
-
# Link story → epic
|
|
111
|
-
pncli ado work link --id <story> --to <epic> --type parent
|
|
112
|
-
|
|
113
|
-
# Link task → story
|
|
114
|
-
pncli ado work link --id <task> --to <story> --type parent
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## Step 6 — Report
|
|
118
|
-
|
|
119
|
-
Print: Epic key/id (if created), each story with its key/id, total tasks created.
|
|
120
|
-
Ask: "Want me to open the Epic in the browser?"
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: security-review
|
|
3
|
-
description: Scan all security sources (dependency CVEs, SonarQube vulnerabilities, SonarQube hotspots, optionally SDElements threats), triage by severity, then create Jira or ADO tickets — Bug for critical/blocking findings, Task for others, grouped under an Epic when more than 3 tickets are created. Use when asked to do a security review, scan for vulnerabilities, or triage security findings into the backlog.
|
|
4
|
-
compatibility: Designed for Claude Code. Requires pncli configured with deps scanning and optionally SonarQube and SDElements.
|
|
5
|
-
user-invocable: true
|
|
6
|
-
metadata:
|
|
7
|
-
category: security
|
|
8
|
-
providers: both
|
|
9
|
-
services: deps, sonar, sde, jira, ado
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Step 1 — RESEARCH: Gather all findings (parallel)
|
|
13
|
-
|
|
14
|
-
Get current branch: `git rev-parse --abbrev-ref HEAD`
|
|
15
|
-
|
|
16
|
-
Launch four agents simultaneously:
|
|
17
|
-
|
|
18
|
-
**Agent A — Dependency CVEs**
|
|
19
|
-
`pncli deps frisk`
|
|
20
|
-
Report: package name, CVE id, severity (CRITICAL/HIGH/MEDIUM/LOW), fixed-in version if known.
|
|
21
|
-
|
|
22
|
-
**Agent B — SonarQube vulnerabilities**
|
|
23
|
-
`pncli sonar issues --types VULNERABILITY --statuses OPEN --branch <branch>`
|
|
24
|
-
Report: rule key, severity, file, line, message.
|
|
25
|
-
|
|
26
|
-
**Agent C — SonarQube hotspots**
|
|
27
|
-
`pncli sonar hotspots --status TO_REVIEW --branch <branch>`
|
|
28
|
-
Report: securityCategory, vulnerabilityProbability (HIGH/MEDIUM/LOW), file, line, message.
|
|
29
|
-
|
|
30
|
-
**Agent D — SDElements threats (conditional)**
|
|
31
|
-
First check: `pncli config show` — only run this agent if `sde.connection` is present in the output.
|
|
32
|
-
If present: `pncli sde threats`
|
|
33
|
-
Report: threat title, risk rating, phase (requirements/design/development/testing).
|
|
34
|
-
|
|
35
|
-
Wait for all agents.
|
|
36
|
-
|
|
37
|
-
## Step 2 — PLAN: Triage and prioritize
|
|
38
|
-
|
|
39
|
-
Consolidate all findings into a single prioritized list:
|
|
40
|
-
1. Critical CVEs + Blocker SonarQube vulnerabilities
|
|
41
|
-
2. High CVEs + Critical SonarQube vulnerabilities + High hotspots
|
|
42
|
-
3. Medium findings
|
|
43
|
-
4. Drop low/info findings unless the user explicitly requested them
|
|
44
|
-
|
|
45
|
-
**Deduplicate:** if the same file+line or the same package appears across multiple sources, merge into one finding and note all source references.
|
|
46
|
-
|
|
47
|
-
**Assign ticket type:**
|
|
48
|
-
- Critical or Blocker severity → **Bug**
|
|
49
|
-
- All others → **Task**
|
|
50
|
-
|
|
51
|
-
## Step 3 — Detect ticket provider
|
|
52
|
-
|
|
53
|
-
Run `pncli config show`.
|
|
54
|
-
- `jira.baseUrl` present → Jira
|
|
55
|
-
- `ado.baseUrl` present → ADO
|
|
56
|
-
|
|
57
|
-
## Step 4 — IMPLEMENT: Create tickets (highest severity first)
|
|
58
|
-
|
|
59
|
-
**Jira:**
|
|
60
|
-
```
|
|
61
|
-
pncli jira create-issue \
|
|
62
|
-
--project <default-project-key> \
|
|
63
|
-
--type <Bug|Task> \
|
|
64
|
-
--summary "Security: <description>" \
|
|
65
|
-
--description "<source>: <severity>\nRule/CVE: <id>\nFile: <path>:<line>\nFix: <guidance>" \
|
|
66
|
-
--priority <Critical|High|Medium> \
|
|
67
|
-
--labels security,<source-tag>
|
|
68
|
-
```
|
|
69
|
-
Source tags: `cve-remediation`, `sonar-vulnerability`, `sonar-hotspot`, `threat-model`
|
|
70
|
-
|
|
71
|
-
**ADO:**
|
|
72
|
-
```
|
|
73
|
-
pncli ado work create \
|
|
74
|
-
--type <Bug|Task> \
|
|
75
|
-
--title "Security: <description>" \
|
|
76
|
-
--description "<details>" \
|
|
77
|
-
--priority <1|2|3>
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Link related findings (same component or same CVE chain):
|
|
81
|
-
- Jira: `pncli jira link-issue --key <new> --link-type "relates to" --target <related>`
|
|
82
|
-
- ADO: `pncli ado work link --id <new> --to <related> --type related`
|
|
83
|
-
|
|
84
|
-
## Step 5 — Group under Epic if more than 3 tickets
|
|
85
|
-
|
|
86
|
-
**Jira:**
|
|
87
|
-
```
|
|
88
|
-
pncli jira create-issue --project <key> --type Epic \
|
|
89
|
-
--summary "Security Review <YYYY-MM-DD>" \
|
|
90
|
-
--description "Critical: <n>, High: <n>, Medium: <n>. Sources: <list>"
|
|
91
|
-
```
|
|
92
|
-
Then for each ticket: `pncli jira link-issue --key <ticket> --link-type "is child of" --target <epic>`
|
|
93
|
-
|
|
94
|
-
**ADO:**
|
|
95
|
-
```
|
|
96
|
-
pncli ado work create --type Epic \
|
|
97
|
-
--title "Security Review <YYYY-MM-DD>" \
|
|
98
|
-
--description "<breakdown>"
|
|
99
|
-
```
|
|
100
|
-
Then: `pncli ado work link --id <ticket> --to <epic> --type parent`
|
|
101
|
-
|
|
102
|
-
## Step 6 — Report summary
|
|
103
|
-
|
|
104
|
-
Print:
|
|
105
|
-
- Sources scanned
|
|
106
|
-
- Total raw findings, deduplicated count
|
|
107
|
-
- Tickets created (with keys/ids)
|
|
108
|
-
- Epic key/id if created
|
package/skills/ship/SKILL.md
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ship
|
|
3
|
-
description: Open a PR for the current branch on Bitbucket or Azure DevOps. Runs the full pre-PR gate (build, lint, typecheck, tests, code review, docs) using parallel subagents before opening the PR. For GitHub repos, use the repo-scoped /ship skill instead. Use whenever the user says "open a PR", "create a PR", "ship this", "pull request", or "/ship".
|
|
4
|
-
compatibility: Designed for Claude Code. Requires pncli configured with Bitbucket or Azure DevOps.
|
|
5
|
-
user-invocable: true
|
|
6
|
-
metadata:
|
|
7
|
-
category: pr-workflow
|
|
8
|
-
providers: both
|
|
9
|
-
services: git, bitbucket, ado
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
Run the full pre-PR gate and open the PR. Parallelize as much as possible.
|
|
13
|
-
|
|
14
|
-
Make sure there are no outstanding untracked changes before starting.
|
|
15
|
-
|
|
16
|
-
Detect provider once up front: run `git remote -v`. `/_git/` → Azure DevOps. `/scm/` → Bitbucket. Use this throughout every phase.
|
|
17
|
-
|
|
18
|
-
## Phase 0 — Issue check + build command setup
|
|
19
|
-
|
|
20
|
-
**Issue:** Parse the current branch name for an issue key:
|
|
21
|
-
- Jira key pattern: `[A-Z]+-\d+` (e.g., `PROJ-42`)
|
|
22
|
-
- ADO work item id: a plain integer after a hyphen (e.g., `feature/1234-add-widget` → `#1234`)
|
|
23
|
-
|
|
24
|
-
If a key is found, note it for use in the PR body (`Closes <key>`). If none is found, proceed without one.
|
|
25
|
-
|
|
26
|
-
**Build commands (one-time setup):** Check if Phase 2 in this file already has real commands filled in (i.e., not the placeholder text `<build-command>`). If it does, skip this step.
|
|
27
|
-
|
|
28
|
-
If placeholders are still present, ask the user:
|
|
29
|
-
- "What command do you use to build?" (e.g., `npm run build`, `dotnet build`, `gradle build`)
|
|
30
|
-
- "What command do you use to lint or typecheck?" (e.g., `npm run lint`, `dotnet format --verify-no-changes`)
|
|
31
|
-
- "What command do you use to run tests?" (e.g., `npm test`, `dotnet test`, `./gradlew test`)
|
|
32
|
-
|
|
33
|
-
Once answered, edit this SKILL.md file directly — replace the `<build-command>`, `<lint-command>`, and `<test-command>` placeholders in Phase 2 below with the actual commands. Save the file before proceeding.
|
|
34
|
-
|
|
35
|
-
## Phase 1 — Gather context (parallel)
|
|
36
|
-
|
|
37
|
-
Launch two subagents simultaneously:
|
|
38
|
-
|
|
39
|
-
**Agent A — Diff + branch info**
|
|
40
|
-
- Run `git log origin/<target-branch>..HEAD --oneline`
|
|
41
|
-
- Run `git diff origin/<target-branch>..HEAD --stat`
|
|
42
|
-
- Run `git diff origin/<target-branch>..HEAD --name-only`
|
|
43
|
-
- Bitbucket: `pncli bitbucket list-prs --state OPEN` filtered to current branch
|
|
44
|
-
- ADO: `pncli ado repo list-prs --state active` filtered to sourceRefName matching current branch
|
|
45
|
-
- Report: branch name, commit list, changed files, existing PR URL if any
|
|
46
|
-
|
|
47
|
-
**Agent B — Docs audit**
|
|
48
|
-
- Run `git diff origin/<target-branch>..HEAD --name-only`
|
|
49
|
-
- Read every file in `docs/` and every `README.md` in the repo
|
|
50
|
-
- Read `CLAUDE.md` sections relevant to the changed files
|
|
51
|
-
- Check for any docs or site pages that reference changed commands or features — flag anything stale
|
|
52
|
-
- Report: stale docs/README sections, new or updated commands with full signatures
|
|
53
|
-
|
|
54
|
-
Wait for both agents.
|
|
55
|
-
|
|
56
|
-
## Phase 2 — Pre-PR gate (parallel)
|
|
57
|
-
|
|
58
|
-
If a PR already exists (Agent A found one), skip straight to Phase 3.
|
|
59
|
-
|
|
60
|
-
Launch three subagents simultaneously:
|
|
61
|
-
|
|
62
|
-
**Agent C — Build + lint**
|
|
63
|
-
1. Run `<build-command>` — must succeed.
|
|
64
|
-
2. Run `<lint-command>` — report errors or warnings.
|
|
65
|
-
- Report: build result, lint issues
|
|
66
|
-
|
|
67
|
-
**Agent D — Code review**
|
|
68
|
-
- Run `git diff origin/<target-branch>..HEAD` to get the full diff
|
|
69
|
-
- Read each changed file in full
|
|
70
|
-
- Review for correctness, quality, and consistency with any `CLAUDE.md` conventions
|
|
71
|
-
- Rate each issue: Major (blocks merge), Minor (should fix), Nit (optional)
|
|
72
|
-
- Report: overall decision (Approve / Request Changes), all issues with file + line + severity
|
|
73
|
-
|
|
74
|
-
**Agent E — Tests**
|
|
75
|
-
- Run `<test-command>` and report pass/fail/counts
|
|
76
|
-
- If no tests exist, report that and note which changed files could benefit from coverage
|
|
77
|
-
- Report: test result summary
|
|
78
|
-
|
|
79
|
-
Wait for all three agents.
|
|
80
|
-
|
|
81
|
-
## Phase 3 — Fix loop
|
|
82
|
-
|
|
83
|
-
Collect all issues from Phase 2:
|
|
84
|
-
- Build errors → fix them
|
|
85
|
-
- Lint errors → fix them (warnings: fix if trivial)
|
|
86
|
-
- Code review issues rated Major or Minor → fix them; skip Nits unless trivial
|
|
87
|
-
- Failing tests → fix them
|
|
88
|
-
- Stale docs or README sections (from Agent B) → update them
|
|
89
|
-
|
|
90
|
-
After fixing, re-run Agent C to confirm build + lint pass. Re-run Agent E if any source files changed.
|
|
91
|
-
|
|
92
|
-
## Phase 4 — Commit fixes (if any)
|
|
93
|
-
|
|
94
|
-
If Phase 3 produced any changes:
|
|
95
|
-
- `git add` the changed files
|
|
96
|
-
- Show the staged diff and confirm with the user before committing
|
|
97
|
-
- Commit: `fix(pre-pr): address review feedback`
|
|
98
|
-
|
|
99
|
-
## Phase 5 — PR preview
|
|
100
|
-
|
|
101
|
-
Construct the PR title and body (do not open the PR yet):
|
|
102
|
-
|
|
103
|
-
**Title:** strip the `<username>/` prefix and any leading issue number from the branch name, convert to Conventional Commit format:
|
|
104
|
-
- `type(scope): description`
|
|
105
|
-
- Example: branch `alice/PROJ-42-add-widget` → `feat(widget): add widget`
|
|
106
|
-
|
|
107
|
-
**Body:**
|
|
108
|
-
```
|
|
109
|
-
## Summary
|
|
110
|
-
<bullet points from commit list>
|
|
111
|
-
|
|
112
|
-
## Issue
|
|
113
|
-
Closes <issue-key>
|
|
114
|
-
(omit this section entirely if no issue was found in Phase 0)
|
|
115
|
-
|
|
116
|
-
## Pre-PR gate
|
|
117
|
-
- Build: passed
|
|
118
|
-
- Lint: <clean / N warnings>
|
|
119
|
-
- Code review: <Approve / issues fixed>
|
|
120
|
-
- Tests: <N passed / no tests>
|
|
121
|
-
- Docs: <updated / no changes needed>
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Show the formatted title and body to the user, then immediately proceed to open the PR without waiting for confirmation.
|
|
125
|
-
|
|
126
|
-
## Phase 6 — Open PR
|
|
127
|
-
|
|
128
|
-
**Bitbucket:**
|
|
129
|
-
```
|
|
130
|
-
pncli bitbucket create-pr \
|
|
131
|
-
--title "<title>" \
|
|
132
|
-
--body "<body>" \
|
|
133
|
-
--source <current-branch> \
|
|
134
|
-
--target <target-branch>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**ADO:**
|
|
138
|
-
```
|
|
139
|
-
pncli ado repo create-pr \
|
|
140
|
-
--title "<title>" \
|
|
141
|
-
--body "<body>" \
|
|
142
|
-
--source <current-branch> \
|
|
143
|
-
--target <target-branch>
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
Report the PR URL to the user.
|
|
147
|
-
|
|
148
|
-
## Phase 7 — Post-open watch loop
|
|
149
|
-
|
|
150
|
-
After opening the PR, immediately invoke `/loop 10m` with the following recurring task:
|
|
151
|
-
|
|
152
|
-
> Poll PR status:
|
|
153
|
-
>
|
|
154
|
-
> **Bitbucket:** `pncli bitbucket get-pr --id <id>` — check `state` field.
|
|
155
|
-
> **ADO:** `pncli ado repo get-pr --id <id>` — check `status` field.
|
|
156
|
-
>
|
|
157
|
-
> **If MERGED / completed:** Report "PR merged" and stop the loop.
|
|
158
|
-
>
|
|
159
|
-
> **If CONFLICTING (Bitbucket state=OPEN with conflicts) or ADO merge conflicts indicated:**
|
|
160
|
-
> `git fetch origin <target-branch> && git merge origin/<target-branch>`
|
|
161
|
-
> Fix any conflicts, `git add`, `git commit -m "fix(merge): resolve conflicts"`, push.
|
|
162
|
-
> Report what was resolved.
|
|
163
|
-
>
|
|
164
|
-
> **If reviewer voted CHANGES_REQUESTED / needs-work:**
|
|
165
|
-
> Re-run Phases 2–4 (gate, fix all issues, commit). Push.
|
|
166
|
-
> Report what was fixed.
|
|
167
|
-
>
|
|
168
|
-
> **If OPEN / active, no issues:** Report "PR open, checks running — nothing to do yet."
|
|
169
|
-
>
|
|
170
|
-
> **If DECLINED / abandoned:** Report "PR closed without merging" and stop the loop.
|
|
File without changes
|
|
File without changes
|