@qazuor/claude-code-config 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.md +1248 -0
- package/dist/bin.cjs +11886 -0
- package/dist/bin.cjs.map +1 -0
- package/dist/bin.d.cts +1 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +11869 -0
- package/dist/bin.js.map +1 -0
- package/dist/index.cjs +3887 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1325 -0
- package/dist/index.d.ts +1325 -0
- package/dist/index.js +3835 -0
- package/dist/index.js.map +1 -0
- package/package.json +86 -0
- package/templates/.log/notifications.log +1775 -0
- package/templates/agents/README.md +164 -0
- package/templates/agents/_registry.json +443 -0
- package/templates/agents/design/content-writer.md +353 -0
- package/templates/agents/design/ux-ui-designer.md +382 -0
- package/templates/agents/engineering/astro-engineer.md +293 -0
- package/templates/agents/engineering/db-drizzle-engineer.md +360 -0
- package/templates/agents/engineering/express-engineer.md +316 -0
- package/templates/agents/engineering/fastify-engineer.md +399 -0
- package/templates/agents/engineering/hono-engineer.md +263 -0
- package/templates/agents/engineering/mongoose-engineer.md +473 -0
- package/templates/agents/engineering/nestjs-engineer.md +429 -0
- package/templates/agents/engineering/nextjs-engineer.md +451 -0
- package/templates/agents/engineering/node-typescript-engineer.md +347 -0
- package/templates/agents/engineering/prisma-engineer.md +432 -0
- package/templates/agents/engineering/react-senior-dev.md +394 -0
- package/templates/agents/engineering/tanstack-start-engineer.md +447 -0
- package/templates/agents/engineering/tech-lead.md +269 -0
- package/templates/agents/product/product-functional.md +329 -0
- package/templates/agents/product/product-technical.md +578 -0
- package/templates/agents/quality/debugger.md +514 -0
- package/templates/agents/quality/qa-engineer.md +390 -0
- package/templates/agents/specialized/enrichment-agent.md +277 -0
- package/templates/agents/specialized/i18n-specialist.md +322 -0
- package/templates/agents/specialized/seo-ai-specialist.md +387 -0
- package/templates/agents/specialized/tech-writer.md +300 -0
- package/templates/code-style/.editorconfig +27 -0
- package/templates/code-style/.prettierignore +25 -0
- package/templates/code-style/.prettierrc +12 -0
- package/templates/code-style/biome.json +78 -0
- package/templates/code-style/commitlint.config.js +44 -0
- package/templates/commands/README.md +175 -0
- package/templates/commands/_registry.json +420 -0
- package/templates/commands/add-new-entity.md +211 -0
- package/templates/commands/audit/accessibility-audit.md +360 -0
- package/templates/commands/audit/performance-audit.md +290 -0
- package/templates/commands/audit/security-audit.md +231 -0
- package/templates/commands/code-check.md +127 -0
- package/templates/commands/five-why.md +225 -0
- package/templates/commands/formatting/format-markdown.md +197 -0
- package/templates/commands/git/commit.md +247 -0
- package/templates/commands/meta/create-agent.md +257 -0
- package/templates/commands/meta/create-command.md +312 -0
- package/templates/commands/meta/create-skill.md +321 -0
- package/templates/commands/meta/help.md +318 -0
- package/templates/commands/planning/check-completed-tasks.md +224 -0
- package/templates/commands/planning/cleanup-issues.md +248 -0
- package/templates/commands/planning/planning-cleanup.md +251 -0
- package/templates/commands/planning/sync-planning-github.md +133 -0
- package/templates/commands/planning/sync-todos-github.md +203 -0
- package/templates/commands/quality-check.md +211 -0
- package/templates/commands/run-tests.md +159 -0
- package/templates/commands/start-feature-plan.md +232 -0
- package/templates/commands/start-refactor-plan.md +244 -0
- package/templates/commands/sync-planning.md +176 -0
- package/templates/commands/update-docs.md +242 -0
- package/templates/docs/CHECKPOINT-SYSTEM.md +504 -0
- package/templates/docs/INDEX.md +677 -0
- package/templates/docs/RECOMMENDED-HOOKS.md +415 -0
- package/templates/docs/_registry.json +329 -0
- package/templates/docs/diagrams/README.md +220 -0
- package/templates/docs/diagrams/agent-hierarchy.mmd +55 -0
- package/templates/docs/diagrams/documentation-map.mmd +61 -0
- package/templates/docs/diagrams/tools-relationship.mmd +55 -0
- package/templates/docs/diagrams/workflow-decision-tree.mmd +38 -0
- package/templates/docs/doc-sync.md +533 -0
- package/templates/docs/examples/end-to-end-workflow.md +1505 -0
- package/templates/docs/glossary.md +495 -0
- package/templates/docs/guides/mockup-prompt-engineering.md +644 -0
- package/templates/docs/guides/mockup-setup.md +737 -0
- package/templates/docs/learnings/README.md +250 -0
- package/templates/docs/learnings/common-architectural-patterns.md +123 -0
- package/templates/docs/learnings/common-mistakes-to-avoid.md +149 -0
- package/templates/docs/learnings/markdown-formatting-standards.md +104 -0
- package/templates/docs/learnings/monorepo-command-execution.md +64 -0
- package/templates/docs/learnings/optimization-tips.md +146 -0
- package/templates/docs/learnings/planning-linear-sync-workflow.md +70 -0
- package/templates/docs/learnings/shell-compatibility-fish.md +46 -0
- package/templates/docs/learnings/test-organization-structure.md +68 -0
- package/templates/docs/mcp-installation.md +613 -0
- package/templates/docs/mcp-servers.md +989 -0
- package/templates/docs/notification-installation.md +570 -0
- package/templates/docs/quick-start.md +354 -0
- package/templates/docs/standards/architecture-patterns.md +1064 -0
- package/templates/docs/standards/atomic-commits.md +513 -0
- package/templates/docs/standards/code-standards.md +993 -0
- package/templates/docs/standards/design-standards.md +656 -0
- package/templates/docs/standards/documentation-standards.md +1160 -0
- package/templates/docs/standards/testing-standards.md +969 -0
- package/templates/docs/system-maintenance.md +604 -0
- package/templates/docs/templates/PDR-template.md +561 -0
- package/templates/docs/templates/TODOs-template.md +534 -0
- package/templates/docs/templates/tech-analysis-template.md +800 -0
- package/templates/docs/workflows/README.md +519 -0
- package/templates/docs/workflows/atomic-task-protocol.md +955 -0
- package/templates/docs/workflows/decision-tree.md +482 -0
- package/templates/docs/workflows/edge-cases.md +856 -0
- package/templates/docs/workflows/phase-1-planning.md +957 -0
- package/templates/docs/workflows/phase-2-implementation.md +896 -0
- package/templates/docs/workflows/phase-3-validation.md +792 -0
- package/templates/docs/workflows/phase-4-finalization.md +927 -0
- package/templates/docs/workflows/quick-fix-protocol.md +505 -0
- package/templates/docs/workflows/task-atomization.md +537 -0
- package/templates/docs/workflows/task-completion-protocol.md +448 -0
- package/templates/hooks/on-notification.sh +28 -0
- package/templates/schemas/checkpoint.schema.json +97 -0
- package/templates/schemas/code-registry.schema.json +84 -0
- package/templates/schemas/pdr.schema.json +314 -0
- package/templates/schemas/problems.schema.json +55 -0
- package/templates/schemas/tech-analysis.schema.json +404 -0
- package/templates/schemas/telemetry.schema.json +298 -0
- package/templates/schemas/todos.schema.json +234 -0
- package/templates/schemas/workflows.schema.json +69 -0
- package/templates/scripts/add-changelogs.sh +105 -0
- package/templates/scripts/generate-code-registry.ts +270 -0
- package/templates/scripts/health-check.sh +343 -0
- package/templates/scripts/sync-registry.sh +40 -0
- package/templates/scripts/telemetry-report.ts +36 -0
- package/templates/scripts/validate-docs.sh +224 -0
- package/templates/scripts/validate-registry.sh +225 -0
- package/templates/scripts/validate-schemas.ts +283 -0
- package/templates/scripts/validate-structure.sh +165 -0
- package/templates/scripts/worktree-cleanup.sh +81 -0
- package/templates/scripts/worktree-create.sh +63 -0
- package/templates/sessions/planning/.gitkeep +0 -0
- package/templates/sessions/planning/archived/.gitkeep +0 -0
- package/templates/settings.json +202 -0
- package/templates/settings.local.json +138 -0
- package/templates/skills/README.md +197 -0
- package/templates/skills/_registry.json +473 -0
- package/templates/skills/audit/accessibility-audit.md +309 -0
- package/templates/skills/audit/performance-audit.md +257 -0
- package/templates/skills/audit/security-audit.md +217 -0
- package/templates/skills/auth/nextauth-patterns.md +308 -0
- package/templates/skills/brand-guidelines.md +240 -0
- package/templates/skills/documentation/markdown-formatter.md +302 -0
- package/templates/skills/git/git-commit-helper.md +321 -0
- package/templates/skills/i18n/i18n-patterns.md +251 -0
- package/templates/skills/patterns/error-handling-patterns.md +242 -0
- package/templates/skills/patterns/tdd-methodology.md +342 -0
- package/templates/skills/qa/qa-criteria-validator.md +383 -0
- package/templates/skills/qa/web-app-testing.md +398 -0
- package/templates/skills/react/react-hook-form-patterns.md +359 -0
- package/templates/skills/state/redux-toolkit-patterns.md +272 -0
- package/templates/skills/state/tanstack-query-patterns.md +299 -0
- package/templates/skills/state/zustand-patterns.md +301 -0
- package/templates/skills/tech/mermaid-diagram-specialist.md +195 -0
- package/templates/skills/tech/shadcn-specialist.md +252 -0
- package/templates/skills/tech/vercel-specialist.md +297 -0
- package/templates/skills/testing/api-app-testing.md +254 -0
- package/templates/skills/testing/performance-testing.md +275 -0
- package/templates/skills/testing/security-testing.md +348 -0
- package/templates/skills/utils/add-memory.md +295 -0
- package/templates/skills/utils/json-data-auditor.md +283 -0
- package/templates/skills/utils/pdf-creator-editor.md +342 -0
- package/templates/tools/format-markdown.sh +185 -0
|
@@ -0,0 +1,537 @@
|
|
|
1
|
+
# Task Atomization System
|
|
2
|
+
|
|
3
|
+
This document defines how to break down features into atomic tasks.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
<!-- markdownlint-disable MD051 -->
|
|
10
|
+
|
|
11
|
+
1. [Overview](#overview)
|
|
12
|
+
2. [Atomization Framework](#atomization-framework)
|
|
13
|
+
3. [Task Sizing Guidelines](#task-sizing-guidelines)
|
|
14
|
+
4. [Estimation Process](#estimation-process)
|
|
15
|
+
5. [Dependency Management](#dependency-management)
|
|
16
|
+
6. [Examples](#examples)
|
|
17
|
+
|
|
18
|
+
<!-- markdownlint-enable MD051 -->
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Overview
|
|
23
|
+
|
|
24
|
+
### What is Task Atomization?
|
|
25
|
+
|
|
26
|
+
**Task atomization** is the process of breaking down a feature into small, manageable, independent tasks that can be completed in 1-2 hours.
|
|
27
|
+
|
|
28
|
+
### Why Atomic Tasks?
|
|
29
|
+
|
|
30
|
+
**Benefits:**
|
|
31
|
+
|
|
32
|
+
- Easier to estimate
|
|
33
|
+
- Faster to complete
|
|
34
|
+
- Clear definition of "done"
|
|
35
|
+
- Better progress tracking
|
|
36
|
+
- Easier to parallelize
|
|
37
|
+
- Reduced cognitive load
|
|
38
|
+
- Better for TDD workflow
|
|
39
|
+
|
|
40
|
+
**Ideal Task Size:** 1-2 hours
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Atomization Framework
|
|
45
|
+
|
|
46
|
+
### Combined System (Levels + Layers)
|
|
47
|
+
|
|
48
|
+
We use a **hybrid approach** combining:
|
|
49
|
+
|
|
50
|
+
1. **Hierarchical levels** (Feature → Phase → Story → Task → Subtask)
|
|
51
|
+
2. **Technical layers** (Database → Service → API → Frontend)
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
Feature (Epic)
|
|
55
|
+
├── Phase: Planning & Design [2-3h]
|
|
56
|
+
│ └── Story: Requirements & Design
|
|
57
|
+
│ ├── Task: Define requirements [30m-1h]
|
|
58
|
+
│ └── Task: Create designs [1-2h]
|
|
59
|
+
│
|
|
60
|
+
├── Phase: Database Layer [2-3h]
|
|
61
|
+
│ └── Story: Data Model
|
|
62
|
+
│ ├── Task: Create schemas [30m]
|
|
63
|
+
│ ├── Task: Create model [30m]
|
|
64
|
+
│ └── Task: Write tests [1h]
|
|
65
|
+
│
|
|
66
|
+
├── Phase: Service Layer [2-3h]
|
|
67
|
+
│ └── Story: Business Logic
|
|
68
|
+
│ ├── Task: Create service [1h]
|
|
69
|
+
│ ├── Task: Add validations [40m]
|
|
70
|
+
│ └── Task: Write tests [1h]
|
|
71
|
+
│
|
|
72
|
+
├── Phase: API Layer [2-3h]
|
|
73
|
+
│ └── Story: API Endpoints
|
|
74
|
+
│ ├── Task: Create routes [1h]
|
|
75
|
+
│ ├── Task: Add middleware [30m]
|
|
76
|
+
│ └── Task: Write tests [1h]
|
|
77
|
+
│
|
|
78
|
+
└── Phase: Frontend Layer [3-4h]
|
|
79
|
+
└── Story: UI Components
|
|
80
|
+
├── Task: Create components [1-2h]
|
|
81
|
+
├── Task: Add state management [1h]
|
|
82
|
+
└── Task: Write tests [1h]
|
|
83
|
+
```text
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Task Sizing Guidelines
|
|
88
|
+
|
|
89
|
+
### Task Hierarchy
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
Feature (Epic): Complete user-facing functionality
|
|
93
|
+
├── Phase: Major development stage (2-4 hours)
|
|
94
|
+
│ ├── Story: User-visible capability (4-8 hours)
|
|
95
|
+
│ │ ├── Task: Technical implementation (1-2 hours) ⭐ ATOMIC
|
|
96
|
+
│ │ │ └── Subtask: Specific step (15-30 min)
|
|
97
|
+
```text
|
|
98
|
+
|
|
99
|
+
### Size by Level
|
|
100
|
+
|
|
101
|
+
| Level | Duration | Description | Example |
|
|
102
|
+
|-------|----------|-------------|---------|
|
|
103
|
+
| **Feature** | Days-Weeks | Complete functionality | Entity Listing System |
|
|
104
|
+
| **Phase** | 2-4 hours | Development stage | Database Layer Implementation |
|
|
105
|
+
| **Story** | 4-8 hours | User capability | Create Entity Listing |
|
|
106
|
+
| **Task** | 1-2 hours | Technical unit | Create EntityModel ⭐ |
|
|
107
|
+
| **Subtask** | 15-30 min | Specific step | Define table schema |
|
|
108
|
+
|
|
109
|
+
### Atomic Task Characteristics
|
|
110
|
+
|
|
111
|
+
An **atomic task** must be:
|
|
112
|
+
|
|
113
|
+
✅ **Completable in 1-2 hours**
|
|
114
|
+
|
|
115
|
+
- If longer, break it down further
|
|
116
|
+
- If shorter (<30m), consider combining
|
|
117
|
+
|
|
118
|
+
✅ **Independently testable**
|
|
119
|
+
|
|
120
|
+
- Can write tests for it
|
|
121
|
+
- Tests verify completion
|
|
122
|
+
|
|
123
|
+
✅ **Single responsibility**
|
|
124
|
+
|
|
125
|
+
- Does one thing well
|
|
126
|
+
- Clear purpose
|
|
127
|
+
|
|
128
|
+
✅ **Clear definition of done**
|
|
129
|
+
|
|
130
|
+
- No ambiguity about completion
|
|
131
|
+
- Specific acceptance criteria
|
|
132
|
+
|
|
133
|
+
✅ **Minimal dependencies**
|
|
134
|
+
|
|
135
|
+
- Depends on few other tasks
|
|
136
|
+
- Can be parallelized when possible
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Estimation Process
|
|
141
|
+
|
|
142
|
+
### How to Estimate
|
|
143
|
+
|
|
144
|
+
1. **Understand the Requirement**
|
|
145
|
+
- Read PDR.md acceptance criteria
|
|
146
|
+
- Review technical analysis
|
|
147
|
+
- Clarify any ambiguity
|
|
148
|
+
|
|
149
|
+
2. **Identify Layers**
|
|
150
|
+
- Database (schemas, models)
|
|
151
|
+
- Service (business logic)
|
|
152
|
+
- API (routes, validation)
|
|
153
|
+
- Frontend (components, state)
|
|
154
|
+
|
|
155
|
+
3. **Break Down by Layer**
|
|
156
|
+
- List tasks for each layer
|
|
157
|
+
- Follow entity creation order
|
|
158
|
+
- Consider testing for each
|
|
159
|
+
|
|
160
|
+
4. **Estimate Each Task**
|
|
161
|
+
- Use past experience
|
|
162
|
+
- Consider complexity
|
|
163
|
+
- Add buffer for unknowns (20%)
|
|
164
|
+
|
|
165
|
+
5. **Sum Up**
|
|
166
|
+
- Phase total = sum of tasks
|
|
167
|
+
- Feature total = sum of phases
|
|
168
|
+
|
|
169
|
+
### Estimation Template
|
|
170
|
+
|
|
171
|
+
```text
|
|
172
|
+
Task: Create EntityModel
|
|
173
|
+
├── Define Zod schemas [30m]
|
|
174
|
+
├── Infer types [15m]
|
|
175
|
+
├── Create Drizzle schema [30m]
|
|
176
|
+
├── Implement model class [30m]
|
|
177
|
+
├── Override findAll (if needed) [30m]
|
|
178
|
+
├── Write unit tests [45m]
|
|
179
|
+
└── Total: ~3h (estimate 3.5h with buffer)
|
|
180
|
+
```text
|
|
181
|
+
|
|
182
|
+
### Common Estimation Mistakes
|
|
183
|
+
|
|
184
|
+
❌ **Too Optimistic**
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
Task: Build entire frontend [2h]
|
|
188
|
+
```text
|
|
189
|
+
|
|
190
|
+
This is WAY too big. Should be 10+ tasks.
|
|
191
|
+
|
|
192
|
+
❌ **No Testing Time**
|
|
193
|
+
|
|
194
|
+
```text
|
|
195
|
+
Task: Create UserService [1h]
|
|
196
|
+
```text
|
|
197
|
+
|
|
198
|
+
Missing test time. Should be:
|
|
199
|
+
|
|
200
|
+
- Implement service [1h]
|
|
201
|
+
- Write tests [1h]
|
|
202
|
+
|
|
203
|
+
❌ **Vague Description**
|
|
204
|
+
|
|
205
|
+
```text
|
|
206
|
+
Task: Fix stuff [1h]
|
|
207
|
+
```text
|
|
208
|
+
|
|
209
|
+
What stuff? Not specific enough.
|
|
210
|
+
|
|
211
|
+
✅ **Good Estimation**
|
|
212
|
+
|
|
213
|
+
```text
|
|
214
|
+
Task: Implement UserService.create() method [1h]
|
|
215
|
+
├── Setup method structure [15m]
|
|
216
|
+
├── Add business validation [20m]
|
|
217
|
+
├── Call model.create [10m]
|
|
218
|
+
├── Handle errors [15m]
|
|
219
|
+
Subtasks total: 60m
|
|
220
|
+
```text
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Dependency Management
|
|
225
|
+
|
|
226
|
+
### Types of Dependencies
|
|
227
|
+
|
|
228
|
+
**Sequential (Must Wait):**
|
|
229
|
+
|
|
230
|
+
```text
|
|
231
|
+
Task A → Task B → Task C
|
|
232
|
+
```text
|
|
233
|
+
|
|
234
|
+
Example:
|
|
235
|
+
|
|
236
|
+
```text
|
|
237
|
+
Create Schema → Create Model → Create Service
|
|
238
|
+
```text
|
|
239
|
+
|
|
240
|
+
**Parallel (Can Work Simultaneously):**
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
Task A ─┐
|
|
244
|
+
Task B ─┼→ Next Phase
|
|
245
|
+
Task C ─┘
|
|
246
|
+
```text
|
|
247
|
+
|
|
248
|
+
Example:
|
|
249
|
+
|
|
250
|
+
```text
|
|
251
|
+
Frontend Component A ─┐
|
|
252
|
+
Frontend Component B ─┼→ Integration
|
|
253
|
+
Frontend Component C ─┘
|
|
254
|
+
```text
|
|
255
|
+
|
|
256
|
+
**Optional (Nice to Have):**
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
Task A (required)
|
|
260
|
+
Task B (optional, can defer)
|
|
261
|
+
```text
|
|
262
|
+
|
|
263
|
+
### Dependency Notation in TODOs
|
|
264
|
+
|
|
265
|
+
```markdown
|
|
266
|
+
|
|
267
|
+
- [ ] **[1h]** Create EntityService
|
|
268
|
+
- **Dependencies**: EntityModel complete
|
|
269
|
+
- **Blocks**: API routes
|
|
270
|
+
- **Can Parallel**: Frontend mockups
|
|
271
|
+
|
|
272
|
+
```text
|
|
273
|
+
|
|
274
|
+
### Managing Blockers
|
|
275
|
+
|
|
276
|
+
When a task is blocked:
|
|
277
|
+
|
|
278
|
+
1. **Identify Blocker**
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Task: Create booking form
|
|
283
|
+
Blocker: API endpoint not ready
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
2. **Find Workaround**
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Workaround: Use mock API, implement real API later
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
3. **Track in TODOs.md**
|
|
296
|
+
|
|
297
|
+
```markdown
|
|
298
|
+
## Blockers
|
|
299
|
+
| Task | Blocker | Resolution |
|
|
300
|
+
|------|---------|------------|
|
|
301
|
+
| Booking form | API not ready | Using mock data |
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
4. **Update When Unblocked**
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
Blocker resolved: API ready, integrate real endpoint
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Examples
|
|
313
|
+
|
|
314
|
+
### Example 1: Simple CRUD Entity (Amenity)
|
|
315
|
+
|
|
316
|
+
```text
|
|
317
|
+
Feature: Amenity Management
|
|
318
|
+
Estimated: 12 hours
|
|
319
|
+
|
|
320
|
+
Phase 1: Planning [1h]
|
|
321
|
+
└── Story: Define amenity requirements
|
|
322
|
+
└── Task: Create PDR section for amenities [1h]
|
|
323
|
+
|
|
324
|
+
Phase 2: Database Layer [2h]
|
|
325
|
+
└── Story: Amenity data model
|
|
326
|
+
├── Task: Create Zod schemas [30m]
|
|
327
|
+
│ ├── Subtask: Base schema [15m]
|
|
328
|
+
│ └── Subtask: CRUD schemas [15m]
|
|
329
|
+
├── Task: Create Drizzle schema [30m]
|
|
330
|
+
│ ├── Subtask: Define table [15m]
|
|
331
|
+
│ └── Subtask: Add relationships [15m]
|
|
332
|
+
└── Task: Create AmenityModel [1h]
|
|
333
|
+
├── Subtask: Extend BaseModel [20m]
|
|
334
|
+
├── Subtask: Add findAll override [20m]
|
|
335
|
+
└── Subtask: Write model tests [20m]
|
|
336
|
+
|
|
337
|
+
Phase 3: Service Layer [2h]
|
|
338
|
+
└── Story: Amenity business logic
|
|
339
|
+
├── Task: Create AmenityService [1h]
|
|
340
|
+
│ ├── Subtask: Extend BaseCrudService [20m]
|
|
341
|
+
│ └── Subtask: Add custom methods [40m]
|
|
342
|
+
└── Task: Write service tests [1h]
|
|
343
|
+
|
|
344
|
+
Phase 4: API Layer [2h]
|
|
345
|
+
└── Story: Amenity API endpoints
|
|
346
|
+
├── Task: Create amenity routes [1h]
|
|
347
|
+
│ ├── Subtask: Setup route file [15m]
|
|
348
|
+
│ ├── Subtask: Use CRUD factory [30m]
|
|
349
|
+
│ └── Subtask: Add custom routes [15m]
|
|
350
|
+
└── Task: Write integration tests [1h]
|
|
351
|
+
|
|
352
|
+
Phase 5: Frontend Layer [3h]
|
|
353
|
+
└── Story: Amenity UI components
|
|
354
|
+
├── Task: Create AmenityList component [1h]
|
|
355
|
+
├── Task: Create AmenityBadge component [30m]
|
|
356
|
+
├── Task: Add to entity form [1h]
|
|
357
|
+
└── Task: Write component tests [30m]
|
|
358
|
+
|
|
359
|
+
Phase 6: Validation [1.5h]
|
|
360
|
+
└── Story: Quality assurance
|
|
361
|
+
├── Task: QA validation [30m]
|
|
362
|
+
├── Task: Code review [30m]
|
|
363
|
+
└── Task: Fix issues [30m]
|
|
364
|
+
|
|
365
|
+
Phase 7: Documentation [0.5h]
|
|
366
|
+
└── Story: Document amenity feature
|
|
367
|
+
└── Task: Update API docs [30m]
|
|
368
|
+
|
|
369
|
+
Total: ~12 hours
|
|
370
|
+
```text
|
|
371
|
+
|
|
372
|
+
### Example 2: Complex Feature (Booking System)
|
|
373
|
+
|
|
374
|
+
```text
|
|
375
|
+
Feature: Entity Booking System
|
|
376
|
+
Estimated: 40+ hours
|
|
377
|
+
|
|
378
|
+
Phase 1: Planning & Design [4h]
|
|
379
|
+
└── Story: Define booking requirements
|
|
380
|
+
├── Task: Create user stories [1h]
|
|
381
|
+
├── Task: Design booking flow [1h]
|
|
382
|
+
├── Task: Create wireframes [1h]
|
|
383
|
+
└── Task: Define business rules [1h]
|
|
384
|
+
|
|
385
|
+
Phase 2: Database Layer [6h]
|
|
386
|
+
└── Story: Booking data model
|
|
387
|
+
├── Task: Design database schema [1h]
|
|
388
|
+
├── Task: Create Zod schemas (booking, booking item) [1h]
|
|
389
|
+
├── Task: Create Drizzle schemas [1h]
|
|
390
|
+
├── Task: Create BookingModel [1.5h]
|
|
391
|
+
├── Task: Create BookingItemModel [1h]
|
|
392
|
+
└── Task: Write model tests [1.5h]
|
|
393
|
+
|
|
394
|
+
Phase 3: Service Layer [8h]
|
|
395
|
+
└── Story: Booking business logic
|
|
396
|
+
├── Task: Create BookingService structure [1h]
|
|
397
|
+
├── Task: Implement availability check [2h]
|
|
398
|
+
│ ├── Subtask: Query overlapping bookings [1h]
|
|
399
|
+
│ ├── Subtask: Business rule validation [30m]
|
|
400
|
+
│ └── Subtask: Write tests [30m]
|
|
401
|
+
├── Task: Implement price calculation [2h]
|
|
402
|
+
│ ├── Subtask: Base price logic [30m]
|
|
403
|
+
│ ├── Subtask: Discount rules [1h]
|
|
404
|
+
│ └── Subtask: Write tests [30m]
|
|
405
|
+
├── Task: Implement booking creation [2h]
|
|
406
|
+
│ ├── Subtask: Create booking record [30m]
|
|
407
|
+
│ ├── Subtask: Handle transaction [30m]
|
|
408
|
+
│ ├── Subtask: Send notifications [30m]
|
|
409
|
+
│ └── Subtask: Write tests [30m]
|
|
410
|
+
└── Task: Implement cancellation logic [1h]
|
|
411
|
+
|
|
412
|
+
Phase 4: API Layer [6h]
|
|
413
|
+
└── Story: Booking API endpoints
|
|
414
|
+
├── Task: Create booking routes [2h]
|
|
415
|
+
├── Task: Add availability endpoint [1.5h]
|
|
416
|
+
├── Task: Add price calculation endpoint [1h]
|
|
417
|
+
├── Task: Add auth middleware [30m]
|
|
418
|
+
└── Task: Write integration tests [2h]
|
|
419
|
+
|
|
420
|
+
Phase 5: Frontend - Web App [8h]
|
|
421
|
+
└── Story: Booking UI
|
|
422
|
+
├── Task: Create BookingForm component [2h]
|
|
423
|
+
│ ├── Subtask: Date picker setup [30m]
|
|
424
|
+
│ ├── Subtask: Availability check UI [1h]
|
|
425
|
+
│ └── Subtask: Form validation [30m]
|
|
426
|
+
├── Task: Create BookingConfirmation component [1h]
|
|
427
|
+
├── Task: Create BookingList component [1.5h]
|
|
428
|
+
├── Task: Setup TanStack Query [1.5h]
|
|
429
|
+
├── Task: Implement booking flow [1.5h]
|
|
430
|
+
└── Task: Write component tests [1.5h]
|
|
431
|
+
|
|
432
|
+
Phase 6: Frontend - Admin [4h]
|
|
433
|
+
└── Story: Admin booking management
|
|
434
|
+
├── Task: Create admin booking list [1.5h]
|
|
435
|
+
├── Task: Create booking detail view [1h]
|
|
436
|
+
├── Task: Add cancellation UI [1h]
|
|
437
|
+
└── Task: Write tests [30m]
|
|
438
|
+
|
|
439
|
+
Phase 7: Integration [3h]
|
|
440
|
+
└── Story: End-to-end integration
|
|
441
|
+
├── Task: Payment integration [1.5h]
|
|
442
|
+
├── Task: Email notifications [1h]
|
|
443
|
+
└── Task: Write E2E tests [30m]
|
|
444
|
+
|
|
445
|
+
Phase 8: Validation [3h]
|
|
446
|
+
└── Story: QA and review
|
|
447
|
+
├── Task: QA validation [1h]
|
|
448
|
+
├── Task: Security review [1h]
|
|
449
|
+
├── Task: Performance review [30m]
|
|
450
|
+
└── Task: Fix critical issues [30m]
|
|
451
|
+
|
|
452
|
+
Phase 9: Documentation [1h]
|
|
453
|
+
└── Story: Documentation
|
|
454
|
+
├── Task: API documentation [30m]
|
|
455
|
+
└── Task: User guide [30m]
|
|
456
|
+
|
|
457
|
+
Total: ~43 hours
|
|
458
|
+
```text
|
|
459
|
+
|
|
460
|
+
### Example 3: Refactoring Task
|
|
461
|
+
|
|
462
|
+
```text
|
|
463
|
+
Feature: Optimize Entity Search Performance
|
|
464
|
+
Estimated: 8 hours
|
|
465
|
+
|
|
466
|
+
Phase 1: Analysis [2h]
|
|
467
|
+
└── Story: Identify bottlenecks
|
|
468
|
+
├── Task: Profile current queries [1h]
|
|
469
|
+
├── Task: Analyze slow queries [30m]
|
|
470
|
+
└── Task: Design optimization plan [30m]
|
|
471
|
+
|
|
472
|
+
Phase 2: Database Optimization [3h]
|
|
473
|
+
└── Story: Improve query performance
|
|
474
|
+
├── Task: Add composite indexes [1h]
|
|
475
|
+
│ ├── Subtask: Create migration [30m]
|
|
476
|
+
│ └── Subtask: Test index usage [30m]
|
|
477
|
+
├── Task: Optimize text search [1h]
|
|
478
|
+
│ ├── Subtask: Add tsvector column [30m]
|
|
479
|
+
│ └── Subtask: Create trigger [30m]
|
|
480
|
+
└── Task: Update model queries [1h]
|
|
481
|
+
|
|
482
|
+
Phase 3: Service Layer [1.5h]
|
|
483
|
+
└── Story: Optimize service logic
|
|
484
|
+
├── Task: Add caching layer [1h]
|
|
485
|
+
└── Task: Update tests [30m]
|
|
486
|
+
|
|
487
|
+
Phase 4: Validation [1.5h]
|
|
488
|
+
└── Story: Verify improvements
|
|
489
|
+
├── Task: Performance testing [1h]
|
|
490
|
+
└── Task: Update documentation [30m]
|
|
491
|
+
|
|
492
|
+
Total: ~8 hours
|
|
493
|
+
```text
|
|
494
|
+
|
|
495
|
+
---
|
|
496
|
+
|
|
497
|
+
## Task Breakdown Checklist
|
|
498
|
+
|
|
499
|
+
Before finalizing task breakdown:
|
|
500
|
+
|
|
501
|
+
- [ ] All tasks are 1-2 hours (atomic)
|
|
502
|
+
- [ ] Each task has clear acceptance criteria
|
|
503
|
+
- [ ] Dependencies identified
|
|
504
|
+
- [ ] Tests included for each task
|
|
505
|
+
- [ ] Estimation includes buffer (20%)
|
|
506
|
+
- [ ] Tasks follow entity creation order
|
|
507
|
+
- [ ] Phases organized by layer
|
|
508
|
+
- [ ] Total matches PDR complexity estimate
|
|
509
|
+
- [ ] Can track progress clearly
|
|
510
|
+
- [ ] Tasks are independently completable
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
|
|
514
|
+
## Tips for Good Atomization
|
|
515
|
+
|
|
516
|
+
### DO:
|
|
517
|
+
|
|
518
|
+
✅ Break tasks by technical layer first
|
|
519
|
+
✅ Include test writing as separate tasks
|
|
520
|
+
✅ Add 20% buffer to estimates
|
|
521
|
+
✅ Make dependencies explicit
|
|
522
|
+
✅ Use consistent task naming
|
|
523
|
+
✅ Follow entity creation order
|
|
524
|
+
|
|
525
|
+
### DON'T:
|
|
526
|
+
|
|
527
|
+
❌ Create tasks larger than 2 hours
|
|
528
|
+
❌ Forget to include testing time
|
|
529
|
+
❌ Mix multiple layers in one task
|
|
530
|
+
❌ Skip dependency identification
|
|
531
|
+
❌ Make vague task descriptions
|
|
532
|
+
❌ Forget about refactoring time
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
**Remember: If a task feels too big, break it down further. When in doubt, make it smaller.**
|
|
537
|
+
|