moai-adk 0.8.0__py3-none-any.whl → 0.8.1__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/core/issue_creator.py +309 -0
- moai_adk/core/template_engine.py +253 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +25 -2
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +149 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +2 -2
- moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +5 -3
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +20 -8
- moai_adk/templates/.github/workflows/moai-gitflow.yml +22 -16
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +10 -6
- moai_adk/templates/.moai/config.json +12 -0
- moai_adk/templates/.moai/docs/quick-issue-creation-guide.md +219 -0
- moai_adk/templates/.moai/memory/issue-label-mapping.md +150 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.8.1.dist-info}/METADATA +123 -1
- {moai_adk-0.8.0.dist-info → moai_adk-0.8.1.dist-info}/RECORD +17 -13
- moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
- {moai_adk-0.8.0.dist-info → moai_adk-0.8.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.8.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.8.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alfred:9-feedback
|
|
3
|
+
description: "Interactive GitHub Issue creation - Step-by-step dialog to create issues without command arguments"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash(gh:*)
|
|
6
|
+
- Task
|
|
7
|
+
- AskUserQuestion
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 🎯 MoAI-ADK Alfred 9-Feedback: Interactive GitHub Issue Creation
|
|
11
|
+
|
|
12
|
+
> **Purpose**: Create GitHub Issues through an interactive multi-step dialog. Simple command → guided questions → automatic issue creation.
|
|
13
|
+
|
|
14
|
+
## 📋 Command Purpose
|
|
15
|
+
|
|
16
|
+
Enable developers to instantly report bugs, request features, suggest improvements, and ask questions through conversational dialogs. No command arguments needed—just run `/alfred:9-feedback` and answer questions.
|
|
17
|
+
|
|
18
|
+
**Command Format**:
|
|
19
|
+
```bash
|
|
20
|
+
/alfred:9-feedback
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
That's it! Alfred guides you through the rest.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 🚀 Interactive Execution Flow
|
|
28
|
+
|
|
29
|
+
### Step 1: Start Command
|
|
30
|
+
```bash
|
|
31
|
+
/alfred:9-feedback
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Alfred responds and proceeds to Step 2.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
### Step 2: Select Issue Type (AskUserQuestion)
|
|
39
|
+
|
|
40
|
+
**Question**: "What type of issue do you want to create?"
|
|
41
|
+
|
|
42
|
+
**Options**:
|
|
43
|
+
```
|
|
44
|
+
[ ] 🐛 Bug Report - Something isn't working
|
|
45
|
+
[ ] ✨ Feature Request - Suggest new functionality
|
|
46
|
+
[ ] ⚡ Improvement - Enhance existing features
|
|
47
|
+
[ ] ❓ Question/Discussion - Ask the team
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**User Selection**: Selects one (e.g., 🐛 Bug Report)
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Step 3: Enter Issue Title (AskUserQuestion)
|
|
55
|
+
|
|
56
|
+
**Question**: "What is the issue title? (Be concise)"
|
|
57
|
+
|
|
58
|
+
**Example Input**:
|
|
59
|
+
```
|
|
60
|
+
Login button on homepage not responding to clicks
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Step 4: Enter Description (AskUserQuestion)
|
|
66
|
+
|
|
67
|
+
**Question**: "Provide a detailed description (optional—press Enter to skip)"
|
|
68
|
+
|
|
69
|
+
**Example Input**:
|
|
70
|
+
```
|
|
71
|
+
When I click the login button on the homepage, nothing happens.
|
|
72
|
+
Tested on Chrome 120.0 on macOS 14.2.
|
|
73
|
+
Expected: Login modal should appear
|
|
74
|
+
Actual: No response
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Or just press Enter to skip.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Step 5: Select Priority (AskUserQuestion)
|
|
82
|
+
|
|
83
|
+
**Question**: "What's the priority level?"
|
|
84
|
+
|
|
85
|
+
**Options**:
|
|
86
|
+
```
|
|
87
|
+
[ ] 🔴 Critical - System down, data loss, security breach
|
|
88
|
+
[ ] 🟠 High - Major feature broken, significant impact
|
|
89
|
+
[✓] 🟡 Medium - Normal priority (default)
|
|
90
|
+
[ ] 🟢 Low - Minor issues, nice-to-have
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**User Selection**: Selects priority (e.g., 🟠 High)
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Step 6: Create Issue (Automatic)
|
|
98
|
+
|
|
99
|
+
Alfred automatically:
|
|
100
|
+
1. Formats title with emoji: "🐛 [BUG] Login button not responding..."
|
|
101
|
+
2. Prepares body with user description + metadata
|
|
102
|
+
3. Assigns labels: bug, reported, priority-high
|
|
103
|
+
4. Executes: `gh issue create --title ... --body ... --label ...`
|
|
104
|
+
5. Parses issue number from response
|
|
105
|
+
|
|
106
|
+
**Success Output**:
|
|
107
|
+
```
|
|
108
|
+
✅ GitHub Issue #234 created successfully!
|
|
109
|
+
|
|
110
|
+
📋 Title: 🐛 [BUG] Login button not responding to clicks
|
|
111
|
+
🔴 Priority: High
|
|
112
|
+
🏷️ Labels: bug, reported, priority-high
|
|
113
|
+
🔗 URL: https://github.com/owner/repo/issues/234
|
|
114
|
+
|
|
115
|
+
💡 Next: Reference this issue in your commits or link to a SPEC document
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## ⚠️ Important Rules
|
|
121
|
+
|
|
122
|
+
### ✅ What to Do
|
|
123
|
+
|
|
124
|
+
- ✅ Ask all 4 questions in sequence (type → title → description → priority)
|
|
125
|
+
- ✅ Preserve exact user wording in title and description
|
|
126
|
+
- ✅ Use AskUserQuestion for all user inputs
|
|
127
|
+
- ✅ Allow skipping description (optional field)
|
|
128
|
+
- ✅ Show issue URL after creation
|
|
129
|
+
|
|
130
|
+
### ❌ What NOT to Do
|
|
131
|
+
|
|
132
|
+
- ❌ Accept command arguments (`/alfred:9-feedback --bug` is wrong—just use `/alfred:9-feedback`)
|
|
133
|
+
- ❌ Skip questions or change order
|
|
134
|
+
- ❌ Rephrase user's input
|
|
135
|
+
- ❌ Create issues without labels
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 💡 Key Benefits
|
|
140
|
+
|
|
141
|
+
1. **🚀 No Arguments Needed**: Just `/alfred:9-feedback`
|
|
142
|
+
2. **💬 Conversational**: Intuitive step-by-step dialog
|
|
143
|
+
3. **🏷️ Auto-labeled**: Labels applied automatically
|
|
144
|
+
4. **🔗 Team Visible**: Issues immediately visible
|
|
145
|
+
5. **⏱️ Fast**: Create issues in 30 seconds
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
**Supported since**: MoAI-ADK v0.7.0+
|
|
@@ -354,9 +354,9 @@ def get_package_version_info() -> dict[str, Any]:
|
|
|
354
354
|
- Returns graceful fallback if PyPI check fails
|
|
355
355
|
- Handles version parsing gracefully
|
|
356
356
|
"""
|
|
357
|
-
from importlib.metadata import version, PackageNotFoundError
|
|
358
|
-
import urllib.request
|
|
359
357
|
import urllib.error
|
|
358
|
+
import urllib.request
|
|
359
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
360
360
|
|
|
361
361
|
result = {
|
|
362
362
|
"current": "unknown",
|
|
@@ -170,7 +170,9 @@ body:
|
|
|
170
170
|
value: |
|
|
171
171
|
## 📚 Reference
|
|
172
172
|
|
|
173
|
-
- **SPEC Metadata Guide**: See
|
|
174
|
-
- **EARS Syntax Guide**: See
|
|
173
|
+
- **SPEC Metadata Guide**: See `{{DOCS_DIR}}/spec-metadata.md`
|
|
174
|
+
- **EARS Syntax Guide**: See `{{DOCS_DIR}}/development-guide.md`
|
|
175
175
|
- **Acceptance Criteria**: Use Given-When-Then (Gherkin) format
|
|
176
|
-
|
|
176
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
177
|
+
- **Traceability System**: @SPEC, @TEST, @CODE, @DOC traceability
|
|
178
|
+
{% endif -%}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
#
|
|
1
|
+
# {{PROJECT_NAME}} GitFlow PR
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Full GitFlow Transparency — the agent auto-fills information
|
|
4
4
|
|
|
5
5
|
## 📝 SPEC Info
|
|
6
6
|
|
|
7
7
|
- Related SPEC: `SPEC-AUTH-001` (e.g., JWT authentication system)
|
|
8
|
-
- Directory:
|
|
8
|
+
- Directory: `{{SPEC_DIR}}/SPEC-AUTH-001/`
|
|
9
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
9
10
|
- @TAG Links: @SPEC:AUTH-001 @CODE:AUTH-001 (auto-tagging)
|
|
11
|
+
{% endif -%}
|
|
10
12
|
|
|
11
13
|
## ✅ SPEC Quality Checks
|
|
12
14
|
|
|
13
15
|
- [ ] YAML Front Matter: 7 required fields (id, version, status, created, updated, author, priority)
|
|
14
16
|
- [ ] HISTORY Section: Record versioned change log (include v0.0.1 INITIAL)
|
|
15
17
|
- [ ] EARS Requirements: Ubiquitous, Event-driven, State-driven, Optional, Constraints
|
|
18
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
16
19
|
- [ ] @SPEC:ID TAG: Include TAG in doc and check duplicates (`rg "@SPEC:<ID>" -n`)
|
|
20
|
+
{% endif -%}
|
|
17
21
|
|
|
22
|
+
{% if ENABLE_ALFRED_COMMANDS -%}
|
|
18
23
|
## 🤖 Automated Validation Status
|
|
19
24
|
|
|
20
25
|
<!-- The checklist below is auto-updated by the agent -->
|
|
@@ -25,24 +30,29 @@
|
|
|
25
30
|
- [ ] spec-builder: Complete EARS spec and create feature branch
|
|
26
31
|
- [ ] code-builder: Finish TDD RED-GREEN-REFACTOR
|
|
27
32
|
- [ ] doc-syncer: Sync Living Documents and mark PR Ready
|
|
33
|
+
{% endif -%}
|
|
28
34
|
|
|
35
|
+
{% if ENABLE_TRUST_5 -%}
|
|
29
36
|
## 📊 Quality Metrics (auto-calculated)
|
|
30
37
|
|
|
31
38
|
- TRUST 5 Principles: ✅ Compliant
|
|
32
39
|
- Test Coverage: XX% (target ≥ 85%)
|
|
40
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
33
41
|
- @TAG Traceability: 100%
|
|
42
|
+
{% endif -%}
|
|
43
|
+
{% endif -%}
|
|
34
44
|
|
|
35
45
|
## 🌍 Locale Settings
|
|
36
46
|
|
|
37
|
-
- Project Language:
|
|
47
|
+
- Project Language: {{CONVERSATION_LANGUAGE}}
|
|
38
48
|
- Commit Messages: <!-- generated automatically according to locale -->
|
|
39
49
|
|
|
40
50
|
## 🎯 Changes
|
|
41
51
|
|
|
42
|
-
<!--
|
|
52
|
+
<!-- auto-fills TDD results -->
|
|
43
53
|
|
|
44
54
|
### 🔴 RED (Test Authoring)
|
|
45
|
-
- Test File: `
|
|
55
|
+
- Test File: `{{TEST_DIR}}/auth/service.test.ts`
|
|
46
56
|
- Test Description: [describe the failing test]
|
|
47
57
|
|
|
48
58
|
### 🟢 GREEN (Implementation)
|
|
@@ -58,12 +68,14 @@
|
|
|
58
68
|
|
|
59
69
|
- [ ] Update README
|
|
60
70
|
- [ ] Sync API docs
|
|
71
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
61
72
|
- [ ] Update TAG index
|
|
73
|
+
{% endif -%}
|
|
62
74
|
- [ ] Update HISTORY section (SPEC docs)
|
|
63
75
|
|
|
64
76
|
---
|
|
65
77
|
|
|
66
|
-
🚀
|
|
78
|
+
🚀 {{PROJECT_NAME}}: Professional development via a 3-stage pipeline!
|
|
67
79
|
|
|
68
|
-
Reviewers: Check
|
|
80
|
+
Reviewers: Check quality compliance and SPEC metadata completeness only.
|
|
69
81
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: "{{PROJECT_NAME}} GitFlow Automation"
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# {{PROJECT_NAME}} 3-stage pipeline: spec → build → sync
|
|
4
4
|
# Full GitFlow transparency — no Git expertise needed
|
|
5
5
|
|
|
6
6
|
on:
|
|
@@ -11,7 +11,7 @@ on:
|
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
13
|
moai-pipeline:
|
|
14
|
-
name:
|
|
14
|
+
name: "{{PROJECT_NAME}} Pipeline"
|
|
15
15
|
runs-on: ubuntu-latest
|
|
16
16
|
steps:
|
|
17
17
|
- name: Checkout
|
|
@@ -86,13 +86,13 @@ jobs:
|
|
|
86
86
|
distribution: "temurin"
|
|
87
87
|
java-version: "21"
|
|
88
88
|
|
|
89
|
-
# TRUST 5 Principles — automated validation
|
|
90
|
-
|
|
91
|
-
- name: 🧭
|
|
89
|
+
# TRUST 5 Principles — automated validation (if enabled)
|
|
90
|
+
{% if ENABLE_TRUST_5 -%}
|
|
91
|
+
- name: 🧭 Quality Principles Check
|
|
92
92
|
run: |
|
|
93
|
-
echo "✅
|
|
94
|
-
echo " -
|
|
95
|
-
|
|
93
|
+
echo "✅ Quality validation is performed"
|
|
94
|
+
echo " - Automated quality checks enabled"
|
|
95
|
+
{% endif -%}
|
|
96
96
|
|
|
97
97
|
# Ignore test failures on Draft PRs; fail CI on Ready PRs
|
|
98
98
|
- name: Run language-aware tests
|
|
@@ -221,11 +221,14 @@ jobs:
|
|
|
221
221
|
fi
|
|
222
222
|
fi
|
|
223
223
|
|
|
224
|
-
# TAG system validation (
|
|
225
|
-
|
|
224
|
+
# TAG system validation (if enabled)
|
|
225
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
226
|
+
- name: 🏷️ Traceability Validation
|
|
226
227
|
run: |
|
|
227
|
-
echo "✅
|
|
228
|
+
echo "✅ Traceability validation is handled automatically"
|
|
229
|
+
{% endif -%}
|
|
228
230
|
|
|
231
|
+
{% if ENABLE_ALFRED_COMMANDS -%}
|
|
229
232
|
# Run per-branch stages
|
|
230
233
|
- name: 📝 SPEC Stage (feature branch)
|
|
231
234
|
if: startsWith(github.ref, 'refs/heads/feature/')
|
|
@@ -239,7 +242,9 @@ jobs:
|
|
|
239
242
|
run: |
|
|
240
243
|
echo "📝 Draft PR: TDD implementation stage"
|
|
241
244
|
echo "- code-builder agent runs RED-GREEN-REFACTOR"
|
|
242
|
-
|
|
245
|
+
{% if ENABLE_TRUST_5 -%}
|
|
246
|
+
echo "- Validate Quality Principles compliance"
|
|
247
|
+
{% endif -%}
|
|
243
248
|
|
|
244
249
|
- name: 📚 SYNC Stage (Ready PR)
|
|
245
250
|
if: github.event.pull_request.draft == false && github.event.action == 'ready_for_review'
|
|
@@ -247,10 +252,11 @@ jobs:
|
|
|
247
252
|
echo "✅ Ready PR: documentation sync stage"
|
|
248
253
|
echo "- doc-syncer agent synchronizes Living Documents"
|
|
249
254
|
echo "- PR is ready for review"
|
|
255
|
+
{% endif -%}
|
|
250
256
|
|
|
251
257
|
# Final result report
|
|
252
|
-
- name:
|
|
258
|
+
- name: "🎯 {{PROJECT_NAME}} Pipeline Complete"
|
|
253
259
|
run: |
|
|
254
|
-
echo "
|
|
255
|
-
echo "✨ Professional workflow
|
|
260
|
+
echo "{{PROJECT_NAME}} GitFlow automation complete"
|
|
261
|
+
echo "✨ Professional workflow enabled"
|
|
256
262
|
|
|
@@ -3,7 +3,7 @@ name: 📋 SPEC Issue Sync
|
|
|
3
3
|
on:
|
|
4
4
|
pull_request:
|
|
5
5
|
paths:
|
|
6
|
-
- '
|
|
6
|
+
- '{{SPEC_DIR}}/SPEC-*/spec.md'
|
|
7
7
|
types: [opened, synchronize]
|
|
8
8
|
|
|
9
9
|
permissions:
|
|
@@ -33,18 +33,18 @@ jobs:
|
|
|
33
33
|
pwd
|
|
34
34
|
ls -la
|
|
35
35
|
|
|
36
|
-
echo "=== Debug: Looking for
|
|
37
|
-
ls -la
|
|
36
|
+
echo "=== Debug: Looking for {{SPEC_DIR}} ==="
|
|
37
|
+
ls -la {{SPEC_DIR}}/ 2>&1 || echo "{{SPEC_DIR}}/ directory not found"
|
|
38
38
|
|
|
39
39
|
# Find SPEC files in the PR
|
|
40
40
|
echo "=== Debug: Searching for SPEC files ==="
|
|
41
41
|
find . -name "spec.md" -type f 2>&1 || echo "find command failed"
|
|
42
42
|
|
|
43
|
-
spec_file=$(find
|
|
43
|
+
spec_file=$(find {{SPEC_DIR}} -name "spec.md" -type f 2>&1 | head -1)
|
|
44
44
|
echo "Found spec_file: [$spec_file]"
|
|
45
45
|
|
|
46
46
|
if [ -z "$spec_file" ]; then
|
|
47
|
-
echo "⚠️ No SPEC file found in
|
|
47
|
+
echo "⚠️ No SPEC file found in {{SPEC_DIR}}"
|
|
48
48
|
echo "Exiting gracefully (this is expected if no SPEC files changed)"
|
|
49
49
|
exit 0
|
|
50
50
|
fi
|
|
@@ -59,7 +59,11 @@ jobs:
|
|
|
59
59
|
spec_priority=$(grep "^priority:" "$spec_file" | sed 's/^priority: *//' | tr -d ' "')
|
|
60
60
|
|
|
61
61
|
# Extract title from H1 heading
|
|
62
|
+
{% if ENABLE_TAG_SYSTEM -%}
|
|
62
63
|
spec_title=$(grep "^# @SPEC:" "$spec_file" | sed 's/^# @SPEC:[^:]*: //')
|
|
64
|
+
{% else -%}
|
|
65
|
+
spec_title=$(grep "^# " "$spec_file" | head -1 | sed 's/^# //')
|
|
66
|
+
{% endif -%}
|
|
63
67
|
|
|
64
68
|
echo "✅ Extracted SPEC metadata:"
|
|
65
69
|
echo " ID: $spec_id"
|
|
@@ -158,7 +162,7 @@ jobs:
|
|
|
158
162
|
echo "This SPEC has been synchronized to GitHub Issue."
|
|
159
163
|
echo ""
|
|
160
164
|
echo "📋 **Issue**: [#$issue_num - SPEC-$spec_id: $spec_title](../issues/$issue_num)"
|
|
161
|
-
echo "🔗 **SPEC File**:
|
|
165
|
+
echo "🔗 **SPEC File**: \`{{SPEC_DIR}}/SPEC-$spec_id/spec.md\`"
|
|
162
166
|
echo ""
|
|
163
167
|
echo "The issue will be automatically updated as you modify the SPEC document."
|
|
164
168
|
} > /tmp/pr_comment.txt
|
|
@@ -92,5 +92,17 @@
|
|
|
92
92
|
"scan_command": "rg '@TAG' -n",
|
|
93
93
|
"philosophy": "The source of truth for TAGs lives in the code itself"
|
|
94
94
|
}
|
|
95
|
+
},
|
|
96
|
+
"github": {
|
|
97
|
+
"@CODE:GITHUB-CONFIG-001": "@DOC:GITHUB-TEMPLATES-001",
|
|
98
|
+
"templates": {
|
|
99
|
+
"enable_trust_5": true,
|
|
100
|
+
"enable_tag_system": true,
|
|
101
|
+
"enable_alfred_commands": true,
|
|
102
|
+
"spec_directory": ".moai/specs",
|
|
103
|
+
"docs_directory": ".moai/docs",
|
|
104
|
+
"test_directory": "tests",
|
|
105
|
+
"notes": "Configure GitHub templates for project customization. When enable_* flags are false, corresponding MoAI-specific sections are omitted from templates."
|
|
106
|
+
}
|
|
95
107
|
}
|
|
96
108
|
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# 🎯 Quick Issue Creation Guide
|
|
2
|
+
|
|
3
|
+
> **MoAI-ADK v0.7.0+** - Create GitHub Issues instantly with `/alfred:9-feedback` interactive dialog
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The Quick Issue Creation system allows developers to report bugs, request features, suggest improvements, and ask questions directly to GitHub Issues without leaving their development context.
|
|
8
|
+
|
|
9
|
+
**Key Benefit**: Convert problems into tracked GitHub Issues in seconds, maintaining development flow.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🚀 Quick Start
|
|
14
|
+
|
|
15
|
+
### Basic Usage
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Report a bug
|
|
19
|
+
/alfred:9-help --bug 'Login button not responding on homepage'
|
|
20
|
+
|
|
21
|
+
# Request a feature
|
|
22
|
+
/alfred:9-help --feature 'Add dark mode theme support'
|
|
23
|
+
|
|
24
|
+
# Suggest an improvement
|
|
25
|
+
/alfred:9-help --improvement 'Optimize database query in UserService'
|
|
26
|
+
|
|
27
|
+
# Ask a question
|
|
28
|
+
/alfred:9-help --question 'What is the recommended approach for API versioning?'
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### What Happens Next
|
|
32
|
+
|
|
33
|
+
1. **Parsing**: Alfred extracts issue type and content
|
|
34
|
+
2. **Priority Selection**: You select issue priority (critical/high/medium/low)
|
|
35
|
+
3. **Issue Creation**: GitHub Issue is created with:
|
|
36
|
+
- Formatted title (with emoji and type indicator)
|
|
37
|
+
- Your description
|
|
38
|
+
- Automatic labels based on type and priority
|
|
39
|
+
- Metadata footer
|
|
40
|
+
4. **Confirmation**: You receive the issue URL for immediate sharing
|
|
41
|
+
|
|
42
|
+
**Example Output**:
|
|
43
|
+
```
|
|
44
|
+
✅ GitHub Issue #456 created successfully
|
|
45
|
+
📋 Title: 🐛 [BUG] Login button not responding on homepage
|
|
46
|
+
🔴 Priority: High
|
|
47
|
+
🏷️ Labels: bug, reported, priority-high
|
|
48
|
+
🔗 URL: https://github.com/owner/repo/issues/456
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 📋 Issue Types & Labels
|
|
54
|
+
|
|
55
|
+
### 🐛 Bug Reports (`--bug`)
|
|
56
|
+
|
|
57
|
+
Use this when you discover a problem or unexpected behavior.
|
|
58
|
+
|
|
59
|
+
**Automatic Labels**: `bug`, `reported`
|
|
60
|
+
|
|
61
|
+
**Example**:
|
|
62
|
+
```bash
|
|
63
|
+
/alfred:9-help --bug 'Payment form crashes when credit card has < 4 digits'
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### ✨ Feature Requests (`--feature`)
|
|
69
|
+
|
|
70
|
+
Use this to propose new functionality.
|
|
71
|
+
|
|
72
|
+
**Automatic Labels**: `feature-request`, `enhancement`
|
|
73
|
+
|
|
74
|
+
**Example**:
|
|
75
|
+
```bash
|
|
76
|
+
/alfred:9-help --feature 'Add webhook support for payment notifications'
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### ⚡ Improvement Suggestions (`--improvement`)
|
|
82
|
+
|
|
83
|
+
Use this to suggest enhancements to existing features.
|
|
84
|
+
|
|
85
|
+
**Automatic Labels**: `improvement`, `enhancement`
|
|
86
|
+
|
|
87
|
+
**Example**:
|
|
88
|
+
```bash
|
|
89
|
+
/alfred:9-help --improvement 'Reduce database queries in checkout process by 50%'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### ❓ Questions & Discussions (`--question`)
|
|
95
|
+
|
|
96
|
+
Use this to ask questions or start discussions.
|
|
97
|
+
|
|
98
|
+
**Automatic Labels**: `question`, `help-wanted`
|
|
99
|
+
|
|
100
|
+
**Example**:
|
|
101
|
+
```bash
|
|
102
|
+
/alfred:9-help --question 'Should we migrate from Sequelize to Prisma ORM?'
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 🎯 Priority Levels
|
|
108
|
+
|
|
109
|
+
When you create an issue, you'll be prompted to select a priority:
|
|
110
|
+
|
|
111
|
+
| Level | Emoji | Label | When to Use |
|
|
112
|
+
|-------|-------|-------|------------|
|
|
113
|
+
| 🔴 Critical | 🔴 | `priority-critical` | System down, data loss risk, security breach |
|
|
114
|
+
| 🟠 High | 🟠 | `priority-high` | Major feature broken, significant impact |
|
|
115
|
+
| 🟡 Medium | 🟡 | `priority-medium` | Normal bugs, typical features, default |
|
|
116
|
+
| 🟢 Low | 🟢 | `priority-low` | Minor issues, nice-to-have features |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 💡 Real-World Examples
|
|
121
|
+
|
|
122
|
+
### Example 1: Emergency Bug Report
|
|
123
|
+
|
|
124
|
+
**Scenario**: During production support, you find that users cannot reset their passwords.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
/alfred:9-help --bug 'Password reset email not being sent after clicking "Forgot Password"'
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Result**: Issue #234 created and visible to team immediately with critical priority.
|
|
131
|
+
|
|
132
|
+
### Example 2: Feature Request from Code Review
|
|
133
|
+
|
|
134
|
+
**Scenario**: During code review, you think of a feature that would improve the codebase.
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
/alfred:9-help --feature 'Add request rate limiting middleware to prevent abuse'
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Result**: Issue #235 created for backlog planning.
|
|
141
|
+
|
|
142
|
+
### Example 3: Performance Improvement Suggestion
|
|
143
|
+
|
|
144
|
+
**Scenario**: You notice slow database queries in the user service.
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
/alfred:9-help --improvement 'Add database index on users.email for faster lookups'
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Result**: Issue #236 created for technical debt backlog.
|
|
151
|
+
|
|
152
|
+
### Example 4: Architecture Question
|
|
153
|
+
|
|
154
|
+
**Scenario**: You're uncertain about the best approach for API design.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
/alfred:9-help --question 'Should we use REST or GraphQL for the new mobile API?'
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Result**: Issue #237 created for team discussion.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 🔧 Prerequisites
|
|
165
|
+
|
|
166
|
+
### Required
|
|
167
|
+
|
|
168
|
+
1. **GitHub CLI installed**
|
|
169
|
+
```bash
|
|
170
|
+
# macOS
|
|
171
|
+
brew install gh
|
|
172
|
+
|
|
173
|
+
# Ubuntu/Debian
|
|
174
|
+
sudo apt install gh
|
|
175
|
+
|
|
176
|
+
# Or visit: https://cli.github.com
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
2. **Authenticated with GitHub**
|
|
180
|
+
```bash
|
|
181
|
+
gh auth login
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
3. **Git repository initialized**
|
|
185
|
+
```bash
|
|
186
|
+
git init
|
|
187
|
+
git remote add origin https://github.com/owner/repo.git
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 🔄 Related Commands
|
|
193
|
+
|
|
194
|
+
| Command | Purpose |
|
|
195
|
+
|---------|---------|
|
|
196
|
+
| `/alfred:0-project` | Initialize project |
|
|
197
|
+
| `/alfred:1-plan` | Create SPEC documents |
|
|
198
|
+
| `/alfred:2-run` | Implement features |
|
|
199
|
+
| `/alfred:3-sync` | Sync documentation |
|
|
200
|
+
| `/alfred:9-help` | **Create issues (this command)** |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## ✨ Summary
|
|
205
|
+
|
|
206
|
+
The `/alfred:9-help` command enables:
|
|
207
|
+
|
|
208
|
+
- ✅ **Fast issue creation** - Seconds, not minutes
|
|
209
|
+
- ✅ **Standardized format** - Consistent labels and metadata
|
|
210
|
+
- ✅ **Priority management** - Clear issue prioritization
|
|
211
|
+
- ✅ **Team visibility** - Issues immediately visible and discussable
|
|
212
|
+
- ✅ **Workflow integration** - Works with MoAI-ADK specs and planning
|
|
213
|
+
|
|
214
|
+
**Start using it now**:
|
|
215
|
+
```bash
|
|
216
|
+
/alfred:9-help --bug 'Describe the issue you just found'
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Happy issue reporting! 🎉
|