musubi-sdd 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.ja.md +531 -0
- package/README.md +531 -0
- package/bin/musubi-init.js +321 -0
- package/bin/musubi.js +359 -0
- package/package.json +55 -0
- package/src/agents/registry.js +242 -0
- package/src/templates/agents/claude-code/CLAUDE.md +232 -0
- package/src/templates/agents/claude-code/commands/sdd-design.md +673 -0
- package/src/templates/agents/claude-code/commands/sdd-implement.md +777 -0
- package/src/templates/agents/claude-code/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/claude-code/commands/sdd-steering.md +334 -0
- package/src/templates/agents/claude-code/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/claude-code/commands/sdd-validate.md +710 -0
- package/src/templates/agents/claude-code/skills/ai-ml-engineer/SKILL.md +3055 -0
- package/src/templates/agents/claude-code/skills/api-designer/SKILL.md +1364 -0
- package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +482 -0
- package/src/templates/agents/claude-code/skills/change-impact-analyzer/SKILL.md +397 -0
- package/src/templates/agents/claude-code/skills/cloud-architect/SKILL.md +1468 -0
- package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +906 -0
- package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +466 -0
- package/src/templates/agents/claude-code/skills/database-administrator/SKILL.md +3522 -0
- package/src/templates/agents/claude-code/skills/database-schema-designer/SKILL.md +1158 -0
- package/src/templates/agents/claude-code/skills/devops-engineer/SKILL.md +647 -0
- package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +574 -0
- package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +464 -0
- package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +769 -0
- package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +1059 -0
- package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +653 -0
- package/src/templates/agents/claude-code/skills/requirements-analyst/SKILL.md +1287 -0
- package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +1107 -0
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +404 -0
- package/src/templates/agents/claude-code/skills/software-developer/SKILL.md +1254 -0
- package/src/templates/agents/claude-code/skills/steering/SKILL.md +383 -0
- package/src/templates/agents/claude-code/skills/system-architect/SKILL.md +1288 -0
- package/src/templates/agents/claude-code/skills/technical-writer/SKILL.md +712 -0
- package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +1262 -0
- package/src/templates/agents/claude-code/skills/traceability-auditor/SKILL.md +298 -0
- package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1009 -0
- package/src/templates/agents/codex/AGENTS.md +138 -0
- package/src/templates/agents/codex/commands/sdd-design.md +673 -0
- package/src/templates/agents/codex/commands/sdd-implement.md +777 -0
- package/src/templates/agents/codex/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/codex/commands/sdd-steering.md +334 -0
- package/src/templates/agents/codex/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/codex/commands/sdd-validate.md +710 -0
- package/src/templates/agents/cursor/AGENTS.md +138 -0
- package/src/templates/agents/cursor/commands/sdd-design.md +673 -0
- package/src/templates/agents/cursor/commands/sdd-implement.md +777 -0
- package/src/templates/agents/cursor/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/cursor/commands/sdd-steering.md +334 -0
- package/src/templates/agents/cursor/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/cursor/commands/sdd-validate.md +710 -0
- package/src/templates/agents/gemini-cli/GEMINI.md +128 -0
- package/src/templates/agents/gemini-cli/commands/sdd-design.toml +359 -0
- package/src/templates/agents/gemini-cli/commands/sdd-implement.toml +484 -0
- package/src/templates/agents/gemini-cli/commands/sdd-requirements.toml +291 -0
- package/src/templates/agents/gemini-cli/commands/sdd-steering.toml +209 -0
- package/src/templates/agents/gemini-cli/commands/sdd-tasks.toml +441 -0
- package/src/templates/agents/gemini-cli/commands/sdd-validate.toml +553 -0
- package/src/templates/agents/github-copilot/AGENTS.md +138 -0
- package/src/templates/agents/github-copilot/commands/sdd-design.md +673 -0
- package/src/templates/agents/github-copilot/commands/sdd-implement.md +777 -0
- package/src/templates/agents/github-copilot/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/github-copilot/commands/sdd-steering.md +334 -0
- package/src/templates/agents/github-copilot/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/github-copilot/commands/sdd-validate.md +710 -0
- package/src/templates/agents/qwen-code/QWEN.md +128 -0
- package/src/templates/agents/qwen-code/commands/sdd-design.md +673 -0
- package/src/templates/agents/qwen-code/commands/sdd-implement.md +777 -0
- package/src/templates/agents/qwen-code/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/qwen-code/commands/sdd-steering.md +334 -0
- package/src/templates/agents/qwen-code/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/qwen-code/commands/sdd-validate.md +710 -0
- package/src/templates/agents/windsurf/AGENTS.md +138 -0
- package/src/templates/agents/windsurf/commands/sdd-design.md +673 -0
- package/src/templates/agents/windsurf/commands/sdd-implement.md +777 -0
- package/src/templates/agents/windsurf/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/windsurf/commands/sdd-steering.md +334 -0
- package/src/templates/agents/windsurf/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/windsurf/commands/sdd-validate.md +710 -0
- package/src/templates/shared/constitution/constitution.md +408 -0
- package/src/templates/shared/constitution/ears-format.md +613 -0
- package/src/templates/shared/constitution/workflow.md +653 -0
- package/src/templates/shared/documents/design.md +737 -0
- package/src/templates/shared/documents/requirements.md +329 -0
- package/src/templates/shared/documents/research.md +494 -0
- package/src/templates/shared/documents/tasks.md +781 -0
- package/src/templates/shared/steering/product.md +544 -0
- package/src/templates/shared/steering/structure.md +405 -0
- package/src/templates/shared/steering/tech.md +537 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
name = "sdd-tasks"
|
|
2
|
+
description = "Break down design into implementation tasks with test-first approach"
|
|
3
|
+
|
|
4
|
+
[[instructions]]
|
|
5
|
+
role = "system"
|
|
6
|
+
content = """
|
|
7
|
+
You are executing the /sdd-tasks command to create an implementation task plan.
|
|
8
|
+
|
|
9
|
+
# Command Format
|
|
10
|
+
|
|
11
|
+
/sdd-tasks <feature-name>
|
|
12
|
+
|
|
13
|
+
Example: /sdd-tasks authentication
|
|
14
|
+
|
|
15
|
+
# Your Task
|
|
16
|
+
|
|
17
|
+
Create a detailed implementation task breakdown following test-first development approach.
|
|
18
|
+
|
|
19
|
+
# Step 1: Read Project Context
|
|
20
|
+
|
|
21
|
+
**IMPORTANT: Read these files FIRST (English versions only):**
|
|
22
|
+
|
|
23
|
+
1. **Steering Context**:
|
|
24
|
+
- `steering/structure.md` - Architecture patterns
|
|
25
|
+
- `steering/tech.md` - Technology stack
|
|
26
|
+
|
|
27
|
+
2. **Requirements**:
|
|
28
|
+
- `storage/specs/{{feature-name}}-requirements.md`
|
|
29
|
+
|
|
30
|
+
3. **Design**:
|
|
31
|
+
- `storage/specs/{{feature-name}}-design.md`
|
|
32
|
+
|
|
33
|
+
**Note**: Always read English versions (.md), not Japanese translations (.ja.md)
|
|
34
|
+
|
|
35
|
+
# Step 2: Task Breakdown Methodology
|
|
36
|
+
|
|
37
|
+
Follow Constitutional Article III: Test-First Imperative (Red-Green-Blue):
|
|
38
|
+
|
|
39
|
+
For each component:
|
|
40
|
+
1. **RED**: Write failing test
|
|
41
|
+
2. **GREEN**: Implement minimal code to pass test
|
|
42
|
+
3. **BLUE**: Refactor and improve
|
|
43
|
+
|
|
44
|
+
# Step 3: Task Document Structure
|
|
45
|
+
|
|
46
|
+
## 1. Overview
|
|
47
|
+
- Feature name
|
|
48
|
+
- Total estimated tasks
|
|
49
|
+
- Dependencies
|
|
50
|
+
- Prerequisites
|
|
51
|
+
|
|
52
|
+
## 2. Task Breakdown
|
|
53
|
+
|
|
54
|
+
Group tasks by phase:
|
|
55
|
+
|
|
56
|
+
### Phase 1: Setup & Infrastructure
|
|
57
|
+
- Database migrations
|
|
58
|
+
- Environment configuration
|
|
59
|
+
- CI/CD setup
|
|
60
|
+
|
|
61
|
+
### Phase 2: Core Libraries (Article I: Library-First)
|
|
62
|
+
- Implement feature in lib/ directory
|
|
63
|
+
- Test-first development
|
|
64
|
+
- CLI interface (Article II)
|
|
65
|
+
|
|
66
|
+
### Phase 3: API Integration
|
|
67
|
+
- API routes
|
|
68
|
+
- Request/response handling
|
|
69
|
+
- Validation
|
|
70
|
+
|
|
71
|
+
### Phase 4: Testing & Quality
|
|
72
|
+
- Integration tests
|
|
73
|
+
- E2E tests
|
|
74
|
+
- Security testing
|
|
75
|
+
|
|
76
|
+
### Phase 5: Documentation & Deployment
|
|
77
|
+
- API documentation
|
|
78
|
+
- User documentation
|
|
79
|
+
- Deployment configuration
|
|
80
|
+
|
|
81
|
+
## 3. Task Template
|
|
82
|
+
|
|
83
|
+
For each task:
|
|
84
|
+
|
|
85
|
+
**TASK-NNN: [Task Title]**
|
|
86
|
+
|
|
87
|
+
- **Phase**: Setup / Implementation / Testing / Documentation
|
|
88
|
+
- **Type**: Database / Backend / Frontend / Testing / DevOps
|
|
89
|
+
- **Description**: What needs to be done
|
|
90
|
+
- **Test-First Steps**:
|
|
91
|
+
1. RED: Write test that fails
|
|
92
|
+
2. GREEN: Implement code to pass test
|
|
93
|
+
3. BLUE: Refactor and improve
|
|
94
|
+
- **Requirements**: Links to REQ-XXX-NNN
|
|
95
|
+
- **Design Reference**: Links to design sections
|
|
96
|
+
- **Estimated Effort**: S / M / L / XL
|
|
97
|
+
- **Dependencies**: Other tasks that must complete first
|
|
98
|
+
- **Acceptance Criteria**: How to verify completion
|
|
99
|
+
- **Files to Create/Modify**: Specific file paths
|
|
100
|
+
|
|
101
|
+
# Step 4: Example Task Breakdown
|
|
102
|
+
|
|
103
|
+
## Phase 1: Setup & Infrastructure
|
|
104
|
+
|
|
105
|
+
### TASK-001: Database Schema Migration
|
|
106
|
+
- **Phase**: Setup
|
|
107
|
+
- **Type**: Database
|
|
108
|
+
- **Description**: Create users and sessions tables
|
|
109
|
+
- **Test-First Steps**:
|
|
110
|
+
1. RED: Write migration test that checks table structure
|
|
111
|
+
2. GREEN: Create Prisma schema and generate migration
|
|
112
|
+
3. BLUE: Add indexes and constraints
|
|
113
|
+
- **Requirements**: REQ-AUTH-001, REQ-AUTH-003
|
|
114
|
+
- **Design Reference**: Section 6 (Data Model)
|
|
115
|
+
- **Estimated Effort**: M
|
|
116
|
+
- **Dependencies**: None
|
|
117
|
+
- **Acceptance Criteria**:
|
|
118
|
+
- Tables created successfully
|
|
119
|
+
- Indexes present on email, user_id
|
|
120
|
+
- Constraints enforce data integrity
|
|
121
|
+
- **Files**:
|
|
122
|
+
- `prisma/schema.prisma` (modify)
|
|
123
|
+
- `prisma/migrations/` (create)
|
|
124
|
+
|
|
125
|
+
### TASK-002: Environment Configuration
|
|
126
|
+
- **Phase**: Setup
|
|
127
|
+
- **Type**: DevOps
|
|
128
|
+
- **Description**: Configure environment variables
|
|
129
|
+
- **Test-First Steps**:
|
|
130
|
+
1. RED: Write test that validates env vars
|
|
131
|
+
2. GREEN: Create .env.example
|
|
132
|
+
3. BLUE: Add validation logic
|
|
133
|
+
- **Requirements**: All
|
|
134
|
+
- **Design Reference**: Section 13 (Deployment)
|
|
135
|
+
- **Estimated Effort**: S
|
|
136
|
+
- **Dependencies**: None
|
|
137
|
+
- **Acceptance Criteria**:
|
|
138
|
+
- .env.example complete
|
|
139
|
+
- Environment validation works
|
|
140
|
+
- Documentation updated
|
|
141
|
+
- **Files**:
|
|
142
|
+
- `.env.example` (create)
|
|
143
|
+
- `lib/auth/config.ts` (create)
|
|
144
|
+
|
|
145
|
+
## Phase 2: Core Libraries
|
|
146
|
+
|
|
147
|
+
### TASK-003: PasswordValidator Library (RED-GREEN-BLUE)
|
|
148
|
+
- **Phase**: Implementation
|
|
149
|
+
- **Type**: Backend
|
|
150
|
+
- **Description**: Implement password validation and hashing
|
|
151
|
+
- **Test-First Steps**:
|
|
152
|
+
1. RED: Write tests for PasswordValidator class
|
|
153
|
+
```typescript
|
|
154
|
+
// lib/auth/__tests__/password-validator.test.ts
|
|
155
|
+
describe('PasswordValidator', () => {
|
|
156
|
+
it('should reject passwords < 8 characters', () => {
|
|
157
|
+
// REQ-AUTH-002
|
|
158
|
+
});
|
|
159
|
+
it('should hash passwords with bcrypt', () => {
|
|
160
|
+
// REQ-AUTH-001
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
```
|
|
164
|
+
2. GREEN: Implement PasswordValidator
|
|
165
|
+
```typescript
|
|
166
|
+
// lib/auth/password-validator.ts
|
|
167
|
+
export class PasswordValidator {
|
|
168
|
+
validate(password: string): ValidationResult
|
|
169
|
+
hash(password: string): Promise<string>
|
|
170
|
+
verify(password: string, hash: string): Promise<boolean>
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
3. BLUE: Add edge case handling, improve error messages
|
|
174
|
+
- **Requirements**: REQ-AUTH-001, REQ-AUTH-002
|
|
175
|
+
- **Design Reference**: Section 7 (Component Design)
|
|
176
|
+
- **Estimated Effort**: M
|
|
177
|
+
- **Dependencies**: TASK-001
|
|
178
|
+
- **Acceptance Criteria**:
|
|
179
|
+
- All tests pass (100% coverage)
|
|
180
|
+
- Password validation enforces requirements
|
|
181
|
+
- Hashing uses bcrypt cost factor 10
|
|
182
|
+
- Requirement REQ-AUTH-002 fully implemented
|
|
183
|
+
- **Files**:
|
|
184
|
+
- `lib/auth/password-validator.ts` (create)
|
|
185
|
+
- `lib/auth/__tests__/password-validator.test.ts` (create)
|
|
186
|
+
|
|
187
|
+
### TASK-004: AuthService Library (RED-GREEN-BLUE)
|
|
188
|
+
- **Phase**: Implementation
|
|
189
|
+
- **Type**: Backend
|
|
190
|
+
- **Description**: Implement authentication service
|
|
191
|
+
- **Test-First Steps**:
|
|
192
|
+
1. RED: Write tests for AuthService
|
|
193
|
+
```typescript
|
|
194
|
+
// lib/auth/__tests__/auth-service.test.ts
|
|
195
|
+
describe('AuthService', () => {
|
|
196
|
+
describe('register', () => {
|
|
197
|
+
it('should create user account', () => {
|
|
198
|
+
// REQ-AUTH-001
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
describe('login', () => {
|
|
202
|
+
it('should authenticate valid credentials', () => {
|
|
203
|
+
// REQ-AUTH-003
|
|
204
|
+
});
|
|
205
|
+
it('should reject invalid credentials', () => {
|
|
206
|
+
// Error handling
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
```
|
|
211
|
+
2. GREEN: Implement AuthService
|
|
212
|
+
```typescript
|
|
213
|
+
// lib/auth/auth-service.ts
|
|
214
|
+
export class AuthService {
|
|
215
|
+
async register(email: string, password: string): Promise<User>
|
|
216
|
+
async login(email: string, password: string): Promise<AuthToken>
|
|
217
|
+
async logout(userId: string): Promise<void>
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
3. BLUE: Add error handling, logging, metrics
|
|
221
|
+
- **Requirements**: REQ-AUTH-001, REQ-AUTH-003
|
|
222
|
+
- **Design Reference**: Section 7 (Component Design)
|
|
223
|
+
- **Estimated Effort**: L
|
|
224
|
+
- **Dependencies**: TASK-003
|
|
225
|
+
- **Acceptance Criteria**:
|
|
226
|
+
- All tests pass (80%+ coverage)
|
|
227
|
+
- Registration creates user and sends email
|
|
228
|
+
- Login returns JWT token
|
|
229
|
+
- Error cases handled properly
|
|
230
|
+
- Requirements REQ-AUTH-001, REQ-AUTH-003 fully implemented
|
|
231
|
+
- **Files**:
|
|
232
|
+
- `lib/auth/auth-service.ts` (create)
|
|
233
|
+
- `lib/auth/__tests__/auth-service.test.ts` (create)
|
|
234
|
+
- `lib/auth/types.ts` (create)
|
|
235
|
+
|
|
236
|
+
### TASK-005: CLI Interface (Article II)
|
|
237
|
+
- **Phase**: Implementation
|
|
238
|
+
- **Type**: Backend
|
|
239
|
+
- **Description**: Create CLI interface for auth library
|
|
240
|
+
- **Test-First Steps**:
|
|
241
|
+
1. RED: Write CLI integration tests
|
|
242
|
+
2. GREEN: Implement CLI commands
|
|
243
|
+
3. BLUE: Add help text, improve UX
|
|
244
|
+
- **Requirements**: Article II (CLI Interface Mandate)
|
|
245
|
+
- **Design Reference**: Constitutional compliance
|
|
246
|
+
- **Estimated Effort**: M
|
|
247
|
+
- **Dependencies**: TASK-004
|
|
248
|
+
- **Acceptance Criteria**:
|
|
249
|
+
- CLI can create users
|
|
250
|
+
- CLI can list users
|
|
251
|
+
- CLI can reset passwords
|
|
252
|
+
- Help text complete
|
|
253
|
+
- **Files**:
|
|
254
|
+
- `lib/auth/cli.ts` (create)
|
|
255
|
+
- `lib/auth/__tests__/cli.test.ts` (create)
|
|
256
|
+
|
|
257
|
+
## Phase 3: API Integration
|
|
258
|
+
|
|
259
|
+
### TASK-006: Register API Endpoint (RED-GREEN-BLUE)
|
|
260
|
+
- **Phase**: Implementation
|
|
261
|
+
- **Type**: Backend
|
|
262
|
+
- **Description**: Create /api/auth/register endpoint
|
|
263
|
+
- **Test-First Steps**:
|
|
264
|
+
1. RED: Write API integration test
|
|
265
|
+
2. GREEN: Implement route handler
|
|
266
|
+
3. BLUE: Add validation, error handling
|
|
267
|
+
- **Requirements**: REQ-AUTH-001, REQ-AUTH-002
|
|
268
|
+
- **Design Reference**: Section 5 (API Design)
|
|
269
|
+
- **Estimated Effort**: M
|
|
270
|
+
- **Dependencies**: TASK-004
|
|
271
|
+
- **Acceptance Criteria**:
|
|
272
|
+
- POST /api/auth/register works
|
|
273
|
+
- Returns 201 on success
|
|
274
|
+
- Returns 400 on validation error
|
|
275
|
+
- Returns 409 on duplicate email
|
|
276
|
+
- **Files**:
|
|
277
|
+
- `app/api/auth/register/route.ts` (create)
|
|
278
|
+
- `app/api/auth/register/route.test.ts` (create)
|
|
279
|
+
|
|
280
|
+
### TASK-007: Login API Endpoint (RED-GREEN-BLUE)
|
|
281
|
+
- **Phase**: Implementation
|
|
282
|
+
- **Type**: Backend
|
|
283
|
+
- **Description**: Create /api/auth/login endpoint
|
|
284
|
+
- **Test-First Steps**:
|
|
285
|
+
1. RED: Write API integration test
|
|
286
|
+
2. GREEN: Implement route handler
|
|
287
|
+
3. BLUE: Add rate limiting, logging
|
|
288
|
+
- **Requirements**: REQ-AUTH-003
|
|
289
|
+
- **Design Reference**: Section 5 (API Design)
|
|
290
|
+
- **Estimated Effort**: M
|
|
291
|
+
- **Dependencies**: TASK-004
|
|
292
|
+
- **Acceptance Criteria**:
|
|
293
|
+
- POST /api/auth/login works
|
|
294
|
+
- Returns JWT token on success
|
|
295
|
+
- Returns 401 on invalid credentials
|
|
296
|
+
- Rate limiting enforced
|
|
297
|
+
- **Files**:
|
|
298
|
+
- `app/api/auth/login/route.ts` (create)
|
|
299
|
+
- `app/api/auth/login/route.test.ts` (create)
|
|
300
|
+
|
|
301
|
+
## Phase 4: Testing & Quality
|
|
302
|
+
|
|
303
|
+
### TASK-008: Integration Tests
|
|
304
|
+
- **Phase**: Testing
|
|
305
|
+
- **Type**: Testing
|
|
306
|
+
- **Description**: Write integration tests for complete flow
|
|
307
|
+
- **Test-First Steps**: Already test-first from previous tasks
|
|
308
|
+
- **Requirements**: All REQ-AUTH-*
|
|
309
|
+
- **Design Reference**: Section 12 (Testing Strategy)
|
|
310
|
+
- **Estimated Effort**: L
|
|
311
|
+
- **Dependencies**: TASK-007
|
|
312
|
+
- **Acceptance Criteria**:
|
|
313
|
+
- Complete registration → login flow tested
|
|
314
|
+
- Error cases covered
|
|
315
|
+
- 80%+ overall code coverage
|
|
316
|
+
- All EARS requirements tested
|
|
317
|
+
- **Files**:
|
|
318
|
+
- `tests/integration/auth.test.ts` (create)
|
|
319
|
+
|
|
320
|
+
### TASK-009: Security Audit
|
|
321
|
+
- **Phase**: Testing
|
|
322
|
+
- **Type**: Security
|
|
323
|
+
- **Description**: Verify OWASP Top 10 compliance
|
|
324
|
+
- **Requirements**: Security requirements
|
|
325
|
+
- **Design Reference**: Section 9 (Security Design)
|
|
326
|
+
- **Estimated Effort**: M
|
|
327
|
+
- **Dependencies**: TASK-008
|
|
328
|
+
- **Acceptance Criteria**:
|
|
329
|
+
- No SQL injection vulnerabilities
|
|
330
|
+
- Passwords properly hashed
|
|
331
|
+
- JWT tokens properly signed
|
|
332
|
+
- Rate limiting works
|
|
333
|
+
- **Files**:
|
|
334
|
+
- `tests/security/auth-security.test.ts` (create)
|
|
335
|
+
|
|
336
|
+
## Phase 5: Documentation & Deployment
|
|
337
|
+
|
|
338
|
+
### TASK-010: API Documentation
|
|
339
|
+
- **Phase**: Documentation
|
|
340
|
+
- **Type**: Documentation
|
|
341
|
+
- **Description**: Create OpenAPI/Swagger documentation
|
|
342
|
+
- **Requirements**: All API requirements
|
|
343
|
+
- **Design Reference**: Section 5 (API Design)
|
|
344
|
+
- **Estimated Effort**: S
|
|
345
|
+
- **Dependencies**: TASK-007
|
|
346
|
+
- **Acceptance Criteria**:
|
|
347
|
+
- All endpoints documented
|
|
348
|
+
- Request/response examples provided
|
|
349
|
+
- Error codes documented
|
|
350
|
+
- **Files**:
|
|
351
|
+
- `docs/api/auth.yaml` (create)
|
|
352
|
+
|
|
353
|
+
## 4. Requirements Coverage Matrix
|
|
354
|
+
|
|
355
|
+
Map tasks to requirements:
|
|
356
|
+
|
|
357
|
+
| Requirement | Tasks | Status |
|
|
358
|
+
|-------------|-------|--------|
|
|
359
|
+
| REQ-AUTH-001 | TASK-003, TASK-004, TASK-006 | Pending |
|
|
360
|
+
| REQ-AUTH-002 | TASK-003, TASK-006 | Pending |
|
|
361
|
+
| REQ-AUTH-003 | TASK-004, TASK-007 | Pending |
|
|
362
|
+
|
|
363
|
+
## 5. Dependency Graph
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
TASK-001 (DB Schema)
|
|
367
|
+
└─> TASK-003 (PasswordValidator)
|
|
368
|
+
└─> TASK-004 (AuthService)
|
|
369
|
+
├─> TASK-005 (CLI)
|
|
370
|
+
├─> TASK-006 (Register API)
|
|
371
|
+
└─> TASK-007 (Login API)
|
|
372
|
+
└─> TASK-008 (Integration Tests)
|
|
373
|
+
└─> TASK-009 (Security Audit)
|
|
374
|
+
└─> TASK-010 (Documentation)
|
|
375
|
+
|
|
376
|
+
TASK-002 (Env Config) ──> All tasks
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
## 6. Estimation Summary
|
|
380
|
+
|
|
381
|
+
- **Small (S)**: 2-4 hours
|
|
382
|
+
- **Medium (M)**: 4-8 hours
|
|
383
|
+
- **Large (L)**: 1-2 days
|
|
384
|
+
- **Extra Large (XL)**: 2-5 days
|
|
385
|
+
|
|
386
|
+
**Total Estimate**: 3-5 days
|
|
387
|
+
|
|
388
|
+
# Step 5: Bilingual Output
|
|
389
|
+
|
|
390
|
+
**IMPORTANT**: Create BOTH English and Japanese versions.
|
|
391
|
+
|
|
392
|
+
**English version (Primary/Reference)**:
|
|
393
|
+
Save to: `storage/specs/{{feature-name}}-tasks.md`
|
|
394
|
+
|
|
395
|
+
**Japanese version (Translation)**:
|
|
396
|
+
Save to: `storage/specs/{{feature-name}}-tasks.ja.md`
|
|
397
|
+
|
|
398
|
+
Translation rules:
|
|
399
|
+
- Keep task IDs in English (TASK-001)
|
|
400
|
+
- Keep requirement IDs in English (REQ-AUTH-001)
|
|
401
|
+
- Keep file paths in English
|
|
402
|
+
- Keep code examples unchanged
|
|
403
|
+
- Translate descriptions and criteria to Japanese
|
|
404
|
+
|
|
405
|
+
# Validation Checklist
|
|
406
|
+
|
|
407
|
+
Before finalizing:
|
|
408
|
+
|
|
409
|
+
1. **Requirements Coverage**:
|
|
410
|
+
- All requirements from requirements.md have tasks
|
|
411
|
+
- No missing functionality
|
|
412
|
+
|
|
413
|
+
2. **Test-First Compliance**:
|
|
414
|
+
- Each task follows RED-GREEN-BLUE
|
|
415
|
+
- Tests written before implementation
|
|
416
|
+
- Acceptance criteria testable
|
|
417
|
+
|
|
418
|
+
3. **Constitutional Compliance**:
|
|
419
|
+
- Library-first: Core logic in lib/
|
|
420
|
+
- CLI interface: Task for CLI created
|
|
421
|
+
- Test-first: RED-GREEN-BLUE for all tasks
|
|
422
|
+
|
|
423
|
+
4. **Dependencies**:
|
|
424
|
+
- Task order logical
|
|
425
|
+
- No circular dependencies
|
|
426
|
+
- Prerequisites clear
|
|
427
|
+
|
|
428
|
+
5. **Bilingual**:
|
|
429
|
+
- Both English and Japanese versions created
|
|
430
|
+
- Technical terms consistent
|
|
431
|
+
- Task IDs identical
|
|
432
|
+
|
|
433
|
+
# Next Steps
|
|
434
|
+
|
|
435
|
+
After tasks are complete:
|
|
436
|
+
1. User reviews and adjusts task breakdown
|
|
437
|
+
2. Proceed to implementation: /sdd-implement {{feature-name}}
|
|
438
|
+
3. Or validate compliance: /sdd-validate {{feature-name}}
|
|
439
|
+
|
|
440
|
+
**Execute task breakdown now.**
|
|
441
|
+
"""
|