create-sdd-project 0.2.2 → 0.3.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 +120 -110
- package/lib/config.js +2 -2
- package/lib/generator.js +7 -28
- package/lib/init-generator.js +48 -37
- package/lib/init-wizard.js +2 -1
- package/lib/scanner.js +16 -0
- package/package.json +1 -1
- package/template/.claude/agents/backend-developer.md +1 -1
- package/template/.claude/agents/frontend-developer.md +1 -1
- package/template/.claude/settings.json +1 -1
- package/template/.claude/skills/bug-workflow/SKILL.md +2 -2
- package/template/.claude/skills/development-workflow/SKILL.md +18 -18
- package/template/.claude/skills/development-workflow/references/add-feature-template.md +16 -0
- package/template/.claude/skills/development-workflow/references/branching-strategy.md +1 -1
- package/template/.claude/skills/development-workflow/references/complexity-guide.md +6 -6
- package/template/.claude/skills/development-workflow/references/failure-handling.md +3 -3
- package/template/.claude/skills/development-workflow/references/pr-template.md +3 -3
- package/template/.claude/skills/development-workflow/references/ticket-template.md +3 -3
- package/template/.claude/skills/development-workflow/references/workflow-example.md +7 -7
- package/template/.claude/skills/project-memory/SKILL.md +9 -9
- package/template/.gemini/agents/backend-developer.md +1 -1
- package/template/.gemini/agents/frontend-developer.md +1 -1
- package/template/.gemini/commands/add-feature.toml +2 -0
- package/template/.gemini/commands/next-task.toml +2 -2
- package/template/.gemini/commands/show-progress.toml +2 -2
- package/template/.gemini/commands/start-task.toml +1 -1
- package/template/.gemini/skills/bug-workflow/SKILL.md +4 -4
- package/template/.gemini/skills/development-workflow/SKILL.md +18 -18
- package/template/.gemini/skills/development-workflow/references/add-feature-template.md +16 -0
- package/template/.gemini/skills/development-workflow/references/branching-strategy.md +1 -1
- package/template/.gemini/skills/development-workflow/references/complexity-guide.md +6 -6
- package/template/.gemini/skills/development-workflow/references/failure-handling.md +3 -3
- package/template/.gemini/skills/development-workflow/references/pr-template.md +3 -3
- package/template/.gemini/skills/development-workflow/references/ticket-template.md +3 -3
- package/template/.gemini/skills/development-workflow/references/workflow-example.md +7 -7
- package/template/.gemini/skills/project-memory/SKILL.md +8 -8
- package/template/AGENTS.md +5 -5
- package/template/CLAUDE.md +2 -2
- package/template/ai-specs/specs/base-standards.mdc +8 -8
- package/template/docs/project_notes/product-tracker.md +56 -0
- package/template/.claude/skills/development-workflow/references/sprint-init-template.md +0 -82
- package/template/.gemini/commands/init-sprint.toml +0 -2
- package/template/.gemini/skills/development-workflow/references/sprint-init-template.md +0 -82
- package/template/docs/project_notes/sprint-0-tracker.md +0 -66
|
@@ -23,7 +23,7 @@ description: "Handles bug discovery, triage, investigation, and resolution. Invo
|
|
|
23
23
|
|----------|----------|------|
|
|
24
24
|
| Critical | Immediate (<1h) | **C: Hotfix** — Confirm → Branch from main → Minimal fix → Test → Deploy → Document → Post-mortem |
|
|
25
25
|
| High | Same day | **B: Standard** — Triage → Branch → Investigate → Fix (TDD) → Validate → Document → PR |
|
|
26
|
-
| Medium | Within
|
|
26
|
+
| Medium | Within cycle | **A: Quick** — Triage → Investigate → Fix → Test → Document → Commit |
|
|
27
27
|
| Low | Backlog | **A: Quick** or escalate to backlog |
|
|
28
28
|
|
|
29
29
|
**Escalate to `development-workflow`** when: >1 day work, architectural changes needed, or significant refactoring required.
|
|
@@ -99,7 +99,7 @@ Run `production-code-validator`. Ensure no debug code, proper error handling.
|
|
|
99
99
|
|
|
100
100
|
| File | When |
|
|
101
101
|
|------|------|
|
|
102
|
-
| `
|
|
102
|
+
| `product-tracker.md` | Bug being worked on (Active Session) |
|
|
103
103
|
| `bugs.md` | Always |
|
|
104
104
|
| `decisions.md` | If architectural decision made |
|
|
105
105
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: development-workflow
|
|
3
|
-
description: "Orchestrates the complete development workflow for each
|
|
3
|
+
description: "Orchestrates the complete development workflow for each feature. Invoke with: 'start task F001', 'show progress', 'next task', or 'add feature'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Development Workflow Skill
|
|
@@ -8,7 +8,7 @@ description: "Orchestrates the complete development workflow for each task. Invo
|
|
|
8
8
|
## Quick Reference
|
|
9
9
|
|
|
10
10
|
0. **Spec** — `spec-creator` drafts/updates specs → SPEC APPROVAL (Std/Cplx)
|
|
11
|
-
1. **Setup** — Branch, ticket,
|
|
11
|
+
1. **Setup** — Branch, ticket, product tracker → TICKET APPROVAL (Std/Cplx)
|
|
12
12
|
2. **Plan** — Planner agent writes implementation plan → PLAN APPROVAL (Std/Cplx)
|
|
13
13
|
3. **Implement** — Developer agent, TDD, real-time spec sync
|
|
14
14
|
4. **Finalize** — Tests/lint/build, `production-code-validator` → COMMIT APPROVAL
|
|
@@ -19,19 +19,19 @@ description: "Orchestrates the complete development workflow for each task. Invo
|
|
|
19
19
|
|
|
20
20
|
## Commands
|
|
21
21
|
|
|
22
|
-
- `start task
|
|
23
|
-
- `next task` — Start the next pending
|
|
24
|
-
- `show
|
|
25
|
-
- `
|
|
22
|
+
- `start task F001` — Begin working on a specific feature
|
|
23
|
+
- `next task` — Start the next pending feature from product tracker
|
|
24
|
+
- `show progress` — View feature completion status
|
|
25
|
+
- `add feature "description"` — Add a new feature to the product tracker
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
29
|
## On Skill Start
|
|
30
30
|
|
|
31
|
-
1. Read the
|
|
31
|
+
1. Read the product tracker (`docs/project_notes/product-tracker.md`) → **Active Session** section for context recovery
|
|
32
32
|
2. Read `CLAUDE.md` section 2 → **Autonomy Level**
|
|
33
33
|
3. Read `docs/project_notes/key_facts.md` → **Branching Strategy**
|
|
34
|
-
4. If resuming an active
|
|
34
|
+
4. If resuming an active feature → continue from the step recorded in the tracker's Active Session
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
@@ -47,7 +47,7 @@ Read the **Autonomy Level** from `CLAUDE.md` section 2.
|
|
|
47
47
|
| Commit Approval (Step 4) | Required | Auto | Auto | Auto |
|
|
48
48
|
| Merge Approval (Step 5) | Required | Required | Required | Auto |
|
|
49
49
|
|
|
50
|
-
- **Auto** = proceed without asking; log in
|
|
50
|
+
- **Auto** = proceed without asking; log in product tracker → "Auto-Approved Decisions" table
|
|
51
51
|
- **Required** = ask user explicitly; do NOT continue without approval
|
|
52
52
|
- **Quality gates always run** regardless of level (tests, lint, build, validators)
|
|
53
53
|
|
|
@@ -83,11 +83,11 @@ Ask user to classify complexity before starting. See `references/complexity-guid
|
|
|
83
83
|
|
|
84
84
|
See `references/branching-strategy.md` for details.
|
|
85
85
|
|
|
86
|
-
1. Verify
|
|
87
|
-
2. Create feature branch: `feature
|
|
86
|
+
1. Verify product tracker exists, no active feature, dependencies met
|
|
87
|
+
2. Create feature branch: `feature/<feature-id>-<short-description>`
|
|
88
88
|
3. **Std/Cplx:** Generate ticket from `references/ticket-template.md` → fill `## Spec` section
|
|
89
89
|
4. **Complex:** Also review `decisions.md` for related ADRs
|
|
90
|
-
5. Update
|
|
90
|
+
5. Update product tracker → Active Session: feature, step `1/6 (Setup)`, branch, complexity
|
|
91
91
|
|
|
92
92
|
**→ CHECKPOINT: Ticket Approval** (Std/Cplx only — Simple skips to Step 3)
|
|
93
93
|
|
|
@@ -95,7 +95,7 @@ See `references/branching-strategy.md` for details.
|
|
|
95
95
|
|
|
96
96
|
## Step 2: Plan (Standard/Complex only)
|
|
97
97
|
|
|
98
|
-
1. Use Task tool with planner agent (`backend-planner` for
|
|
98
|
+
1. Use Task tool with planner agent (`backend-planner` for backend features, `frontend-planner` for frontend features)
|
|
99
99
|
2. Agent writes Implementation Plan into ticket's `## Implementation Plan`
|
|
100
100
|
3. Update tracker: step `2/6 (Plan)`
|
|
101
101
|
|
|
@@ -115,7 +115,7 @@ See `references/branching-strategy.md` for details.
|
|
|
115
115
|
- UI components → `docs/specs/ui-components.md` (MANDATORY)
|
|
116
116
|
- Env variables → `.env.example` | ADRs → `decisions.md`
|
|
117
117
|
|
|
118
|
-
**Spec deviation** → document in
|
|
118
|
+
**Spec deviation** → document in product tracker Active Session and ask for approval.
|
|
119
119
|
|
|
120
120
|
Update tracker: step `3/6 (Implement)`, context summary.
|
|
121
121
|
|
|
@@ -154,7 +154,7 @@ Update tracker: step `5/6 (Review)`
|
|
|
154
154
|
## Step 6: Complete
|
|
155
155
|
|
|
156
156
|
1. Delete feature branch (local + remote)
|
|
157
|
-
2. Update
|
|
157
|
+
2. Update product tracker: feature → done, add to Completion Log, update progress
|
|
158
158
|
3. Record bugs in `bugs.md`, decisions in `decisions.md`
|
|
159
159
|
4. Clear Active Session → "No active work"
|
|
160
160
|
|
|
@@ -177,18 +177,18 @@ Update tracker: step `5/6 (Review)`
|
|
|
177
177
|
- `references/ticket-template.md` — Ticket format
|
|
178
178
|
- `references/pr-template.md` — PR template
|
|
179
179
|
- `references/branching-strategy.md` — Branching guide
|
|
180
|
-
- `references/
|
|
180
|
+
- `references/add-feature-template.md` — Add feature to tracker
|
|
181
181
|
- `references/complexity-guide.md` — Complexity classification
|
|
182
182
|
- `references/workflow-example.md` — Full worked example
|
|
183
183
|
- `references/failure-handling.md` — Recovery & rollbacks
|
|
184
184
|
|
|
185
185
|
## Constraints
|
|
186
186
|
|
|
187
|
-
- **One
|
|
187
|
+
- **One feature at a time** — never start a new feature before completing current
|
|
188
188
|
- **TDD mandatory** — all code needs tests
|
|
189
189
|
- **Type safety** — fully typed, no `any`
|
|
190
190
|
- **English only** — all technical artifacts
|
|
191
191
|
- **Memory first** — check `project_notes/` before changes
|
|
192
|
-
- **
|
|
192
|
+
- **Product tracker** — keep Active Session updated at every step
|
|
193
193
|
- **Correct agents** — Backend → `backend-planner` + `backend-developer`, Frontend → `frontend-planner` + `frontend-developer`
|
|
194
194
|
- **Correct base branch** — check `key_facts.md` before creating branches
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Add Feature Template
|
|
2
|
+
|
|
3
|
+
Use this template when running `add feature "description"`.
|
|
4
|
+
|
|
5
|
+
## How to Add a Feature
|
|
6
|
+
|
|
7
|
+
1. Read the product tracker (`docs/project_notes/product-tracker.md`)
|
|
8
|
+
2. Determine the next feature ID (F001, F002, ...)
|
|
9
|
+
3. Add a row to the Features table
|
|
10
|
+
4. Use `start task F001` to begin working on it
|
|
11
|
+
|
|
12
|
+
## Feature ID Convention
|
|
13
|
+
|
|
14
|
+
- **Format:** F001, F002, F003... (sequential)
|
|
15
|
+
- **Type:** backend, frontend, fullstack, infra
|
|
16
|
+
- **Branch:** `feature/<id>-<short-desc>` (e.g., `feature/F001-external-api`)
|
|
@@ -19,23 +19,23 @@ Before starting any task, ask the user to classify its complexity using **contex
|
|
|
19
19
|
|
|
20
20
|
## Examples
|
|
21
21
|
|
|
22
|
-
**Example 1 -
|
|
22
|
+
**Example 1 - Feature might overlap with existing work:**
|
|
23
23
|
```
|
|
24
|
-
What complexity level for
|
|
24
|
+
What complexity level for F003 (Implement refresh token rotation)?
|
|
25
25
|
|
|
26
26
|
1. Simple (Recommended)
|
|
27
|
-
Verify existing implementation in
|
|
27
|
+
Verify existing implementation in F001, add tests if missing
|
|
28
28
|
|
|
29
29
|
2. Standard
|
|
30
30
|
Add additional rotation logic or edge cases
|
|
31
31
|
|
|
32
|
-
3. Skip
|
|
33
|
-
Already done in
|
|
32
|
+
3. Skip F003
|
|
33
|
+
Already done in F001, move to F004 (auth controller)
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
**Example 2 - Standard new feature:**
|
|
37
37
|
```
|
|
38
|
-
What complexity level for
|
|
38
|
+
What complexity level for F002 (Create auth middleware)?
|
|
39
39
|
|
|
40
40
|
1. Simple
|
|
41
41
|
Straightforward middleware, minimal logic
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
|
|
69
69
|
**Recovery:**
|
|
70
70
|
1. **Identify** the blocking task/resource
|
|
71
|
-
2. **Document** the block in
|
|
71
|
+
2. **Document** the block in product tracker "Active Session" section
|
|
72
72
|
3. **Options:**
|
|
73
73
|
- Wait for blocker to resolve
|
|
74
74
|
- Switch to different task
|
|
75
75
|
- Create mock/stub to continue
|
|
76
76
|
|
|
77
|
-
**Update
|
|
78
|
-
- Change
|
|
77
|
+
**Update product tracker:**
|
|
78
|
+
- Change feature status to Blocked
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -14,10 +14,10 @@ gh pr create --base main --title "<type>(<scope>): <description>" --body "$(cat
|
|
|
14
14
|
|
|
15
15
|
[One paragraph: what this PR does and why]
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Feature Reference
|
|
18
18
|
|
|
19
|
-
- **
|
|
20
|
-
- **Ticket:** [docs/tickets/
|
|
19
|
+
- **Feature:** [F001]
|
|
20
|
+
- **Ticket:** [docs/tickets/feature-id.md]
|
|
21
21
|
|
|
22
22
|
## Changes
|
|
23
23
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# [
|
|
1
|
+
# [FEATURE-ID]: [Feature Title]
|
|
2
2
|
|
|
3
|
-
**
|
|
4
|
-
**Status:** In Progress | **Branch:** feature/
|
|
3
|
+
**Feature:** [ID] | **Type:** [Backend/Frontend/Fullstack]-[Feature/Bugfix/Refactor] | **Priority:** [High/Medium/Low]
|
|
4
|
+
**Status:** In Progress | **Branch:** feature/[FEATURE-ID]-[short-description]
|
|
5
5
|
**Created:** [YYYY-MM-DD] | **Dependencies:** [List or "None"]
|
|
6
6
|
|
|
7
7
|
---
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Workflow Example:
|
|
1
|
+
# Workflow Example: Feature F001 (Simple, L2 Trusted, github-flow)
|
|
2
2
|
|
|
3
3
|
## On Skill Start
|
|
4
4
|
|
|
5
|
-
1. Read
|
|
5
|
+
1. Read product tracker → Active Session → No active feature
|
|
6
6
|
2. `CLAUDE.md` → Autonomy Level 2 (Trusted)
|
|
7
7
|
3. `key_facts.md` → branching: github-flow (base: `main`)
|
|
8
8
|
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
git checkout main && git pull
|
|
15
|
-
git checkout -b feature/
|
|
15
|
+
git checkout -b feature/F001-express-setup
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Update
|
|
18
|
+
Update product tracker → Active Session: F001, step `1/6`, branch, complexity: Simple.
|
|
19
19
|
|
|
20
20
|
## Step 2: Plan — Skipped (Simple task)
|
|
21
21
|
|
|
@@ -72,7 +72,7 @@ git commit -m "feat(backend): initialize Express + TypeScript project
|
|
|
72
72
|
## Step 5: Review
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
-
git push -u origin feature/
|
|
75
|
+
git push -u origin feature/F001-express-setup
|
|
76
76
|
gh pr create --base main --title "feat(backend): initialize Express + TypeScript project" --body "..."
|
|
77
77
|
gh pr merge --squash
|
|
78
78
|
```
|
|
@@ -81,7 +81,7 @@ gh pr merge --squash
|
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
83
|
git checkout main && git pull
|
|
84
|
-
git branch -d feature/
|
|
84
|
+
git branch -d feature/F001-express-setup
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
Update
|
|
87
|
+
Update product tracker: F001 → done, add to Completion Log, clear Active Session.
|
|
@@ -7,7 +7,7 @@ description: "Set up and maintain a structured project memory system in docs/pro
|
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
Maintain institutional knowledge for projects by establishing a structured memory system in `docs/project_notes/`. This skill sets up three key memory files (bugs, decisions, key facts) plus
|
|
10
|
+
Maintain institutional knowledge for projects by establishing a structured memory system in `docs/project_notes/`. This skill sets up three key memory files (bugs, decisions, key facts) plus the product tracker, and configures the main AI instruction file to automatically reference and maintain them.
|
|
11
11
|
|
|
12
12
|
## When to Use This Skill
|
|
13
13
|
|
|
@@ -32,14 +32,14 @@ docs/
|
|
|
32
32
|
├── bugs.md # Bug log with solutions
|
|
33
33
|
├── decisions.md # Architectural Decision Records
|
|
34
34
|
├── key_facts.md # Project configuration and constants
|
|
35
|
-
└──
|
|
35
|
+
└── product-tracker.md # Feature backlog, active session, completion log
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
**Initial file content:** Copy templates from the `references/` directory in this skill:
|
|
39
39
|
- Use `references/bugs_template.md` for initial `bugs.md`
|
|
40
40
|
- Use `references/decisions_template.md` for initial `decisions.md`
|
|
41
41
|
- Use `references/key_facts_template.md` for initial `key_facts.md`
|
|
42
|
-
-
|
|
42
|
+
- Product tracker is created using the development-workflow skill
|
|
43
43
|
|
|
44
44
|
### 2. Configure AI Instruction File - Memory-Aware Behavior
|
|
45
45
|
|
|
@@ -51,7 +51,7 @@ Add or update a "Project Memory System" section in the project's main AI instruc
|
|
|
51
51
|
This project maintains institutional knowledge in `docs/project_notes/`.
|
|
52
52
|
|
|
53
53
|
### Memory Files
|
|
54
|
-
- **
|
|
54
|
+
- **product-tracker.md** - Feature backlog, active session, completion log
|
|
55
55
|
- **bugs.md** - Bug log with dates, solutions, and prevention notes
|
|
56
56
|
- **decisions.md** - Architectural Decision Records (ADRs)
|
|
57
57
|
- **key_facts.md** - Project configuration, ports, important URLs
|
|
@@ -68,7 +68,7 @@ This project maintains institutional knowledge in `docs/project_notes/`.
|
|
|
68
68
|
- Check `docs/project_notes/key_facts.md`
|
|
69
69
|
|
|
70
70
|
**When completing work:**
|
|
71
|
-
- Update
|
|
71
|
+
- Update product tracker and add to Completion Log
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
### 3. Searching Memory Files
|
|
@@ -116,7 +116,7 @@ When encountering problems or making decisions, proactively search memory files:
|
|
|
116
116
|
|
|
117
117
|
- User is responsible for manual cleanup
|
|
118
118
|
- Remove very old bug entries (6+ months) that are no longer relevant
|
|
119
|
-
-
|
|
119
|
+
- Review and clean up completed features in product tracker
|
|
120
120
|
- Keep all decisions (they provide historical context)
|
|
121
121
|
- Update key_facts.md when project configuration changes
|
|
122
122
|
|
|
@@ -126,7 +126,7 @@ When encountering problems or making decisions, proactively search memory files:
|
|
|
126
126
|
- **references/decisions_template.md** - ADR format with examples
|
|
127
127
|
- **references/key_facts_template.md** - Key facts organization with examples
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
Product tracker is created using the development-workflow skill.
|
|
130
130
|
|
|
131
131
|
## Tips for Effective Memory Management
|
|
132
132
|
|
|
@@ -138,7 +138,7 @@ Sprint trackers are created using the development-workflow skill.
|
|
|
138
138
|
|
|
139
139
|
## Integration with Other Skills
|
|
140
140
|
|
|
141
|
-
- **development-workflow**: Updates
|
|
141
|
+
- **development-workflow**: Updates product tracker and memory files during task execution
|
|
142
142
|
- **bug-workflow**: Documents bugs and solutions in bugs.md
|
|
143
143
|
|
|
144
144
|
## Success Criteria
|
|
@@ -146,7 +146,7 @@ Sprint trackers are created using the development-workflow skill.
|
|
|
146
146
|
This skill is successfully deployed when:
|
|
147
147
|
|
|
148
148
|
- `docs/project_notes/` directory exists with memory files
|
|
149
|
-
-
|
|
149
|
+
- Product tracker exists with feature backlog
|
|
150
150
|
- AI instruction file includes "Project Memory System" section
|
|
151
151
|
- Memory files follow template format
|
|
152
152
|
- AI assistant checks memory files before proposing changes
|
|
@@ -28,4 +28,4 @@ Implement the task following the Implementation Plan in the ticket. Use strict T
|
|
|
28
28
|
- ALWAYS use explicit types (no `any`)
|
|
29
29
|
- ALWAYS handle errors with domain error classes
|
|
30
30
|
- NEVER modify code outside the scope of the current ticket
|
|
31
|
-
- ALWAYS verify implementation matches the approved spec. If deviation needed, document in
|
|
31
|
+
- ALWAYS verify implementation matches the approved spec. If deviation needed, document in product tracker's Active Session and ask for approval
|
|
@@ -28,4 +28,4 @@ Implement the task following the Implementation Plan in the ticket. Use strict T
|
|
|
28
28
|
- ALWAYS use `'use client'` for components with hooks
|
|
29
29
|
- ALWAYS handle loading and error states
|
|
30
30
|
- NEVER modify code outside the scope of the current ticket
|
|
31
|
-
- ALWAYS verify implementation matches the approved spec. If deviation needed, document in
|
|
31
|
+
- ALWAYS verify implementation matches the approved spec. If deviation needed, document in product tracker's Active Session and ask for approval
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
description = "Start the next pending
|
|
2
|
-
prompt = "Read the
|
|
1
|
+
description = "Start the next pending feature from the product tracker"
|
|
2
|
+
prompt = "Read the product tracker in docs/project_notes/ and start the next pending feature. Follow the development-workflow skill in .gemini/skills/development-workflow/SKILL.md"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
description = "Show current
|
|
2
|
-
prompt = "Read the
|
|
1
|
+
description = "Show current progress and active feature status"
|
|
2
|
+
prompt = "Read the product tracker in docs/project_notes/ and show: current progress (features done vs total), active feature and step, and list of pending features."
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
description = "Start working on a specific
|
|
1
|
+
description = "Start working on a specific feature (e.g., /start-task F001)"
|
|
2
2
|
prompt = "Start task {{args}}. Follow the development-workflow skill in .gemini/skills/development-workflow/SKILL.md"
|
|
@@ -23,7 +23,7 @@ description: "Handles bug discovery, triage, investigation, and resolution. Invo
|
|
|
23
23
|
|----------|----------|------|
|
|
24
24
|
| Critical | Immediate (<1h) | **C: Hotfix** — Confirm → Branch from main → Minimal fix → Test → Deploy → Document → Post-mortem |
|
|
25
25
|
| High | Same day | **B: Standard** — Triage → Branch → Investigate → Fix (TDD) → Validate → Document → PR |
|
|
26
|
-
| Medium | Within
|
|
26
|
+
| Medium | Within cycle | **A: Quick** — Triage → Investigate → Fix → Test → Document → Commit |
|
|
27
27
|
| Low | Backlog | **A: Quick** or escalate to backlog |
|
|
28
28
|
|
|
29
29
|
**Escalate to `development-workflow`** when: >1 day work, architectural changes needed, or significant refactoring required.
|
|
@@ -60,7 +60,7 @@ Find root cause, not symptoms. Techniques: git bisect, layer isolation (Frontend
|
|
|
60
60
|
|
|
61
61
|
## Step 5: Validate
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Run `production-code-validator`. Ensure no debug code, proper error handling.
|
|
64
64
|
|
|
65
65
|
## Step 6: Document in bugs.md
|
|
66
66
|
|
|
@@ -78,7 +78,7 @@ Follow `production-code-validator` instructions in `.gemini/agents/`. Ensure no
|
|
|
78
78
|
|
|
79
79
|
## Step 7: Commit/PR
|
|
80
80
|
|
|
81
|
-
**Commit format:** `fix(<area>): <description>` + body (bug, root cause, fix)
|
|
81
|
+
**Commit format:** `fix(<area>): <description>` + body (bug, root cause, fix) + `Co-Authored-By: Claude <noreply@anthropic.com>`
|
|
82
82
|
|
|
83
83
|
**Hotfix PR:** `--base main` always. After merge in GitFlow: merge main back to develop. Tag: `vX.Y.Z+1`.
|
|
84
84
|
|
|
@@ -99,7 +99,7 @@ Follow `production-code-validator` instructions in `.gemini/agents/`. Ensure no
|
|
|
99
99
|
|
|
100
100
|
| File | When |
|
|
101
101
|
|------|------|
|
|
102
|
-
| `
|
|
102
|
+
| `product-tracker.md` | Bug being worked on (Active Session) |
|
|
103
103
|
| `bugs.md` | Always |
|
|
104
104
|
| `decisions.md` | If architectural decision made |
|
|
105
105
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: development-workflow
|
|
3
|
-
description: "Orchestrates the complete development workflow for each
|
|
3
|
+
description: "Orchestrates the complete development workflow for each feature. Invoke with: 'start task F001', 'show progress', 'next task', or 'add feature'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Development Workflow Skill
|
|
@@ -8,7 +8,7 @@ description: "Orchestrates the complete development workflow for each task. Invo
|
|
|
8
8
|
## Quick Reference
|
|
9
9
|
|
|
10
10
|
0. **Spec** — `spec-creator` drafts/updates specs → SPEC APPROVAL (Std/Cplx)
|
|
11
|
-
1. **Setup** — Branch, ticket,
|
|
11
|
+
1. **Setup** — Branch, ticket, product tracker → TICKET APPROVAL (Std/Cplx)
|
|
12
12
|
2. **Plan** — Planner agent writes implementation plan → PLAN APPROVAL (Std/Cplx)
|
|
13
13
|
3. **Implement** — Developer agent, TDD, real-time spec sync
|
|
14
14
|
4. **Finalize** — Tests/lint/build, `production-code-validator` → COMMIT APPROVAL
|
|
@@ -19,19 +19,19 @@ description: "Orchestrates the complete development workflow for each task. Invo
|
|
|
19
19
|
|
|
20
20
|
## Commands
|
|
21
21
|
|
|
22
|
-
- `start task
|
|
23
|
-
- `next task` — Start the next pending
|
|
24
|
-
- `show
|
|
25
|
-
- `
|
|
22
|
+
- `start task F001` — Begin working on a specific feature
|
|
23
|
+
- `next task` — Start the next pending feature from product tracker
|
|
24
|
+
- `show progress` — View feature completion status
|
|
25
|
+
- `add feature "description"` — Add a new feature to the product tracker
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
29
|
## On Skill Start
|
|
30
30
|
|
|
31
|
-
1. Read the
|
|
31
|
+
1. Read the product tracker (`docs/project_notes/product-tracker.md`) → **Active Session** section for context recovery
|
|
32
32
|
2. Read `GEMINI.md` → **Autonomy Level**
|
|
33
33
|
3. Read `docs/project_notes/key_facts.md` → **Branching Strategy**
|
|
34
|
-
4. If resuming an active
|
|
34
|
+
4. If resuming an active feature → continue from the step recorded in the tracker's Active Session
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
@@ -47,7 +47,7 @@ Read the **Autonomy Level** from `GEMINI.md`.
|
|
|
47
47
|
| Commit Approval (Step 4) | Required | Auto | Auto | Auto |
|
|
48
48
|
| Merge Approval (Step 5) | Required | Required | Required | Auto |
|
|
49
49
|
|
|
50
|
-
- **Auto** = proceed without asking; log in
|
|
50
|
+
- **Auto** = proceed without asking; log in product tracker → "Auto-Approved Decisions" table
|
|
51
51
|
- **Required** = ask user explicitly; do NOT continue without approval
|
|
52
52
|
- **Quality gates always run** regardless of level (tests, lint, build, validators)
|
|
53
53
|
|
|
@@ -83,11 +83,11 @@ Ask user to classify complexity before starting. See `references/complexity-guid
|
|
|
83
83
|
|
|
84
84
|
See `references/branching-strategy.md` for details.
|
|
85
85
|
|
|
86
|
-
1. Verify
|
|
87
|
-
2. Create feature branch: `feature
|
|
86
|
+
1. Verify product tracker exists, no active feature, dependencies met
|
|
87
|
+
2. Create feature branch: `feature/<feature-id>-<short-description>`
|
|
88
88
|
3. **Std/Cplx:** Generate ticket from `references/ticket-template.md` → fill `## Spec` section
|
|
89
89
|
4. **Complex:** Also review `decisions.md` for related ADRs
|
|
90
|
-
5. Update
|
|
90
|
+
5. Update product tracker → Active Session: feature, step `1/6 (Setup)`, branch, complexity
|
|
91
91
|
|
|
92
92
|
**→ CHECKPOINT: Ticket Approval** (Std/Cplx only — Simple skips to Step 3)
|
|
93
93
|
|
|
@@ -95,7 +95,7 @@ See `references/branching-strategy.md` for details.
|
|
|
95
95
|
|
|
96
96
|
## Step 2: Plan (Standard/Complex only)
|
|
97
97
|
|
|
98
|
-
1. Follow the planner agent instructions (`backend-planner` for
|
|
98
|
+
1. Follow the planner agent instructions (`backend-planner` for backend features, `frontend-planner` for frontend features) in `.gemini/agents/`
|
|
99
99
|
2. Write Implementation Plan into ticket's `## Implementation Plan`
|
|
100
100
|
3. Update tracker: step `2/6 (Plan)`
|
|
101
101
|
|
|
@@ -115,7 +115,7 @@ See `references/branching-strategy.md` for details.
|
|
|
115
115
|
- UI components → `docs/specs/ui-components.md` (MANDATORY)
|
|
116
116
|
- Env variables → `.env.example` | ADRs → `decisions.md`
|
|
117
117
|
|
|
118
|
-
**Spec deviation** → document in
|
|
118
|
+
**Spec deviation** → document in product tracker Active Session and ask for approval.
|
|
119
119
|
|
|
120
120
|
Update tracker: step `3/6 (Implement)`, context summary.
|
|
121
121
|
|
|
@@ -154,7 +154,7 @@ Update tracker: step `5/6 (Review)`
|
|
|
154
154
|
## Step 6: Complete
|
|
155
155
|
|
|
156
156
|
1. Delete feature branch (local + remote)
|
|
157
|
-
2. Update
|
|
157
|
+
2. Update product tracker: feature → done, add to Completion Log, update progress
|
|
158
158
|
3. Record bugs in `bugs.md`, decisions in `decisions.md`
|
|
159
159
|
4. Clear Active Session → "No active work"
|
|
160
160
|
|
|
@@ -179,18 +179,18 @@ Agent instructions are in `.gemini/agents/`. Read the relevant agent file when e
|
|
|
179
179
|
- `references/ticket-template.md` — Ticket format
|
|
180
180
|
- `references/pr-template.md` — PR template
|
|
181
181
|
- `references/branching-strategy.md` — Branching guide
|
|
182
|
-
- `references/
|
|
182
|
+
- `references/add-feature-template.md` — Add feature to tracker
|
|
183
183
|
- `references/complexity-guide.md` — Complexity classification
|
|
184
184
|
- `references/workflow-example.md` — Full worked example
|
|
185
185
|
- `references/failure-handling.md` — Recovery & rollbacks
|
|
186
186
|
|
|
187
187
|
## Constraints
|
|
188
188
|
|
|
189
|
-
- **One
|
|
189
|
+
- **One feature at a time** — never start a new feature before completing current
|
|
190
190
|
- **TDD mandatory** — all code needs tests
|
|
191
191
|
- **Type safety** — fully typed, no `any`
|
|
192
192
|
- **English only** — all technical artifacts
|
|
193
193
|
- **Memory first** — check `project_notes/` before changes
|
|
194
|
-
- **
|
|
194
|
+
- **Product tracker** — keep Active Session updated at every step
|
|
195
195
|
- **Correct agents** — Backend → `backend-planner` + `backend-developer`, Frontend → `frontend-planner` + `frontend-developer`
|
|
196
196
|
- **Correct base branch** — check `key_facts.md` before creating branches
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Add Feature Template
|
|
2
|
+
|
|
3
|
+
Use this template when running `add feature "description"`.
|
|
4
|
+
|
|
5
|
+
## How to Add a Feature
|
|
6
|
+
|
|
7
|
+
1. Read the product tracker (`docs/project_notes/product-tracker.md`)
|
|
8
|
+
2. Determine the next feature ID (F001, F002, ...)
|
|
9
|
+
3. Add a row to the Features table
|
|
10
|
+
4. Use `start task F001` to begin working on it
|
|
11
|
+
|
|
12
|
+
## Feature ID Convention
|
|
13
|
+
|
|
14
|
+
- **Format:** F001, F002, F003... (sequential)
|
|
15
|
+
- **Type:** backend, frontend, fullstack, infra
|
|
16
|
+
- **Branch:** `feature/<id>-<short-desc>` (e.g., `feature/F001-external-api`)
|
|
@@ -19,23 +19,23 @@ Before starting any task, ask the user to classify its complexity using **contex
|
|
|
19
19
|
|
|
20
20
|
## Examples
|
|
21
21
|
|
|
22
|
-
**Example 1 -
|
|
22
|
+
**Example 1 - Feature might overlap with existing work:**
|
|
23
23
|
```
|
|
24
|
-
What complexity level for
|
|
24
|
+
What complexity level for F003 (Implement refresh token rotation)?
|
|
25
25
|
|
|
26
26
|
1. Simple (Recommended)
|
|
27
|
-
Verify existing implementation in
|
|
27
|
+
Verify existing implementation in F001, add tests if missing
|
|
28
28
|
|
|
29
29
|
2. Standard
|
|
30
30
|
Add additional rotation logic or edge cases
|
|
31
31
|
|
|
32
|
-
3. Skip
|
|
33
|
-
Already done in
|
|
32
|
+
3. Skip F003
|
|
33
|
+
Already done in F001, move to F004 (auth controller)
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
**Example 2 - Standard new feature:**
|
|
37
37
|
```
|
|
38
|
-
What complexity level for
|
|
38
|
+
What complexity level for F002 (Create auth middleware)?
|
|
39
39
|
|
|
40
40
|
1. Simple
|
|
41
41
|
Straightforward middleware, minimal logic
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
|
|
69
69
|
**Recovery:**
|
|
70
70
|
1. **Identify** the blocking task/resource
|
|
71
|
-
2. **Document** the block in
|
|
71
|
+
2. **Document** the block in product tracker "Active Session" section
|
|
72
72
|
3. **Options:**
|
|
73
73
|
- Wait for blocker to resolve
|
|
74
74
|
- Switch to different task
|
|
75
75
|
- Create mock/stub to continue
|
|
76
76
|
|
|
77
|
-
**Update
|
|
78
|
-
- Change
|
|
77
|
+
**Update product tracker:**
|
|
78
|
+
- Change feature status to Blocked
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -14,10 +14,10 @@ gh pr create --base main --title "<type>(<scope>): <description>" --body "$(cat
|
|
|
14
14
|
|
|
15
15
|
[One paragraph: what this PR does and why]
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Feature Reference
|
|
18
18
|
|
|
19
|
-
- **
|
|
20
|
-
- **Ticket:** [docs/tickets/
|
|
19
|
+
- **Feature:** [F001]
|
|
20
|
+
- **Ticket:** [docs/tickets/feature-id.md]
|
|
21
21
|
|
|
22
22
|
## Changes
|
|
23
23
|
|