guardian-framework 0.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.
- package/LICENSE +21 -0
- package/README.md +463 -0
- package/dist/cli.js +12958 -0
- package/dist/exports.js +12765 -0
- package/package.json +61 -0
- package/templates/languages/go-patterns.md +411 -0
- package/templates/languages/java-patterns.md +545 -0
- package/templates/languages/python-patterns.md +312 -0
- package/templates/languages/rust-patterns.md +232 -0
- package/templates/languages/typescript-patterns.md +313 -0
- package/templates/pi/INDEX.md +437 -0
- package/templates/pi/agent/AGENTS.md +166 -0
- package/templates/pi/agents/architecture-coordinator.md +40 -0
- package/templates/pi/agents/architecture-validator.md +36 -0
- package/templates/pi/agents/bootstrap-implementer.md +37 -0
- package/templates/pi/agents/issue-factory.md +31 -0
- package/templates/pi/agents/operations-validator.md +32 -0
- package/templates/pi/agents/security-validator.md +33 -0
- package/templates/pi/architecture/CHANGELOG.md +78 -0
- package/templates/pi/architecture/decisions/ADR-template.md +76 -0
- package/templates/pi/architecture/diagrams/system-overview.md +159 -0
- package/templates/pi/architecture/modules/module-template.md +152 -0
- package/templates/pi/context/checklists.md +91 -0
- package/templates/pi/context/domain-workflow.md +180 -0
- package/templates/pi/context/output-formats.md +135 -0
- package/templates/pi/context/patterns-base.md +47 -0
- package/templates/pi/context/patterns.md +38 -0
- package/templates/pi/context/project.md +88 -0
- package/templates/pi/domain/exploration.md +93 -0
- package/templates/pi/domain/ubiquitous-language.md +24 -0
- package/templates/pi/extensions/architect-lib/generators.ts +528 -0
- package/templates/pi/extensions/architect-lib/helpers.ts +344 -0
- package/templates/pi/extensions/architect-lib/types.ts +117 -0
- package/templates/pi/extensions/architect.ts +1425 -0
- package/templates/pi/extensions/ask-user-question.ts +579 -0
- package/templates/pi/extensions/bash-guard.ts +556 -0
- package/templates/pi/extensions/config-reload.ts +115 -0
- package/templates/pi/extensions/coordinator.ts +304 -0
- package/templates/pi/extensions/curator.ts +543 -0
- package/templates/pi/extensions/domain-explorer.ts +990 -0
- package/templates/pi/extensions/filechanges.ts +656 -0
- package/templates/pi/extensions/goal-loop.ts +717 -0
- package/templates/pi/extensions/hooks.ts +452 -0
- package/templates/pi/extensions/kanban.ts +547 -0
- package/templates/pi/extensions/pipeline.ts +1246 -0
- package/templates/pi/extensions/plan-mode.ts +209 -0
- package/templates/pi/extensions/project-scaffolder.ts +284 -0
- package/templates/pi/extensions/read-only-mode.ts +192 -0
- package/templates/pi/extensions/redaction.ts +128 -0
- package/templates/pi/extensions/session-persistence.ts +174 -0
- package/templates/pi/extensions/slash-commands.ts +229 -0
- package/templates/pi/extensions/snippets.ts +201 -0
- package/templates/pi/extensions/validation-runner.ts +100 -0
- package/templates/pi/github/agents/architecture-coordinator.agent.md +27 -0
- package/templates/pi/github/agents/architecture-validator.agent.md +20 -0
- package/templates/pi/github/agents/bootstrap-implementer.agent.md +20 -0
- package/templates/pi/github/agents/epic-planner.agent.md +70 -0
- package/templates/pi/github/agents/issue-factory.agent.md +20 -0
- package/templates/pi/github/agents/operations-validator.agent.md +20 -0
- package/templates/pi/github/agents/security-validator.agent.md +20 -0
- package/templates/pi/github/copilot/settings.json +16 -0
- package/templates/pi/github/copilot-instructions.md +155 -0
- package/templates/pi/github/instructions/architecture.instructions.md +71 -0
- package/templates/pi/github/instructions/validation.instructions.md +69 -0
- package/templates/pi/github/workflows/01-planning-workflow.md +75 -0
- package/templates/pi/github/workflows/02-issue-generation-workflow.md +69 -0
- package/templates/pi/github/workflows/03-implementation-workflow.md +80 -0
- package/templates/pi/github/workflows/04-validation-workflow.md +68 -0
- package/templates/pi/preflight_report.json +99 -0
- package/templates/pi/prompts/blueprint-update.md +262 -0
- package/templates/pi/prompts/blueprint-validate.md +218 -0
- package/templates/pi/prompts/bug-fix.md +50 -0
- package/templates/pi/prompts/ci-blueprint.md +131 -0
- package/templates/pi/prompts/context-refresh.md +258 -0
- package/templates/pi/prompts/epic-plan.md +356 -0
- package/templates/pi/prompts/epic-template.md +186 -0
- package/templates/pi/prompts/feature-development.md +131 -0
- package/templates/pi/prompts/git-issues.md +243 -0
- package/templates/pi/prompts/hotfix.md +71 -0
- package/templates/pi/prompts/issue-closeout.md +342 -0
- package/templates/pi/prompts/issue-draft.md +218 -0
- package/templates/pi/prompts/issue-implementation-series.md +173 -0
- package/templates/pi/prompts/issue-merge.md +372 -0
- package/templates/pi/prompts/issue-template-set.md +392 -0
- package/templates/pi/prompts/issue-template.md +207 -0
- package/templates/pi/prompts/pattern-extract.md +269 -0
- package/templates/pi/prompts/plan-to-issues.md +430 -0
- package/templates/pi/prompts/refactoring.md +82 -0
- package/templates/pi/prompts/scope-analyzer.md +254 -0
- package/templates/pi/prompts/sync-check.md +230 -0
- package/templates/pi/scripts/categorize-issues.sh +171 -0
- package/templates/pi/scripts/ci/check_architecture_conformance.sh +748 -0
- package/templates/pi/scripts/ci/check_planning_packet.py +228 -0
- package/templates/pi/scripts/ci/run_hardening_stages.sh +264 -0
- package/templates/pi/scripts/ci/run_preflight.sh +649 -0
- package/templates/pi/scripts/ci/run_stage.sh +193 -0
- package/templates/pi/scripts/ci/stage_docs_policy.sh +82 -0
- package/templates/pi/scripts/ci/stage_integration.sh +3 -0
- package/templates/pi/scripts/ci/stage_lint.sh +130 -0
- package/templates/pi/scripts/ci/stage_migration_verify.sh +3 -0
- package/templates/pi/scripts/ci/stage_package_build.sh +3 -0
- package/templates/pi/scripts/ci/stage_release_readiness.sh +3 -0
- package/templates/pi/scripts/ci/stage_remaining.sh +242 -0
- package/templates/pi/scripts/ci/stage_security.sh +3 -0
- package/templates/pi/scripts/ci/stage_static_analysis.sh +114 -0
- package/templates/pi/scripts/ci/stage_unit.sh +119 -0
- package/templates/pi/scripts/ci/validate_agent_output.py +181 -0
- package/templates/pi/scripts/ci/validate_agent_output.sh +243 -0
- package/templates/pi/scripts/create-feature-branch.sh +136 -0
- package/templates/pi/scripts/create-mr.sh +117 -0
- package/templates/pi/scripts/fetch-issues.sh +131 -0
- package/templates/pi/scripts/generate-architecture.sh +161 -0
- package/templates/pi/scripts/git/close-epic.sh +69 -0
- package/templates/pi/scripts/git/close-issue.sh +35 -0
- package/templates/pi/scripts/git/create-tracking-issue.sh +174 -0
- package/templates/pi/scripts/git/link-issue-to-epic.sh +51 -0
- package/templates/pi/scripts/git/update-tracking-issue.sh +66 -0
- package/templates/pi/scripts/languages/go/validate-architecture.sh +139 -0
- package/templates/pi/scripts/languages/go/validate-canonical.sh +129 -0
- package/templates/pi/scripts/languages/go/validate-ci.sh +132 -0
- package/templates/pi/scripts/languages/go/validate-integration.sh +156 -0
- package/templates/pi/scripts/languages/go/validate-operations.sh +146 -0
- package/templates/pi/scripts/languages/go/validate-security.sh +135 -0
- package/templates/pi/scripts/languages/go/validate-tests.sh +125 -0
- package/templates/pi/scripts/languages/java/validate-annotations.sh +185 -0
- package/templates/pi/scripts/languages/java/validate-architecture.sh +159 -0
- package/templates/pi/scripts/languages/java/validate-canonical.sh +114 -0
- package/templates/pi/scripts/languages/java/validate-ci.sh +269 -0
- package/templates/pi/scripts/languages/java/validate-integration.sh +149 -0
- package/templates/pi/scripts/languages/java/validate-operations.sh +142 -0
- package/templates/pi/scripts/languages/java/validate-security.sh +174 -0
- package/templates/pi/scripts/languages/java/validate-spring-architecture.sh +227 -0
- package/templates/pi/scripts/languages/java/validate-tests.sh +159 -0
- package/templates/pi/scripts/languages/python/validate-architecture.sh +99 -0
- package/templates/pi/scripts/languages/python/validate-canonical.sh +124 -0
- package/templates/pi/scripts/languages/python/validate-ci.sh +130 -0
- package/templates/pi/scripts/languages/python/validate-integration.sh +119 -0
- package/templates/pi/scripts/languages/python/validate-operations.sh +107 -0
- package/templates/pi/scripts/languages/python/validate-security.sh +68 -0
- package/templates/pi/scripts/languages/python/validate-tests.sh +102 -0
- package/templates/pi/scripts/languages/rust/validate-architecture.sh +188 -0
- package/templates/pi/scripts/languages/rust/validate-canonical.sh +146 -0
- package/templates/pi/scripts/languages/rust/validate-ci.sh +147 -0
- package/templates/pi/scripts/languages/rust/validate-integration.sh +149 -0
- package/templates/pi/scripts/languages/rust/validate-operations.sh +154 -0
- package/templates/pi/scripts/languages/rust/validate-security.sh +153 -0
- package/templates/pi/scripts/languages/rust/validate-tests.sh +150 -0
- package/templates/pi/scripts/languages/typescript/validate-architecture.sh +157 -0
- package/templates/pi/scripts/languages/typescript/validate-canonical.sh +135 -0
- package/templates/pi/scripts/languages/typescript/validate-ci.sh +244 -0
- package/templates/pi/scripts/languages/typescript/validate-integration.sh +166 -0
- package/templates/pi/scripts/languages/typescript/validate-operations.sh +162 -0
- package/templates/pi/scripts/languages/typescript/validate-security.sh +169 -0
- package/templates/pi/scripts/languages/typescript/validate-tests.sh +158 -0
- package/templates/pi/scripts/merge-mr.sh +95 -0
- package/templates/pi/scripts/mr-validation.sh +228 -0
- package/templates/pi/scripts/validate-architecture-readiness.sh +153 -0
- package/templates/pi/scripts/validate-architecture.sh +22 -0
- package/templates/pi/scripts/validate-canonical.sh +22 -0
- package/templates/pi/scripts/validate-ci.sh +37 -0
- package/templates/pi/scripts/validate-integration.sh +22 -0
- package/templates/pi/scripts/validate-operations.sh +22 -0
- package/templates/pi/scripts/validate-security.sh +22 -0
- package/templates/pi/scripts/validate-tests.sh +22 -0
- package/templates/pi/scripts/validate-ubiquitous-language.sh +291 -0
- package/templates/pi/scripts/validation-cache.sh +139 -0
- package/templates/pi/skills/agents/architecture-coordinator.md +178 -0
- package/templates/pi/skills/agents/architecture-generator.md +79 -0
- package/templates/pi/skills/agents/architecture-validator.md +74 -0
- package/templates/pi/skills/agents/ci-mr-validator.md +46 -0
- package/templates/pi/skills/agents/code-developer.md +76 -0
- package/templates/pi/skills/agents/commit.md +46 -0
- package/templates/pi/skills/agents/curator.md +71 -0
- package/templates/pi/skills/agents/debug.md +59 -0
- package/templates/pi/skills/agents/documentation-maintainer.md +36 -0
- package/templates/pi/skills/agents/goal-loop.md +125 -0
- package/templates/pi/skills/agents/hooks.md +122 -0
- package/templates/pi/skills/agents/integration-validator.md +35 -0
- package/templates/pi/skills/agents/issue-creator.md +75 -0
- package/templates/pi/skills/agents/issue-factory.md +143 -0
- package/templates/pi/skills/agents/kanban.md +85 -0
- package/templates/pi/skills/agents/land.md +59 -0
- package/templates/pi/skills/agents/operations-validator.md +43 -0
- package/templates/pi/skills/agents/pipeline.md +113 -0
- package/templates/pi/skills/agents/plan-mode.md +77 -0
- package/templates/pi/skills/agents/pull.md +40 -0
- package/templates/pi/skills/agents/push.md +41 -0
- package/templates/pi/skills/agents/security-validator.md +85 -0
- package/templates/pi/skills/agents/session-persistence.md +119 -0
- package/templates/pi/skills/agents/slash-commands.md +117 -0
- package/templates/pi/skills/agents/snippets.md +99 -0
- package/templates/pi/skills/agents/subagent-registry.md +78 -0
- package/templates/pi/skills/agents/test-validator.md +42 -0
- package/templates/pi/skills/validators/architecture-validator.md +43 -0
- package/templates/pi/skills/validators/ci-validator.md +27 -0
- package/templates/pi/skills/validators/context-compaction.md +73 -0
- package/templates/pi/skills/validators/integration-validator.md +38 -0
- package/templates/pi/skills/validators/model-registry.md +96 -0
- package/templates/pi/skills/validators/operations-validator.md +34 -0
- package/templates/pi/skills/validators/security-guards.md +72 -0
- package/templates/pi/skills/validators/security-validator.md +41 -0
- package/templates/pi/skills/validators/system-prompt-tiers.md +69 -0
- package/templates/pi/skills/validators/test-validator.md +33 -0
- package/templates/pi/types.ts +62 -0
- package/templates/pi/validators/README.md +93 -0
- package/templates/pi/validators/default.toml +209 -0
- package/templates/pi/validators/spring.toml +142 -0
- package/templates/pi/workpad.md +53 -0
- package/templates/project/java/Dockerfile +14 -0
- package/templates/project/java/README.md +40 -0
- package/templates/project/java/pom.xml +132 -0
- package/templates/project/typescript/Dockerfile +15 -0
- package/templates/project/typescript/README.md +29 -0
- package/templates/project/typescript/package.json +23 -0
- package/templates/project/typescript/tsconfig.json +21 -0
- package/templates/workflow.md +123 -0
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
# Issue Merge Workflow
|
|
2
|
+
|
|
3
|
+
**Purpose:** Merge the MR after CI pipeline passes, close the issue, update the tracking issue, and close the epic if it's the last issue.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Compliance MR created (from `/issue-closeout`)
|
|
10
|
+
- CI pipeline passed (green)
|
|
11
|
+
- MR approved (if required)
|
|
12
|
+
- Issue number and MR number known
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Workflow Steps
|
|
17
|
+
|
|
18
|
+
### 1. Verify CI Pipeline Status
|
|
19
|
+
|
|
20
|
+
Check that all CI checks have passed:
|
|
21
|
+
|
|
22
|
+
**For GitHub:**
|
|
23
|
+
```bash
|
|
24
|
+
gh pr checks [MR_NUMBER]
|
|
25
|
+
|
|
26
|
+
# Expected output:
|
|
27
|
+
# ✅ ci/build: passed
|
|
28
|
+
# ✅ ci/test: passed
|
|
29
|
+
# ✅ ci/lint: passed
|
|
30
|
+
# ✅ ci/security: passed
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**For GitLab:**
|
|
34
|
+
```bash
|
|
35
|
+
glab mr view [MR_NUMBER]
|
|
36
|
+
|
|
37
|
+
# Check pipeline status
|
|
38
|
+
glab api projects/:id/merge_requests/[mr_iid] --jq '.head_pipeline.status'
|
|
39
|
+
# Expected: "success"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 1b. PR Feedback Sweep (Required Before Merge)
|
|
43
|
+
|
|
44
|
+
Before merging, ensure ALL review comments are resolved:
|
|
45
|
+
|
|
46
|
+
1. **Gather feedback from all channels:**
|
|
47
|
+
```bash
|
|
48
|
+
# Top-level PR comments
|
|
49
|
+
gh pr view --comments
|
|
50
|
+
# Inline review comments
|
|
51
|
+
gh api repos/<owner>/<repo>/pulls/<number>/comments
|
|
52
|
+
# Review summaries
|
|
53
|
+
gh pr view --json reviews
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
2. **Every actionable reviewer comment (human or bot) is blocking until:**
|
|
57
|
+
- Code/test/docs updated to address it, OR
|
|
58
|
+
- Explicit, justified pushback reply posted on that thread
|
|
59
|
+
|
|
60
|
+
3. **Re-run validation after feedback-driven changes**
|
|
61
|
+
|
|
62
|
+
4. **Repeat until no outstanding actionable comments remain**
|
|
63
|
+
|
|
64
|
+
5. **Confirm PR checks are green after latest changes**
|
|
65
|
+
|
|
66
|
+
### 2. Merge the MR
|
|
67
|
+
|
|
68
|
+
**For GitHub (gh):**
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Merge with squash (recommended for clean history)
|
|
72
|
+
gh pr merge [MR_NUMBER] \
|
|
73
|
+
--squash \
|
|
74
|
+
--delete-branch \
|
|
75
|
+
--subject "[Issue #X] Issue Title" \
|
|
76
|
+
--body "Closes #[ISSUE_NUMBER]"
|
|
77
|
+
|
|
78
|
+
# Or merge with merge commit
|
|
79
|
+
gh pr merge [MR_NUMBER] \
|
|
80
|
+
--merge \
|
|
81
|
+
--delete-branch
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**For GitLab (glab):**
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Merge with squash
|
|
88
|
+
glab mr merge [MR_NUMBER] \
|
|
89
|
+
--squash \
|
|
90
|
+
--squash-message "[Issue #X] Issue Title" \
|
|
91
|
+
--remove-source-branch
|
|
92
|
+
|
|
93
|
+
# Or merge with merge commit
|
|
94
|
+
glab mr merge [MR_NUMBER] \
|
|
95
|
+
--remove-source-branch
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 3. Verify Issue Auto-Close
|
|
99
|
+
|
|
100
|
+
The issue should auto-close due to "Closes #X" in MR body:
|
|
101
|
+
|
|
102
|
+
**For GitHub:**
|
|
103
|
+
```bash
|
|
104
|
+
gh issue view [ISSUE_NUMBER] --json state
|
|
105
|
+
# Expected: "closed"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**For GitLab:**
|
|
109
|
+
```bash
|
|
110
|
+
glab issue view [ISSUE_NUMBER]
|
|
111
|
+
# Expected: Status: closed
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
If not auto-closed, manually close:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
{{REPOTOOL}} issue close [ISSUE_NUMBER]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 4. Add Completion Comment to Issue
|
|
121
|
+
|
|
122
|
+
Add evidence comment to the closed issue:
|
|
123
|
+
|
|
124
|
+
**Comment Template:**
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
## Issue Completed ✅
|
|
128
|
+
|
|
129
|
+
### Merge Details
|
|
130
|
+
- MR: #[MR_NUMBER]
|
|
131
|
+
- Merged by: [user]
|
|
132
|
+
- Merged at: [timestamp]
|
|
133
|
+
- Merge method: [squash/merge]
|
|
134
|
+
|
|
135
|
+
### Validator Evidence
|
|
136
|
+
All validators passed before merge:
|
|
137
|
+
- ✅ CI: [link to pipeline]
|
|
138
|
+
- ✅ Tests: [X] tests passing, [Y]% coverage
|
|
139
|
+
- ✅ Security: No vulnerabilities
|
|
140
|
+
- ✅ Operations: Production requirements met
|
|
141
|
+
|
|
142
|
+
### Acceptance Criteria Met
|
|
143
|
+
All acceptance criteria verified:
|
|
144
|
+
- [x] [Criterion 1]
|
|
145
|
+
- [x] [Criterion 2]
|
|
146
|
+
- [x] [Criterion 3]
|
|
147
|
+
|
|
148
|
+
### Changes Deployed
|
|
149
|
+
- Commit: [commit_sha]
|
|
150
|
+
- Branch merged: [branch_name] → main
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
Issue completed successfully with full compliance verification.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**For GitHub:**
|
|
157
|
+
```bash
|
|
158
|
+
gh issue comment [ISSUE_NUMBER] --body "[COMMENT_BODY]"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**For GitLab:**
|
|
162
|
+
```bash
|
|
163
|
+
glab issue note [ISSUE_NUMBER] --message "[COMMENT_BODY]"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 5. Update Tracking Issue
|
|
167
|
+
|
|
168
|
+
Update the tracking issue body with progress and comment:
|
|
169
|
+
|
|
170
|
+
**Get Tracking Issue:**
|
|
171
|
+
```bash
|
|
172
|
+
{{REPOTOOL}} issue list --label tracking --search "[EPIC_NAME]"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Update Tracking Issue Body:**
|
|
176
|
+
|
|
177
|
+
Update the main body with progress:
|
|
178
|
+
|
|
179
|
+
```markdown
|
|
180
|
+
## Epic Progress Tracking
|
|
181
|
+
|
|
182
|
+
### Milestone/Epic: #[epic_number]
|
|
183
|
+
|
|
184
|
+
### Issues Checklist
|
|
185
|
+
- [x] #[issue_1] - [title] - ✅ Completed (MR #[mr_number])
|
|
186
|
+
- [ ] #[issue_2] - [title] - Status: [open/in-progress]
|
|
187
|
+
- [ ] #[issue_3] - [title] - Status: [open/in-progress]
|
|
188
|
+
|
|
189
|
+
### Progress
|
|
190
|
+
- Total Issues: [N]
|
|
191
|
+
- Completed: 1/[N] (updated percentage)
|
|
192
|
+
- In Progress: [X]/[N]
|
|
193
|
+
|
|
194
|
+
### Dependencies Completed
|
|
195
|
+
- ✅ [Dependency 1] - Issue #[number] merged
|
|
196
|
+
|
|
197
|
+
### Timeline
|
|
198
|
+
- Start: [date]
|
|
199
|
+
- Current: [date]
|
|
200
|
+
- Target: [date]
|
|
201
|
+
- Last Update: [timestamp]
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
Updated after #[ISSUE_NUMBER] merge
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**For GitHub:**
|
|
208
|
+
```bash
|
|
209
|
+
# GitHub doesn't support editing issue body via CLI directly
|
|
210
|
+
# Use API
|
|
211
|
+
gh api repos/{{REPOSITORY}}/issues/[TRACKING_NUMBER] \
|
|
212
|
+
-X PATCH \
|
|
213
|
+
-f body="[UPDATED_BODY]"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**For GitLab:**
|
|
217
|
+
```bash
|
|
218
|
+
glab api projects/:id/issues/[tracking_iid] \
|
|
219
|
+
-X PUT \
|
|
220
|
+
-f description="[UPDATED_BODY]"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Add Progress Comment:**
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
{{REPOTOOL}} issue comment [TRACKING_NUMBER] --body "
|
|
227
|
+
## Issue #[ISSUE_NUMBER] Completed ✅
|
|
228
|
+
|
|
229
|
+
- Title: [Issue title]
|
|
230
|
+
- MR: #[MR_NUMBER]
|
|
231
|
+
- Merged: [timestamp]
|
|
232
|
+
- Validators: All passed
|
|
233
|
+
|
|
234
|
+
Progress: 1/[N] issues completed
|
|
235
|
+
"
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### 6. Check If Epic Complete
|
|
239
|
+
|
|
240
|
+
Check if this was the last issue in the epic:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
{{REPOTOOL}} issue list --milestone "[EPIC_NAME]" --state open
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**If no remaining open issues:**
|
|
247
|
+
|
|
248
|
+
#### Close the Milestone/Epic
|
|
249
|
+
|
|
250
|
+
**For GitHub:**
|
|
251
|
+
```bash
|
|
252
|
+
gh api repos/{{REPOSITORY}}/milestones/[MILESTONE_NUMBER] \
|
|
253
|
+
-X PATCH \
|
|
254
|
+
-f state="closed"
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**For GitLab:**
|
|
258
|
+
```bash
|
|
259
|
+
glab api projects/:id/milestones/[milestone_id] \
|
|
260
|
+
-X PUT \
|
|
261
|
+
-f state_event="close"
|
|
262
|
+
|
|
263
|
+
# For epics (Premium/Ultimate)
|
|
264
|
+
glab api projects/:id/epics/[epic_id] \
|
|
265
|
+
-X PUT \
|
|
266
|
+
-f state_event="close"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
#### Update Tracking Issue for Epic Completion
|
|
270
|
+
|
|
271
|
+
```markdown
|
|
272
|
+
## Epic Completed ✅
|
|
273
|
+
|
|
274
|
+
### Summary
|
|
275
|
+
All [N] issues completed successfully.
|
|
276
|
+
|
|
277
|
+
### Issues Completed
|
|
278
|
+
| # | Title | MR | Merged |
|
|
279
|
+
|---|-------|----|----|
|
|
280
|
+
| #[n1] | [title] | #[mr1] | [date] |
|
|
281
|
+
| #[n2] | [title] | #[mr2] | [date] |
|
|
282
|
+
| #[n3] | [title] | #[mr3] | [date] |
|
|
283
|
+
|
|
284
|
+
### Epic Statistics
|
|
285
|
+
- Total Issues: [N]
|
|
286
|
+
- Completed: [N]/[N] (100%)
|
|
287
|
+
- Total MRs: [N]
|
|
288
|
+
- Duration: [start] to [end]
|
|
289
|
+
|
|
290
|
+
### Validators Summary
|
|
291
|
+
All issues passed required validators before merge.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
Epic completed successfully. Tracking issue closed.
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
#### Close Tracking Issue
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
{{REPOTOOL}} issue close [TRACKING_NUMBER]
|
|
301
|
+
{{REPOTOOL}} issue comment [TRACKING_NUMBER] --body "
|
|
302
|
+
## Epic Complete ✅
|
|
303
|
+
|
|
304
|
+
All [N] issues merged successfully.
|
|
305
|
+
Epic [EPIC_NAME] closed.
|
|
306
|
+
|
|
307
|
+
Duration: [X days]
|
|
308
|
+
Success rate: 100%
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
Epic tracking complete.
|
|
312
|
+
"
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Output Summary
|
|
318
|
+
|
|
319
|
+
After completion, provide:
|
|
320
|
+
|
|
321
|
+
```markdown
|
|
322
|
+
## Issue Merge Complete
|
|
323
|
+
|
|
324
|
+
### Issue #[ISSUE_NUMBER]
|
|
325
|
+
- Status: ✅ Closed
|
|
326
|
+
- MR #[MR_NUMBER]: Merged
|
|
327
|
+
- Merge Method: [squash/merge]
|
|
328
|
+
|
|
329
|
+
### Tracking Issue #[TRACKING_NUMBER]
|
|
330
|
+
- Status: Updated
|
|
331
|
+
- Progress: [X]/[N] completed
|
|
332
|
+
|
|
333
|
+
### Epic Status
|
|
334
|
+
- Remaining Issues: [N-X]
|
|
335
|
+
- Epic Status: [open/closed]
|
|
336
|
+
|
|
337
|
+
### Next Action
|
|
338
|
+
- [If remaining issues]: Proceed to next issue implementation
|
|
339
|
+
- [If epic complete]: Ready for next `/epic-plan`
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Error Handling
|
|
345
|
+
|
|
346
|
+
| Error | Solution |
|
|
347
|
+
|-------|----------|
|
|
348
|
+
| CI pipeline failed | Fix issues, re-push, wait for green |
|
|
349
|
+
| MR not approved | Request review, wait for approval |
|
|
350
|
+
| Merge conflict | Rebase onto main, resolve conflicts |
|
|
351
|
+
| Issue not auto-closed | Manually close with comment |
|
|
352
|
+
| Tracking update failed | Retry with correct issue number |
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Acceptance Criteria
|
|
357
|
+
|
|
358
|
+
- [ ] CI pipeline verified green
|
|
359
|
+
- [ ] MR merged successfully
|
|
360
|
+
- [ ] Branch deleted
|
|
361
|
+
- [ ] Issue closed with evidence comment
|
|
362
|
+
- [ ] Tracking issue body updated
|
|
363
|
+
- [ ] Tracking issue progress comment added
|
|
364
|
+
- [ ] Epic/milestone closed if last issue
|
|
365
|
+
- [ ] Tracking issue closed if epic complete
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Next Workflow
|
|
370
|
+
|
|
371
|
+
- If more issues in epic: Implement next issue, then `/issue-closeout`
|
|
372
|
+
- If epic complete: Run `/epic-plan` for next epic
|