devflow-prompts 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +914 -0
- package/bin/cli.js +100 -0
- package/flows/devflow.0-gen-rules.prompt.md +335 -0
- package/flows/devflow.0-rev-rules.prompt.md +156 -0
- package/flows/devflow.1-gen-requirement.prompt.md +279 -0
- package/flows/devflow.1-rev-requirement.prompt.md +206 -0
- package/flows/devflow.2-gen-design.prompt.md +217 -0
- package/flows/devflow.2-rev-design.prompt.md +132 -0
- package/flows/devflow.3-gen-code.prompt.md +155 -0
- package/flows/devflow.3-rev-code.prompt.md +150 -0
- package/flows/devflow.4-gen-test-plan.prompt.md +171 -0
- package/flows/devflow.4-rev-test-plan.prompt.md +124 -0
- package/flows/devflow.5-gen-test-code.prompt.md +114 -0
- package/flows/devflow.5-rev-test-code.prompt.md +131 -0
- package/flows/devflow.6-analyze.prompt.md +240 -0
- package/gen-chat.sh +58 -0
- package/index.js +4 -0
- package/package.json +25 -0
- package/raws/.gitkeep +0 -0
- package/raws/changename.md +7 -0
- package/raws/my-project-rules.txt +7 -0
- package/rules/.gitkeep +0 -0
- package/scripts/setup-devflow-chat-antigravity.sh +44 -0
- package/scripts/setup-devflow-chat-vscode.sh +111 -0
- package/specs/.gitkeep +0 -0
- package/templates/gen-requirement-template.txt +26 -0
- package/templates/gen-rule-template.txt +17 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review technical design for implementability and edge cases
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /devflow.2-rev-design
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
Review technical design to detect gaps, unhandled edge cases, and conflicts with coding rules.
|
|
9
|
+
|
|
10
|
+
## Input Requirements
|
|
11
|
+
|
|
12
|
+
**Input Type: File Path (Required)**
|
|
13
|
+
- Provide path to your design file
|
|
14
|
+
- **Filename MUST contain task-id** (e.g., `FEAT-001-design.md`, `TASK-123.md`)
|
|
15
|
+
- Task-id is needed to name output files
|
|
16
|
+
- Can be anywhere in filename: `FEAT-001`, `TASK-123`, `BUG-456`
|
|
17
|
+
- **File can be located anywhere** (not limited to `/devflow-prompts`)
|
|
18
|
+
- Examples:
|
|
19
|
+
- `~/work/FEAT-001-design.md` ✅
|
|
20
|
+
- `/tmp/TASK-123-spec.md` ✅
|
|
21
|
+
- `./my-BUG-456-design.md` ✅
|
|
22
|
+
- `~/design.md` ❌ (no task-id)
|
|
23
|
+
- AI will read file and extract task-id from filename
|
|
24
|
+
|
|
25
|
+
**Rule File**: `devflow.2-rev-design.rule.md` from `/devflow-prompts/rules/` (Design review checklist)
|
|
26
|
+
|
|
27
|
+
## Input Validation
|
|
28
|
+
|
|
29
|
+
- **Design file**: Required, must exist
|
|
30
|
+
- **File name**: MUST contain task-id pattern `[A-Z]+-[0-9]+` (e.g., `FEAT-001-design.md`, `TASK-123.md`)
|
|
31
|
+
- **Coding rules**: `devflow.2-rev-design.rule.md` is required
|
|
32
|
+
|
|
33
|
+
**If validation fails**: Stop immediately and output error message.
|
|
34
|
+
|
|
35
|
+
## Output Format
|
|
36
|
+
1. **Review findings** (grouped)
|
|
37
|
+
2. **Concrete improvements** (actionable bullets)
|
|
38
|
+
3. **Revised version**: Full updated `{#task-id}-design.md`
|
|
39
|
+
|
|
40
|
+
## Prompt
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
You are a Principal Engineer reviewer.
|
|
44
|
+
Review the technical design for implementability, edge cases, and alignment with coding rules.
|
|
45
|
+
|
|
46
|
+
INPUTS:
|
|
47
|
+
1) Current {#task-id}-design.md
|
|
48
|
+
<<<
|
|
49
|
+
{USER INPUT HERE - MUST be a file path}
|
|
50
|
+
>>>
|
|
51
|
+
|
|
52
|
+
INSTRUCTIONS:
|
|
53
|
+
|
|
54
|
+
1. **Read Input File**:
|
|
55
|
+
- The user will provide a file path.
|
|
56
|
+
- Use available file-reading tool (e.g. `view_file`) to read content.
|
|
57
|
+
- **Fallback**: If tool is unavailable, ask user to paste content.
|
|
58
|
+
- IF input is NOT a file path, ask user to provide a file path.
|
|
59
|
+
- File paths can be anywhere in the filesystem, not limited to `/devflow-prompts`.
|
|
60
|
+
|
|
61
|
+
2. **Extract Task ID** (for file path input):
|
|
62
|
+
- Extract task-id from filename using pattern: `[A-Z]+-[0-9]+`
|
|
63
|
+
- Examples: `FEAT-001-design.md` → `FEAT-001`
|
|
64
|
+
- If no task-id found, ask user to provide it
|
|
65
|
+
|
|
66
|
+
3. **Coding rules**:
|
|
67
|
+
<<<
|
|
68
|
+
{paste coding rules}
|
|
69
|
+
>>>
|
|
70
|
+
|
|
71
|
+
OUTPUT:
|
|
72
|
+
1) Review findings (grouped by priority):
|
|
73
|
+
- P0 (Critical - Must fix): Major gaps, security risks, blocked implementation
|
|
74
|
+
- P1 (Important - Should fix): Missing edge cases, observability gaps
|
|
75
|
+
- P2 (Improvement - Nice to have): Clarity, naming, minor conflicts
|
|
76
|
+
2) Concrete improvements (actionable bullets)
|
|
77
|
+
3) Produce a revised version:
|
|
78
|
+
- Apply ALL critical improvements (P0/P1)
|
|
79
|
+
- Output ONLY the full updated markdown for {#task-id}-design.md (same template)
|
|
80
|
+
|
|
81
|
+
RULES:
|
|
82
|
+
- Keep headings unchanged.
|
|
83
|
+
- If info is missing from requirement, keep it as open questions instead of guessing.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Review Checklist
|
|
87
|
+
|
|
88
|
+
### Implementability
|
|
89
|
+
- [ ] API contracts detailed enough to implement?
|
|
90
|
+
- [ ] Data model has migration scripts?
|
|
91
|
+
- [ ] Business logic has concrete steps?
|
|
92
|
+
- [ ] Error handling complete?
|
|
93
|
+
|
|
94
|
+
### Edge Cases
|
|
95
|
+
- [ ] Concurrent access handled?
|
|
96
|
+
- [ ] Timeout scenarios?
|
|
97
|
+
- [ ] Resource limits (memory, disk)?
|
|
98
|
+
- [ ] Data consistency?
|
|
99
|
+
|
|
100
|
+
### Security
|
|
101
|
+
- [ ] Input validation complete?
|
|
102
|
+
- [ ] AuthN/AuthZ clear?
|
|
103
|
+
- [ ] Rate limiting?
|
|
104
|
+
- [ ] Data privacy (PII, encryption)?
|
|
105
|
+
|
|
106
|
+
### Observability
|
|
107
|
+
- [ ] Logs sufficient for debugging?
|
|
108
|
+
- [ ] Metrics for monitoring?
|
|
109
|
+
- [ ] Tracing if needed?
|
|
110
|
+
|
|
111
|
+
### Rollout
|
|
112
|
+
- [ ] Feature flag?
|
|
113
|
+
- [ ] Migration plan?
|
|
114
|
+
- [ ] Rollback plan?
|
|
115
|
+
- [ ] Backward compatibility?
|
|
116
|
+
|
|
117
|
+
### Coding Rules Compliance
|
|
118
|
+
- [ ] Follows architecture patterns?
|
|
119
|
+
- [ ] Naming conventions?
|
|
120
|
+
- [ ] Folder structure?
|
|
121
|
+
- [ ] Testing strategy aligned?
|
|
122
|
+
|
|
123
|
+
## Usage Example
|
|
124
|
+
|
|
125
|
+
## Usage Example
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
/devflow.2-rev-design /devflow-prompts/specs/FEAT-001/FEAT-001-design.md
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Next Steps
|
|
132
|
+
After review is done → run `/devflow.3-gen-code` to generate code
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate feature code from technical design (git patch format)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /devflow.3-gen-code
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
Generate feature source code from technical design, output as git unified diff (patch).
|
|
9
|
+
|
|
10
|
+
## Input Requirements
|
|
11
|
+
|
|
12
|
+
**Input Type: File Path (Required)**
|
|
13
|
+
- Provide path to your design file
|
|
14
|
+
- **Filename MUST contain task-id** (e.g., `FEAT-001-design.md`, `TASK-123.md`)
|
|
15
|
+
- Task-id is needed to name output patch file
|
|
16
|
+
- Can be anywhere in filename: `FEAT-001`, `TASK-123`, `BUG-456`
|
|
17
|
+
- **File can be located anywhere** (not limited to `/devflow-prompts`)
|
|
18
|
+
- Examples:
|
|
19
|
+
- `~/projects/FEAT-001-design.md` ✅
|
|
20
|
+
- `/tmp/TASK-123-spec.md` ✅
|
|
21
|
+
- `./my-BUG-789.md` ✅
|
|
22
|
+
- `~/design.md` ❌ (no task-id)
|
|
23
|
+
- AI will read file and extract task-id from filename
|
|
24
|
+
|
|
25
|
+
**Rule File**: `devflow.3-gen-code.rule.md` from `/devflow-prompts/rules/` (Coding standards)
|
|
26
|
+
|
|
27
|
+
**Task Mode (Optional, Default: NEW)**
|
|
28
|
+
- `NEW`: Generating code for a new feature.
|
|
29
|
+
- `UPDATE`: Updating or refactoring existing code.
|
|
30
|
+
|
|
31
|
+
**Coding Rule Files**:
|
|
32
|
+
- `devflow.3-gen-code.rule.md` (required). **MUST define project structure/roots.**
|
|
33
|
+
|
|
34
|
+
## Input Validation
|
|
35
|
+
|
|
36
|
+
- **Design file**: Required, must exist
|
|
37
|
+
- **File name**: Must match pattern `{task-id}-design.md`
|
|
38
|
+
- **Coding rules**: `devflow.3-gen-code.rule.md` is required
|
|
39
|
+
- **Task Mode**: Must be `NEW` or `UPDATE` (case-insensitive)
|
|
40
|
+
|
|
41
|
+
**If validation fails**: Stop immediately and output error message.
|
|
42
|
+
|
|
43
|
+
## Output Format
|
|
44
|
+
|
|
45
|
+
**Git unified diff (patch)** - NOT markdown!
|
|
46
|
+
|
|
47
|
+
**Save to**: `/devflow-prompts/specs/{#task-id}/{#task-id}-feature.patch`
|
|
48
|
+
|
|
49
|
+
Format:
|
|
50
|
+
```diff
|
|
51
|
+
diff --git a/path/to/file.ext b/path/to/file.ext
|
|
52
|
+
index abc123..def456 100644
|
|
53
|
+
--- a/path/to/file.ext
|
|
54
|
+
+++ b/path/to/file.ext
|
|
55
|
+
@@ -10,6 +10,12 @@ existing code
|
|
56
|
+
+new code line 1
|
|
57
|
+
+new code line 2
|
|
58
|
+
existing code
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Prompt
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
You are a Senior Developer.
|
|
65
|
+
Implement the feature EXACTLY following the technical design and coding rules.
|
|
66
|
+
|
|
67
|
+
INPUT 1: {#task-id}-design.md
|
|
68
|
+
<<<
|
|
69
|
+
{USER INPUT HERE - Can be a file path OR design document content}
|
|
70
|
+
>>>
|
|
71
|
+
|
|
72
|
+
INPUT 2: Task Mode
|
|
73
|
+
<<<
|
|
74
|
+
{USER INPUT HERE - NEW | UPDATE}
|
|
75
|
+
>>>
|
|
76
|
+
|
|
77
|
+
INSTRUCTIONS:
|
|
78
|
+
|
|
79
|
+
1. **Behave based on Mode**:
|
|
80
|
+
- **IF Mode is UPDATE**:
|
|
81
|
+
- CRITICAL: You MUST read the actual existing code files referenced in the design first.
|
|
82
|
+
- You are acting as a Maintainer. Safety and backward compatibility are top priorities.
|
|
83
|
+
- ONLY generate changes specified in the design.
|
|
84
|
+
- **IF Mode is NEW**:
|
|
85
|
+
- You are acting as a Creator. Follow standard architecture patterns.
|
|
86
|
+
- Generate complete files for the new feature.
|
|
87
|
+
|
|
88
|
+
2. **Read Input File**:
|
|
89
|
+
- The user will provide a file path.
|
|
90
|
+
- USE `view_file` tool to read its content.
|
|
91
|
+
- IF input is NOT a file path, ask user to provide a file path.
|
|
92
|
+
- File paths can be anywhere in the filesystem, not limited to `/devflow-prompts`.
|
|
93
|
+
|
|
94
|
+
3. **Extract Task ID** (for file path input):
|
|
95
|
+
- Extract task-id from filename using pattern: `[A-Z]+-[0-9]+`
|
|
96
|
+
- Examples: `FEAT-001-design.md` → `FEAT-001`
|
|
97
|
+
- If no task-id found, ask user to provide it
|
|
98
|
+
|
|
99
|
+
4. **Understand Existing Codebase**:
|
|
100
|
+
- Inspect folder structure and naming conventions using **Coding Rules** as a guide.
|
|
101
|
+
- Use `list_dir` to explore relevant directories if paths are not explicit.
|
|
102
|
+
- **IF Mode is UPDATE**:
|
|
103
|
+
- Identify existing patterns (API handlers, services, repos) in the files related to the design.
|
|
104
|
+
- Reuse existing abstractions.
|
|
105
|
+
|
|
106
|
+
INPUT 2: Coding rules (devflow.3-gen-code.rule.md)
|
|
107
|
+
<<<
|
|
108
|
+
{paste coding rules}
|
|
109
|
+
>>>
|
|
110
|
+
|
|
111
|
+
OUTPUT FORMAT:
|
|
112
|
+
- Provide ONLY a git-style patch (unified diff).
|
|
113
|
+
- Include only changed/new files.
|
|
114
|
+
- No explanations outside the diff.
|
|
115
|
+
|
|
116
|
+
RULES:
|
|
117
|
+
1. **General Implementation (All Modes)**:
|
|
118
|
+
- Do not redesign. Only implement what is in the tech doc.
|
|
119
|
+
- Follow layering and naming conventions from coding rules.
|
|
120
|
+
- Add validation, error handling, and logging/metrics hooks as specified in design.
|
|
121
|
+
- **Traceability**: When implementing, add short comments referencing the design section (e.g., `// FEAT-001 §4 API`).
|
|
122
|
+
- **Ambiguity**: If design lacks implementation detail, implement the simplest compliant version and note TODO in code comment.
|
|
123
|
+
- **Ordering**: Generate files in deterministic order (API → domain → infra → tests).
|
|
124
|
+
|
|
125
|
+
2. **Mode-Specific Rules**:
|
|
126
|
+
- **For NEW**:
|
|
127
|
+
- Create full file structures based on templates.
|
|
128
|
+
- Ensure new files are registered in system (e.g. dependency injection, router).
|
|
129
|
+
- **For UPDATE**:
|
|
130
|
+
- **Backward Compatibility**: Existing public interfaces MUST remain working unless design explicitly says to break them.
|
|
131
|
+
- **Minimal Touch**: Do NOT modify lines of code not related to the requirement.
|
|
132
|
+
- **Context Aware**: You must match the style of the *specific file* you are editing, even if it differs slightly from global rules (local consistency).
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Rules/Guidelines
|
|
136
|
+
1. ✅ **No redesign** - Only implement what's in tech doc
|
|
137
|
+
2. ✅ **Follow conventions** - Layering, naming from coding rules
|
|
138
|
+
3. ✅ **Add validation** - Input validation as specified
|
|
139
|
+
4. ✅ **Error handling** - Handle errors as designed
|
|
140
|
+
5. ✅ **Logging/metrics** - Add hooks as specified
|
|
141
|
+
6. ✅ **Minimal changes** - Only necessary changes
|
|
142
|
+
7. ✅ **Traceability** - Reference design section in comments
|
|
143
|
+
8. ✅ **Handle Ambiguity** - Simple version + TODO for missing details
|
|
144
|
+
9. ✅ **Deterministic Order** - API → Domain → Infra → Tests
|
|
145
|
+
|
|
146
|
+
## Usage Example
|
|
147
|
+
|
|
148
|
+
## Usage Example
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
/devflow.3-gen-code /devflow-prompts/specs/FEAT-001/FEAT-001-design.md
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Next Steps
|
|
155
|
+
After applying patch → run `/devflow.3-rev-code` to review
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review generated code patch for quality and correctness
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /devflow.3-rev-code
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
Review generated code patch to check correctness, quality, and alignment with tech doc.
|
|
9
|
+
|
|
10
|
+
## Input Requirements
|
|
11
|
+
|
|
12
|
+
**Input Type: File Paths (Required)**
|
|
13
|
+
- Provide paths to your design file and patch file
|
|
14
|
+
- **At least one filename MUST contain task-id** (e.g., `FEAT-001-design.md`)
|
|
15
|
+
- Task-id is needed to name output files
|
|
16
|
+
- Can be anywhere in filename: `FEAT-001`, `TASK-123`, `BUG-456`
|
|
17
|
+
- **Files can be located anywhere** (not limited to `/devflow-prompts`)
|
|
18
|
+
- Examples:
|
|
19
|
+
- `~/FEAT-001-design.md ~/feature.patch` ✅
|
|
20
|
+
- `/tmp/TASK-123-spec.md /tmp/code.diff` ✅
|
|
21
|
+
- `./design.md ./patch.diff` ❌ (no task-id)
|
|
22
|
+
- AI will read both files and extract task-id from filenames
|
|
23
|
+
|
|
24
|
+
**Rule File**: `devflow.3-rev-code.rule.md` from `/devflow-prompts/rules/` (Code review checklist)
|
|
25
|
+
|
|
26
|
+
**Task Mode (Optional, Default: NEW)**
|
|
27
|
+
- `NEW`: Reviewing new feature code.
|
|
28
|
+
- `UPDATE`: Reviewing update/refactor code (Expect minimal diffs).
|
|
29
|
+
|
|
30
|
+
## Input Validation
|
|
31
|
+
|
|
32
|
+
- **Design file**: Required, must exist
|
|
33
|
+
- **Generated patch**: Required, must be valid git diff format
|
|
34
|
+
- **Coding rules**: `devflow.3-rev-code.rule.md` is required
|
|
35
|
+
|
|
36
|
+
**If validation fails**: Stop immediately and output error message.
|
|
37
|
+
|
|
38
|
+
## Output Format
|
|
39
|
+
1. **Findings** (grouped)
|
|
40
|
+
2. **Mandatory fixes list**
|
|
41
|
+
3. **Corrected patch**: New unified diff with fixes applied
|
|
42
|
+
|
|
43
|
+
## Prompt
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
You are a Tech Lead reviewer.
|
|
47
|
+
Review the generated patch for correctness, code quality, edge cases, and alignment with the tech doc.
|
|
48
|
+
|
|
49
|
+
INPUTS:
|
|
50
|
+
1) Tech doc
|
|
51
|
+
<<<
|
|
52
|
+
{USER INPUT 1 - Can be a file path OR design document content}
|
|
53
|
+
>>>
|
|
54
|
+
|
|
55
|
+
2) Generated patch (diff)
|
|
56
|
+
<<<
|
|
57
|
+
{USER INPUT 2 - Can be a file path OR patch content}
|
|
58
|
+
>>>
|
|
59
|
+
|
|
60
|
+
3) Task Mode (Optional): NEW | UPDATE
|
|
61
|
+
4) Coding rules: <paste content>
|
|
62
|
+
|
|
63
|
+
INSTRUCTIONS:
|
|
64
|
+
|
|
65
|
+
1. **Read Input Files**:
|
|
66
|
+
- The user will provide file paths.
|
|
67
|
+
- USE `view_file` tool to read them.
|
|
68
|
+
- IF inputs are NOT file paths, ask user to provide file paths.
|
|
69
|
+
- File paths can be anywhere in the filesystem, not limited to `/devflow-prompts`.
|
|
70
|
+
|
|
71
|
+
2. **Extract Task ID** (for file path input):
|
|
72
|
+
- Extract task-id from filenames using pattern: `[A-Z]+-[0-9]+`
|
|
73
|
+
- Check both filenames for task-id
|
|
74
|
+
- Examples: `FEAT-001-design.md` → `FEAT-001`
|
|
75
|
+
- If no task-id found, ask user to provide it
|
|
76
|
+
|
|
77
|
+
3. **Context & Mode Awareness**:
|
|
78
|
+
- **IF Mode is UPDATE**:
|
|
79
|
+
- **Backward Compatibility Check**: Does the patch break any existing public signatures?
|
|
80
|
+
- **Legacy Safety**: Does it modify core/shared files unnecessarily?
|
|
81
|
+
- **Minimal Touch**: Reject large refactors not requested in design.
|
|
82
|
+
- **IF Mode is NEW**:
|
|
83
|
+
- Check for architectural compliance and new file structure validity.
|
|
84
|
+
|
|
85
|
+
4. **Coding Rules**:
|
|
86
|
+
- Use the provided Coding Rules content as the "Gold Standard" checklist.
|
|
87
|
+
|
|
88
|
+
OUTPUT:
|
|
89
|
+
1) Findings (grouped):
|
|
90
|
+
- Deviations from tech doc
|
|
91
|
+
- Bugs / incorrect logic
|
|
92
|
+
- Missing validation / error handling
|
|
93
|
+
- Security issues
|
|
94
|
+
- Missing logs/metrics
|
|
95
|
+
- Code smells / refactor suggestions
|
|
96
|
+
2) Mandatory fixes list (must-do)
|
|
97
|
+
3) Produce a corrected patch:
|
|
98
|
+
- Output ONLY a new unified diff patch that applies the fixes (no commentary outside diff)
|
|
99
|
+
|
|
100
|
+
RULES:
|
|
101
|
+
- Prefer minimal diffs.
|
|
102
|
+
- If something cannot be fixed without new requirements, add a TODO and list it in findings.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Review Checklist
|
|
106
|
+
|
|
107
|
+
### Alignment with Tech Doc
|
|
108
|
+
- [ ] Implements all specified endpoints/methods?
|
|
109
|
+
- [ ] Follows data model changes?
|
|
110
|
+
- [ ] Business logic matches UC steps?
|
|
111
|
+
- [ ] Error handling as designed?
|
|
112
|
+
|
|
113
|
+
### Code Quality
|
|
114
|
+
- [ ] Naming conventions followed?
|
|
115
|
+
- [ ] Proper layering (Controller → Service → Repository)?
|
|
116
|
+
- [ ] No code duplication?
|
|
117
|
+
- [ ] Clean, readable code?
|
|
118
|
+
|
|
119
|
+
### Security
|
|
120
|
+
- [ ] Input validation present?
|
|
121
|
+
- [ ] No SQL injection risks?
|
|
122
|
+
- [ ] No XSS vulnerabilities?
|
|
123
|
+
- [ ] Sensitive data not logged?
|
|
124
|
+
|
|
125
|
+
### Error Handling
|
|
126
|
+
- [ ] All edge cases handled?
|
|
127
|
+
- [ ] Proper error messages?
|
|
128
|
+
- [ ] Correct HTTP status codes?
|
|
129
|
+
- [ ] No silent failures?
|
|
130
|
+
|
|
131
|
+
### Observability
|
|
132
|
+
- [ ] Logs added as specified?
|
|
133
|
+
- [ ] Metrics hooks present?
|
|
134
|
+
- [ ] Enough context in logs?
|
|
135
|
+
|
|
136
|
+
### Testing
|
|
137
|
+
- [ ] Code is testable?
|
|
138
|
+
- [ ] Dependencies injectable?
|
|
139
|
+
- [ ] No hard-coded values?
|
|
140
|
+
|
|
141
|
+
## Usage Example
|
|
142
|
+
|
|
143
|
+
## Usage Example
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
/devflow.3-rev-code /devflow-prompts/specs/FEAT-001/FEAT-001-design.md /devflow-prompts/specs/FEAT-001/FEAT-001-feature.patch
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Next Steps
|
|
150
|
+
After reviewing code → run `/devflow.4-gen-test-plan` to create test plan
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create test plan from technical design (unit/integration/E2E)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /devflow.4-gen-test-plan
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
Create test plan document from technical design and coding rules, covering unit/integration/E2E tests.
|
|
9
|
+
|
|
10
|
+
## Input Requirements
|
|
11
|
+
|
|
12
|
+
**Input Type: File Path (Required)**
|
|
13
|
+
- Provide path to your design file
|
|
14
|
+
- **Filename MUST contain task-id** (e.g., `FEAT-001-design.md`, `TASK-123.md`)
|
|
15
|
+
- Task-id is needed to name output test plan file
|
|
16
|
+
- Can be anywhere in filename: `FEAT-001`, `TASK-123`, `BUG-456`
|
|
17
|
+
- **File can be located anywhere** (not limited to `/devflow-prompts`)
|
|
18
|
+
- Examples:
|
|
19
|
+
- `~/Documents/FEAT-001-design.md` ✅
|
|
20
|
+
- `/tmp/TASK-123-spec.md` ✅
|
|
21
|
+
- `./my-BUG-456.md` ✅
|
|
22
|
+
- `~/design.md` ❌ (no task-id)
|
|
23
|
+
- AI will read file and extract task-id from filename
|
|
24
|
+
|
|
25
|
+
**Task Mode (Optional, Default: NEW)**
|
|
26
|
+
- `NEW`: Test plan for new feature.
|
|
27
|
+
- `UPDATE`: Test plan for feature update (Focus on regression).
|
|
28
|
+
|
|
29
|
+
**Coding Rule Files** (from `/devflow-prompts/rules/`):
|
|
30
|
+
- `devflow.4-gen-test-plan.rule.md` (required) - Test guidelines. **MUST define specific test folder structure.**
|
|
31
|
+
|
|
32
|
+
**Language** (optional): Output language (default: `en`)
|
|
33
|
+
|
|
34
|
+
## Input Validation
|
|
35
|
+
|
|
36
|
+
- **Design file**: Required, must exist
|
|
37
|
+
- **File name**: Must match pattern `{task-id}-design.md`
|
|
38
|
+
- **Coding rules**: `devflow.4-gen-test-plan.rule.md` is required
|
|
39
|
+
- **Language**: If specified, must be one of: `en`, `vi`, `ja`, `ko`
|
|
40
|
+
|
|
41
|
+
**If validation fails**: Stop immediately and output error message.
|
|
42
|
+
|
|
43
|
+
## Output Format
|
|
44
|
+
File markdown: `{#task-id}-test.md`
|
|
45
|
+
|
|
46
|
+
**Folder Structure**: Save in `/devflow-prompts/specs/{#task-id}/`
|
|
47
|
+
```
|
|
48
|
+
/devflow-prompts/specs/{#task-id}/{#task-id}-test.md
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Template
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# {#task-id} - Test Plan
|
|
55
|
+
|
|
56
|
+
## 1. Scope
|
|
57
|
+
- In scope:
|
|
58
|
+
- Out of scope:
|
|
59
|
+
|
|
60
|
+
## 2. Test levels & strategy
|
|
61
|
+
### Unit tests
|
|
62
|
+
- Targets:
|
|
63
|
+
- What to mock:
|
|
64
|
+
- Coverage goals:
|
|
65
|
+
- Test cases list:
|
|
66
|
+
|
|
67
|
+
### Integration tests
|
|
68
|
+
- Dependencies:
|
|
69
|
+
- Setup/teardown:
|
|
70
|
+
- Test cases list:
|
|
71
|
+
|
|
72
|
+
### E2E tests (if applicable)
|
|
73
|
+
- User flows:
|
|
74
|
+
- Test cases list:
|
|
75
|
+
|
|
76
|
+
## 3. Detailed test cases
|
|
77
|
+
### TC-1: <title>
|
|
78
|
+
- Level: Unit/Integration/E2E
|
|
79
|
+
- Preconditions:
|
|
80
|
+
- Steps:
|
|
81
|
+
- Expected:
|
|
82
|
+
- Notes:
|
|
83
|
+
|
|
84
|
+
## 4. Negative & Edge cases
|
|
85
|
+
- ...
|
|
86
|
+
|
|
87
|
+
## 5. Non-functional tests (if needed)
|
|
88
|
+
- Performance:
|
|
89
|
+
- Security:
|
|
90
|
+
- Concurrency:
|
|
91
|
+
|
|
92
|
+
## 6. Test data
|
|
93
|
+
- Fixtures/seed:
|
|
94
|
+
- Data matrix:
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Prompt
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
You are a QA Lead + SDET.
|
|
101
|
+
Create a test plan derived from the technical design and coding rules.
|
|
102
|
+
|
|
103
|
+
LANGUAGE SETTING:
|
|
104
|
+
- Default: English (en)
|
|
105
|
+
- User can override by adding "Language: {vi|ja|ko}" in input
|
|
106
|
+
- Write in the specified language
|
|
107
|
+
|
|
108
|
+
INPUTS:
|
|
109
|
+
1) {#task-id}-design.md
|
|
110
|
+
<<<
|
|
111
|
+
{USER INPUT HERE - Can be a file path OR design document content}
|
|
112
|
+
{USER INPUT HERE - Can be a file path OR design document content}
|
|
113
|
+
>>>
|
|
114
|
+
3) Task Mode (Optional): NEW | UPDATE
|
|
115
|
+
4) Coding rules: <paste content>
|
|
116
|
+
|
|
117
|
+
INSTRUCTIONS:
|
|
118
|
+
|
|
119
|
+
1. **Read Input File**:
|
|
120
|
+
- The user will provide a file path.
|
|
121
|
+
- USE `view_file` tool to read its content.
|
|
122
|
+
- IF input is NOT a file path, ask user to provide a file path.
|
|
123
|
+
- File paths can be anywhere in the filesystem, not limited to `/devflow-prompts`.
|
|
124
|
+
|
|
125
|
+
2. **Extract Task ID** (for file path input):
|
|
126
|
+
- Extract task-id from filename using pattern: `[A-Z]+-[0-9]+`
|
|
127
|
+
- Examples: `FEAT-001-design.md` → `FEAT-001`
|
|
128
|
+
- If no task-id found, ask user to provide it
|
|
129
|
+
|
|
130
|
+
123. **Task Mode & Context**:
|
|
131
|
+
- **IF Mode is UPDATE**:
|
|
132
|
+
- **Regression Strategy**: MANDATORY section. List legacy features that MUST NOT break.
|
|
133
|
+
- Inspect existing test files (using `list_dir`) to match current test style/naming.
|
|
134
|
+
- **IF Mode is NEW**:
|
|
135
|
+
- Focus on complete coverage for new requirements.
|
|
136
|
+
|
|
137
|
+
4. **Coding rules**:
|
|
138
|
+
<<<
|
|
139
|
+
{paste coding rules}
|
|
140
|
+
>>>
|
|
141
|
+
|
|
142
|
+
OUTPUT:
|
|
143
|
+
- Produce ONLY the markdown content for file: {#task-id}-test.md
|
|
144
|
+
- Follow EXACTLY this template structure:
|
|
145
|
+
<<<
|
|
146
|
+
{PASTE TEMPLATE ABOVE HERE}
|
|
147
|
+
>>>
|
|
148
|
+
|
|
149
|
+
RULES:
|
|
150
|
+
- Every use case and major rule in tech doc must be covered by at least one test.
|
|
151
|
+
- Include negative tests: validation errors, permission checks, missing resources, conflict states.
|
|
152
|
+
- Clearly state what to mock vs integrate.
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Rules/Guidelines
|
|
156
|
+
1. ✅ **Coverage** - Each UC and rule must have tests
|
|
157
|
+
2. ✅ **Negative tests** - Validation errors, permission denied, not found
|
|
158
|
+
3. ✅ **Mock vs Integrate** - Clear what to mock, what to integrate
|
|
159
|
+
4. ✅ **Test data** - Specific fixtures/seed data
|
|
160
|
+
5. ✅ **Edge cases** - Concurrent, timeout, limits
|
|
161
|
+
|
|
162
|
+
## Usage Example
|
|
163
|
+
|
|
164
|
+
## Usage Example
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
/devflow.4-gen-test-plan /devflow-prompts/specs/FEAT-001/FEAT-001-design.md
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Next Steps
|
|
171
|
+
After test plan is ready → run `/devflow.4-rev-test-plan` to review
|