@deimoscloud/coreai 0.1.18 → 0.1.20
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/README.md +68 -63
- package/agents/_templates/ic-engineer.md +0 -8
- package/agents/android-engineer.md +0 -3
- package/agents/backend-engineer.md +0 -3
- package/agents/database-administrator.md +0 -3
- package/agents/devops-engineer.md +0 -3
- package/agents/engineering-manager.md +0 -3
- package/agents/frontend-engineer.md +0 -3
- package/agents/product-manager.md +0 -3
- package/agents/react-engineer.md +0 -3
- package/agents/react-native-engineer.md +0 -3
- package/agents/software-security-engineer.md +0 -3
- package/agents/software-solutions-architect.md +0 -3
- package/agents/sre-huawei-cloud-architect.md +0 -3
- package/agents/sre-iac-specialist.md +0 -3
- package/agents/sre-kubernetes-specialist.md +0 -3
- package/agents/sre-network-specialist.md +0 -3
- package/agents/wearos-engineer.md +0 -3
- package/dist/cli/index.js +111 -62
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +4 -12
- package/dist/index.js +8 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/schemas/coreai.config.schema.json +3 -27
- package/skills/core/sprint-status/SKILL.md +65 -0
- package/skills/docs/docs-update/SKILL.md +201 -0
- package/skills/git/git-commit/SKILL.md +145 -0
- package/skills/git/pr-create/SKILL.md +195 -0
- package/skills/git/worktree-cleanup/SKILL.md +168 -0
- package/skills/git/worktree-setup/SKILL.md +112 -0
- package/skills/jira/jira-create/SKILL.md +201 -0
- package/skills/jira/jira-transition/SKILL.md +185 -0
package/package.json
CHANGED
|
@@ -20,11 +20,9 @@
|
|
|
20
20
|
"type": "string",
|
|
21
21
|
"description": "Project name"
|
|
22
22
|
},
|
|
23
|
-
"
|
|
23
|
+
"description": {
|
|
24
24
|
"type": "string",
|
|
25
|
-
"description": "
|
|
26
|
-
"enum": ["software", "infrastructure", "data", "mobile"],
|
|
27
|
-
"default": "software"
|
|
25
|
+
"description": "Brief description of the project"
|
|
28
26
|
}
|
|
29
27
|
},
|
|
30
28
|
"additionalProperties": false
|
|
@@ -39,7 +37,7 @@
|
|
|
39
37
|
"items": {
|
|
40
38
|
"type": "string"
|
|
41
39
|
},
|
|
42
|
-
"default": ["
|
|
40
|
+
"default": ["engineering-manager"]
|
|
43
41
|
}
|
|
44
42
|
},
|
|
45
43
|
"additionalProperties": false
|
|
@@ -70,28 +68,6 @@
|
|
|
70
68
|
"$ref": "#/$defs/qualityGate"
|
|
71
69
|
}
|
|
72
70
|
},
|
|
73
|
-
"tech_stack": {
|
|
74
|
-
"type": "object",
|
|
75
|
-
"description": "Technology stack information",
|
|
76
|
-
"properties": {
|
|
77
|
-
"primary_language": {
|
|
78
|
-
"type": "string",
|
|
79
|
-
"description": "Primary programming language"
|
|
80
|
-
},
|
|
81
|
-
"frameworks": {
|
|
82
|
-
"type": "array",
|
|
83
|
-
"description": "Frameworks and libraries used",
|
|
84
|
-
"items": {
|
|
85
|
-
"type": "string"
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
"cloud": {
|
|
89
|
-
"type": "string",
|
|
90
|
-
"description": "Cloud provider (if applicable)"
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
"additionalProperties": true
|
|
94
|
-
},
|
|
95
71
|
"mcp": {
|
|
96
72
|
"type": "object",
|
|
97
73
|
"description": "MCP (Model Context Protocol) settings",
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review current sprint progress and status (EM only)
|
|
3
|
+
argument-hint: [optional: sprint number or "current"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sprint Status Review
|
|
7
|
+
|
|
8
|
+
You are the Engineering Manager. Review the current sprint status and provide a summary.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
1. **Check Jira for current sprint:**
|
|
13
|
+
```
|
|
14
|
+
Search: project = {{JIRA_PROJECT}} AND sprint in openSprints()
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
2. **Gather ticket status:**
|
|
18
|
+
- Count tickets by status (Backlog, In Progress, In Review, Done)
|
|
19
|
+
- Identify any blocked tickets
|
|
20
|
+
- Check for overdue items
|
|
21
|
+
|
|
22
|
+
3. **Check agent inboxes for pending work:**
|
|
23
|
+
- `/KnowledgeLibrary/*/inbox/` - any unprocessed tasks?
|
|
24
|
+
- Are there completion summaries in your inbox you haven't processed?
|
|
25
|
+
|
|
26
|
+
4. **Review open PRs:**
|
|
27
|
+
```
|
|
28
|
+
gh pr list --state open
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
5. **Provide summary report:**
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
## Sprint Status Report
|
|
35
|
+
**Date:** [today]
|
|
36
|
+
**Sprint:** [sprint name/number]
|
|
37
|
+
|
|
38
|
+
### Ticket Summary
|
|
39
|
+
| Status | Count | Tickets |
|
|
40
|
+
|--------|-------|---------|
|
|
41
|
+
| Done | X | {{JIRA_PROJECT}}-XX, {{JIRA_PROJECT}}-YY |
|
|
42
|
+
| In Review | X | {{JIRA_PROJECT}}-XX |
|
|
43
|
+
| In Progress | X | {{JIRA_PROJECT}}-XX |
|
|
44
|
+
| Blocked | X | {{JIRA_PROJECT}}-XX (reason) |
|
|
45
|
+
| Backlog | X | {{JIRA_PROJECT}}-XX |
|
|
46
|
+
|
|
47
|
+
### Open PRs
|
|
48
|
+
- PR #XX - [title] - [status: awaiting review/changes requested/approved]
|
|
49
|
+
|
|
50
|
+
### Pending Agent Work
|
|
51
|
+
- [agent]: [pending task or "inbox clear"]
|
|
52
|
+
|
|
53
|
+
### Blockers & Risks
|
|
54
|
+
- [Any blockers or risks to sprint completion]
|
|
55
|
+
|
|
56
|
+
### Recommended Actions
|
|
57
|
+
1. [Action item]
|
|
58
|
+
2. [Action item]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Additional Context
|
|
62
|
+
|
|
63
|
+
$ARGUMENTS
|
|
64
|
+
|
|
65
|
+
Now review the sprint status.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when updating documentation, adding to Confluence, documenting changes, updating local docs, or keeping documentation in sync. Handles both Confluence pages and local /docs files.
|
|
3
|
+
argument-hint: <what to document> [where]
|
|
4
|
+
requires: [documentation]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Documentation Update
|
|
8
|
+
|
|
9
|
+
You are documenting: **$ARGUMENTS**
|
|
10
|
+
|
|
11
|
+
## Documentation Locations
|
|
12
|
+
|
|
13
|
+
| Location | Content Type | When to Update |
|
|
14
|
+
|----------|--------------|----------------|
|
|
15
|
+
| **Confluence** | Architecture, PRD, standards, guides | Major decisions, feature specs, process changes |
|
|
16
|
+
| **Local /docs** | Technical workflows, setup guides | Development process, CI/CD, environment setup |
|
|
17
|
+
| **Code comments** | Implementation details | Complex logic, non-obvious code |
|
|
18
|
+
| **README files** | Module overviews | New modules, significant changes |
|
|
19
|
+
|
|
20
|
+
## Confluence Pages (Primary)
|
|
21
|
+
|
|
22
|
+
### Update via Atlassian MCP
|
|
23
|
+
|
|
24
|
+
#### Read Current Page
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
mcp__atlassian__getConfluencePage
|
|
28
|
+
Page ID: <page-id>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### Update Page
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
mcp__atlassian__updateConfluencePage
|
|
35
|
+
Page ID: <page-id>
|
|
36
|
+
Title: <page title>
|
|
37
|
+
Content: <updated content in Confluence storage format>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### Create New Page
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
mcp__atlassian__createConfluencePage
|
|
44
|
+
Space Key: {{CONFLUENCE_SPACE}}
|
|
45
|
+
Title: <page title>
|
|
46
|
+
Content: <content in Confluence storage format>
|
|
47
|
+
Parent Page ID: <parent-id> (optional)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Confluence Content Format
|
|
51
|
+
|
|
52
|
+
Confluence uses storage format (HTML-like). Common patterns:
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<h2>Section Title</h2>
|
|
56
|
+
<p>Paragraph text.</p>
|
|
57
|
+
|
|
58
|
+
<ul>
|
|
59
|
+
<li>Bullet point 1</li>
|
|
60
|
+
<li>Bullet point 2</li>
|
|
61
|
+
</ul>
|
|
62
|
+
|
|
63
|
+
<ac:structured-macro ac:name="code">
|
|
64
|
+
<ac:parameter ac:name="language">kotlin</ac:parameter>
|
|
65
|
+
<ac:plain-text-body><![CDATA[
|
|
66
|
+
// code here
|
|
67
|
+
]]></ac:plain-text-body>
|
|
68
|
+
</ac:structured-macro>
|
|
69
|
+
|
|
70
|
+
<ac:structured-macro ac:name="info">
|
|
71
|
+
<ac:rich-text-body>
|
|
72
|
+
<p>Info box content</p>
|
|
73
|
+
</ac:rich-text-body>
|
|
74
|
+
</ac:structured-macro>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Local Documentation (/docs)
|
|
78
|
+
|
|
79
|
+
### Update Local Docs
|
|
80
|
+
|
|
81
|
+
Use the Edit tool to update existing documentation:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Edit file: {{PROJECT_ROOT}}/docs/[filename].md
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Documentation Template
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
# [Title]
|
|
91
|
+
|
|
92
|
+
**Last Updated:** [YYYY-MM-DD]
|
|
93
|
+
**Author:** [agent-name]
|
|
94
|
+
|
|
95
|
+
## Overview
|
|
96
|
+
|
|
97
|
+
[Brief description of what this document covers]
|
|
98
|
+
|
|
99
|
+
## [Main Section]
|
|
100
|
+
|
|
101
|
+
[Content]
|
|
102
|
+
|
|
103
|
+
### [Subsection]
|
|
104
|
+
|
|
105
|
+
[Content]
|
|
106
|
+
|
|
107
|
+
## Related Documentation
|
|
108
|
+
|
|
109
|
+
- [Link to related doc 1]
|
|
110
|
+
- [Link to related doc 2]
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
**Questions?** File a Jira ticket with component "Documentation".
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Keep Documentation in Sync
|
|
118
|
+
|
|
119
|
+
When updating documentation, ensure both locations are updated:
|
|
120
|
+
|
|
121
|
+
### Architecture Changes
|
|
122
|
+
|
|
123
|
+
1. Update Confluence Architecture page (primary)
|
|
124
|
+
2. Update `/KnowledgeLibrary/architecture.txt` (local cache)
|
|
125
|
+
|
|
126
|
+
### Process Changes
|
|
127
|
+
|
|
128
|
+
1. Update Confluence Development page (primary)
|
|
129
|
+
2. Update `/docs/DEVELOPMENT_WORKFLOW.md` (local reference)
|
|
130
|
+
|
|
131
|
+
### PRD Changes
|
|
132
|
+
|
|
133
|
+
1. Update Confluence Product page (primary)
|
|
134
|
+
2. Update `/KnowledgeLibrary/prd.txt` (local cache)
|
|
135
|
+
|
|
136
|
+
## What to Document
|
|
137
|
+
|
|
138
|
+
### Always Document
|
|
139
|
+
|
|
140
|
+
- Architecture decisions and rationale
|
|
141
|
+
- New modules or significant refactors
|
|
142
|
+
- API changes or new endpoints
|
|
143
|
+
- Configuration changes
|
|
144
|
+
- Process changes
|
|
145
|
+
- Breaking changes
|
|
146
|
+
|
|
147
|
+
### Document When Significant
|
|
148
|
+
|
|
149
|
+
- Bug fixes with non-obvious solutions
|
|
150
|
+
- Performance optimizations
|
|
151
|
+
- Security considerations
|
|
152
|
+
- Integration details
|
|
153
|
+
|
|
154
|
+
### Skip Documentation For
|
|
155
|
+
|
|
156
|
+
- Minor bug fixes
|
|
157
|
+
- Code formatting changes
|
|
158
|
+
- Dependency version bumps (unless breaking)
|
|
159
|
+
- Internal refactors with no API changes
|
|
160
|
+
|
|
161
|
+
## Documentation Checklist
|
|
162
|
+
|
|
163
|
+
Before completing documentation update:
|
|
164
|
+
|
|
165
|
+
- [ ] Content is accurate and up-to-date
|
|
166
|
+
- [ ] Examples are working and tested
|
|
167
|
+
- [ ] Links are valid
|
|
168
|
+
- [ ] Code snippets are correct
|
|
169
|
+
- [ ] Related docs are cross-referenced
|
|
170
|
+
- [ ] Both Confluence and local docs updated (if applicable)
|
|
171
|
+
|
|
172
|
+
## Error Handling
|
|
173
|
+
|
|
174
|
+
**If Confluence MCP is unavailable:**
|
|
175
|
+
1. Update local documentation first
|
|
176
|
+
2. Note in completion report: "Confluence update pending - please sync manually"
|
|
177
|
+
3. Create a task to sync Confluence later
|
|
178
|
+
|
|
179
|
+
**If page doesn't exist:**
|
|
180
|
+
1. Create new page with `mcp__atlassian__createConfluencePage`
|
|
181
|
+
2. Or create local doc and note Confluence page needs creation
|
|
182
|
+
|
|
183
|
+
## Completion
|
|
184
|
+
|
|
185
|
+
After documentation update, report:
|
|
186
|
+
```
|
|
187
|
+
Documentation Updated
|
|
188
|
+
|
|
189
|
+
Updated:
|
|
190
|
+
- [Confluence page name] (URL)
|
|
191
|
+
- [Local file path]
|
|
192
|
+
|
|
193
|
+
Changes:
|
|
194
|
+
- [Summary of what was documented]
|
|
195
|
+
|
|
196
|
+
Sync Status:
|
|
197
|
+
- Confluence: [Updated/Pending]
|
|
198
|
+
- Local docs: [Updated/N/A]
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Now proceed with the documentation update.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when committing code changes, pushing to remote, or saving work. This is a GATED commit that enforces quality checks - all configured checks must pass before the commit proceeds.
|
|
3
|
+
argument-hint: [commit message or ticket reference]
|
|
4
|
+
requires: [git]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Gated Git Commit
|
|
8
|
+
|
|
9
|
+
You are committing changes for: **$ARGUMENTS**
|
|
10
|
+
|
|
11
|
+
## CRITICAL: Quality Gate
|
|
12
|
+
|
|
13
|
+
**NO COMMIT will proceed until ALL checks pass.** This is non-negotiable.
|
|
14
|
+
|
|
15
|
+
## Pre-Commit Checks (MANDATORY)
|
|
16
|
+
|
|
17
|
+
Run these checks IN ORDER. If ANY fail, STOP and fix before proceeding.
|
|
18
|
+
|
|
19
|
+
### 1. Code Formatting
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
{{LINT_CMD}}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**If fails:**
|
|
26
|
+
- Run the format/fix command if available
|
|
27
|
+
- Review changes
|
|
28
|
+
- Re-run the check
|
|
29
|
+
|
|
30
|
+
### 2. Static Analysis
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
{{STATIC_ANALYSIS_CMD}}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**If fails:**
|
|
37
|
+
- Review the report
|
|
38
|
+
- Fix code smells and issues
|
|
39
|
+
- Re-run the check
|
|
40
|
+
|
|
41
|
+
### 3. Unit Tests
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
{{TEST_CMD}}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**If fails:**
|
|
48
|
+
- Review test failures
|
|
49
|
+
- Fix failing tests or update tests for new behavior
|
|
50
|
+
- Re-run tests
|
|
51
|
+
|
|
52
|
+
### 4. Build Verification
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
{{BUILD_CMD}}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**If fails:**
|
|
59
|
+
- Fix compilation errors
|
|
60
|
+
- Re-run build
|
|
61
|
+
|
|
62
|
+
## All Checks Passed?
|
|
63
|
+
|
|
64
|
+
Only proceed to commit if you see **BUILD SUCCESSFUL** (or equivalent) for ALL checks above.
|
|
65
|
+
|
|
66
|
+
## Commit Process
|
|
67
|
+
|
|
68
|
+
### 1. Stage Changes
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
git add -A
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Or stage specific files:
|
|
75
|
+
```bash
|
|
76
|
+
git add [specific files]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 2. Commit with Proper Format
|
|
80
|
+
|
|
81
|
+
**Commit message format:**
|
|
82
|
+
```
|
|
83
|
+
<type>(<scope>): <description> [{{JIRA_PROJECT}}-XX]
|
|
84
|
+
|
|
85
|
+
[optional body with details]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Types:** `feat`, `fix`, `refactor`, `test`, `docs`, `chore`, `style`, `perf`
|
|
89
|
+
|
|
90
|
+
**Examples:**
|
|
91
|
+
```bash
|
|
92
|
+
git commit -m "feat(core): add new feature [{{JIRA_PROJECT}}-123]"
|
|
93
|
+
git commit -m "fix(sync): resolve connection timeout [{{JIRA_PROJECT}}-456]"
|
|
94
|
+
git commit -m "test(core): add unit tests for filtering [{{JIRA_PROJECT}}-789]"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 3. Push to Remote
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
git push -u origin $(git branch --show-current)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Commit Checklist
|
|
104
|
+
|
|
105
|
+
Before committing, verify:
|
|
106
|
+
- [ ] All quality checks passed
|
|
107
|
+
- [ ] Commit message includes ticket number [{{JIRA_PROJECT}}-XX]
|
|
108
|
+
- [ ] Commit message follows type(scope): description format
|
|
109
|
+
- [ ] No debug code or commented-out blocks
|
|
110
|
+
- [ ] No secrets or API keys in code
|
|
111
|
+
- [ ] Changes are related to the ticket being worked on
|
|
112
|
+
|
|
113
|
+
## Error Recovery
|
|
114
|
+
|
|
115
|
+
**If checks fail repeatedly:**
|
|
116
|
+
1. Report which specific check is failing
|
|
117
|
+
2. Show the error output
|
|
118
|
+
3. Ask for guidance if the fix is unclear
|
|
119
|
+
|
|
120
|
+
**If push fails:**
|
|
121
|
+
```bash
|
|
122
|
+
# If remote has new commits, rebase first
|
|
123
|
+
git fetch origin
|
|
124
|
+
git rebase origin/main
|
|
125
|
+
# Then push again
|
|
126
|
+
git push -u origin $(git branch --show-current)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Completion
|
|
130
|
+
|
|
131
|
+
After successful commit and push, report:
|
|
132
|
+
```
|
|
133
|
+
Commit successful
|
|
134
|
+
|
|
135
|
+
Branch: feature/{{JIRA_PROJECT}}-XX-description
|
|
136
|
+
Commit: [short SHA] <commit message>
|
|
137
|
+
Pushed to: origin/feature/{{JIRA_PROJECT}}-XX-description
|
|
138
|
+
|
|
139
|
+
Quality checks passed:
|
|
140
|
+
- [List of checks that passed]
|
|
141
|
+
|
|
142
|
+
Ready for PR creation when implementation is complete.
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Now proceed with the gated commit process.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when creating a pull request, opening a PR, or when code is ready for review. Creates PR with proper format, links to Jira ticket, and automatically transitions the ticket to "In Review" status.
|
|
3
|
+
argument-hint: [ticket reference or PR title]
|
|
4
|
+
requires: [git]
|
|
5
|
+
optional: [jira]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Create Pull Request
|
|
9
|
+
|
|
10
|
+
You are creating a PR for: **$ARGUMENTS**
|
|
11
|
+
|
|
12
|
+
## Pre-PR Checklist
|
|
13
|
+
|
|
14
|
+
Before creating a PR, verify:
|
|
15
|
+
|
|
16
|
+
### 1. All Commits Pushed
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
git status
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Ensure no uncommitted changes. If there are changes, use `/git-commit` first.
|
|
23
|
+
|
|
24
|
+
### 2. Branch is Up-to-Date
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
git fetch origin main
|
|
28
|
+
git log origin/main..HEAD --oneline
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
If behind main, rebase:
|
|
32
|
+
```bash
|
|
33
|
+
git rebase origin/main
|
|
34
|
+
git push --force-with-lease
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. CI Checks Ready
|
|
38
|
+
|
|
39
|
+
All local checks should have passed during `/git-commit`.
|
|
40
|
+
|
|
41
|
+
## Extract Ticket Information
|
|
42
|
+
|
|
43
|
+
### From Branch Name
|
|
44
|
+
```bash
|
|
45
|
+
git branch --show-current
|
|
46
|
+
# Expected format: feature/{{JIRA_PROJECT}}-XX-description
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### From Jira (if available)
|
|
50
|
+
Use MCP to get ticket details:
|
|
51
|
+
- Title
|
|
52
|
+
- Description
|
|
53
|
+
- Acceptance criteria
|
|
54
|
+
|
|
55
|
+
## Create Pull Request
|
|
56
|
+
|
|
57
|
+
### PR Title Format
|
|
58
|
+
```
|
|
59
|
+
[{{JIRA_PROJECT}}-XX] <Brief description>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Examples:**
|
|
63
|
+
- `[{{JIRA_PROJECT}}-123] Add feature state machine`
|
|
64
|
+
- `[{{JIRA_PROJECT}}-456] Fix connection timeout handling`
|
|
65
|
+
|
|
66
|
+
### PR Body Template
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
## Summary
|
|
70
|
+
|
|
71
|
+
Brief description of what this PR does.
|
|
72
|
+
|
|
73
|
+
## Changes
|
|
74
|
+
|
|
75
|
+
- Change 1
|
|
76
|
+
- Change 2
|
|
77
|
+
- Change 3
|
|
78
|
+
|
|
79
|
+
## Ticket
|
|
80
|
+
|
|
81
|
+
[{{JIRA_PROJECT}}-XX]({{JIRA_URL}}/browse/{{JIRA_PROJECT}}-XX)
|
|
82
|
+
|
|
83
|
+
## Testing
|
|
84
|
+
|
|
85
|
+
- [ ] Unit tests added/updated
|
|
86
|
+
- [ ] Manual testing completed
|
|
87
|
+
- [ ] Tested on [device/emulator]
|
|
88
|
+
|
|
89
|
+
## Checklist
|
|
90
|
+
|
|
91
|
+
- [ ] Code follows development standards
|
|
92
|
+
- [ ] All quality checks pass
|
|
93
|
+
- [ ] No debug code or TODOs left
|
|
94
|
+
- [ ] Documentation updated (if applicable)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Create PR with GitHub CLI
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
gh pr create \
|
|
101
|
+
--title "[{{JIRA_PROJECT}}-XX] <description>" \
|
|
102
|
+
--body "$(cat <<'EOF'
|
|
103
|
+
## Summary
|
|
104
|
+
|
|
105
|
+
<description>
|
|
106
|
+
|
|
107
|
+
## Changes
|
|
108
|
+
|
|
109
|
+
- <change 1>
|
|
110
|
+
- <change 2>
|
|
111
|
+
|
|
112
|
+
## Ticket
|
|
113
|
+
|
|
114
|
+
[{{JIRA_PROJECT}}-XX]({{JIRA_URL}}/browse/{{JIRA_PROJECT}}-XX)
|
|
115
|
+
|
|
116
|
+
## Testing
|
|
117
|
+
|
|
118
|
+
- [ ] Unit tests added/updated
|
|
119
|
+
- [ ] Manual testing completed
|
|
120
|
+
|
|
121
|
+
## Checklist
|
|
122
|
+
|
|
123
|
+
- [ ] Code follows development standards
|
|
124
|
+
- [ ] All quality checks pass
|
|
125
|
+
- [ ] No debug code or TODOs left
|
|
126
|
+
EOF
|
|
127
|
+
)"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Update Jira Ticket
|
|
131
|
+
|
|
132
|
+
**MANDATORY:** After PR is created, transition the Jira ticket to "In Review".
|
|
133
|
+
|
|
134
|
+
### Using Atlassian MCP
|
|
135
|
+
|
|
136
|
+
1. Transition ticket to "In Review" status
|
|
137
|
+
2. Add comment with PR link:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
PR created: <PR URL>
|
|
141
|
+
|
|
142
|
+
Changes:
|
|
143
|
+
- <summary of changes>
|
|
144
|
+
|
|
145
|
+
Ready for code review.
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Fallback (if MCP unavailable)
|
|
149
|
+
|
|
150
|
+
Report to user:
|
|
151
|
+
```
|
|
152
|
+
Please manually update Jira ticket {{JIRA_PROJECT}}-XX:
|
|
153
|
+
- Status: In Review
|
|
154
|
+
- Add comment with PR link: <URL>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Request Review
|
|
158
|
+
|
|
159
|
+
If you know who should review:
|
|
160
|
+
```bash
|
|
161
|
+
gh pr edit <PR_NUMBER> --add-reviewer <github-username>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Completion
|
|
165
|
+
|
|
166
|
+
After PR creation, report:
|
|
167
|
+
```
|
|
168
|
+
Pull Request Created
|
|
169
|
+
|
|
170
|
+
PR: #<number> - [{{JIRA_PROJECT}}-XX] <title>
|
|
171
|
+
URL: <github PR URL>
|
|
172
|
+
Branch: feature/{{JIRA_PROJECT}}-XX-description -> main
|
|
173
|
+
|
|
174
|
+
Jira Updated:
|
|
175
|
+
- Ticket {{JIRA_PROJECT}}-XX transitioned to "In Review"
|
|
176
|
+
- Comment added with PR link
|
|
177
|
+
|
|
178
|
+
Next Steps:
|
|
179
|
+
- CI checks will run automatically
|
|
180
|
+
- Await code review
|
|
181
|
+
- Address any feedback
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Error Handling
|
|
185
|
+
|
|
186
|
+
**If PR creation fails:**
|
|
187
|
+
- Check if branch is pushed: `git push -u origin $(git branch --show-current)`
|
|
188
|
+
- Check if PR already exists: `gh pr list --head $(git branch --show-current)`
|
|
189
|
+
- Check GitHub CLI auth: `gh auth status`
|
|
190
|
+
|
|
191
|
+
**If Jira transition fails:**
|
|
192
|
+
- Note the failure in your completion report
|
|
193
|
+
- Ask user to manually update Jira
|
|
194
|
+
|
|
195
|
+
Now proceed with PR creation.
|