doit-toolkit-cli 0.1.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of doit-toolkit-cli might be problematic. Click here for more details.
- doit_cli/__init__.py +1356 -0
- doit_cli/cli/__init__.py +26 -0
- doit_cli/cli/analytics_command.py +616 -0
- doit_cli/cli/context_command.py +213 -0
- doit_cli/cli/diagram_command.py +304 -0
- doit_cli/cli/fixit_command.py +641 -0
- doit_cli/cli/hooks_command.py +211 -0
- doit_cli/cli/init_command.py +613 -0
- doit_cli/cli/memory_command.py +293 -0
- doit_cli/cli/roadmapit_command.py +10 -0
- doit_cli/cli/status_command.py +117 -0
- doit_cli/cli/sync_prompts_command.py +248 -0
- doit_cli/cli/validate_command.py +196 -0
- doit_cli/cli/verify_command.py +204 -0
- doit_cli/cli/workflow_mixin.py +224 -0
- doit_cli/cli/xref_command.py +555 -0
- doit_cli/formatters/__init__.py +8 -0
- doit_cli/formatters/base.py +38 -0
- doit_cli/formatters/json_formatter.py +126 -0
- doit_cli/formatters/markdown_formatter.py +97 -0
- doit_cli/formatters/rich_formatter.py +257 -0
- doit_cli/main.py +51 -0
- doit_cli/models/__init__.py +139 -0
- doit_cli/models/agent.py +74 -0
- doit_cli/models/analytics_models.py +384 -0
- doit_cli/models/context_config.py +464 -0
- doit_cli/models/crossref_models.py +182 -0
- doit_cli/models/diagram_models.py +363 -0
- doit_cli/models/fixit_models.py +355 -0
- doit_cli/models/hook_config.py +125 -0
- doit_cli/models/project.py +91 -0
- doit_cli/models/results.py +121 -0
- doit_cli/models/search_models.py +228 -0
- doit_cli/models/status_models.py +195 -0
- doit_cli/models/sync_models.py +146 -0
- doit_cli/models/template.py +77 -0
- doit_cli/models/validation_models.py +175 -0
- doit_cli/models/workflow_models.py +319 -0
- doit_cli/prompts/__init__.py +5 -0
- doit_cli/prompts/fixit_prompts.py +344 -0
- doit_cli/prompts/interactive.py +390 -0
- doit_cli/rules/__init__.py +5 -0
- doit_cli/rules/builtin_rules.py +160 -0
- doit_cli/services/__init__.py +79 -0
- doit_cli/services/agent_detector.py +168 -0
- doit_cli/services/analytics_service.py +218 -0
- doit_cli/services/architecture_generator.py +290 -0
- doit_cli/services/backup_service.py +204 -0
- doit_cli/services/config_loader.py +113 -0
- doit_cli/services/context_loader.py +1123 -0
- doit_cli/services/coverage_calculator.py +142 -0
- doit_cli/services/crossref_service.py +237 -0
- doit_cli/services/cycle_time_calculator.py +134 -0
- doit_cli/services/date_inferrer.py +349 -0
- doit_cli/services/diagram_service.py +337 -0
- doit_cli/services/drift_detector.py +109 -0
- doit_cli/services/entity_parser.py +301 -0
- doit_cli/services/er_diagram_generator.py +197 -0
- doit_cli/services/fixit_service.py +699 -0
- doit_cli/services/github_service.py +192 -0
- doit_cli/services/hook_manager.py +258 -0
- doit_cli/services/hook_validator.py +528 -0
- doit_cli/services/input_validator.py +322 -0
- doit_cli/services/memory_search.py +527 -0
- doit_cli/services/mermaid_validator.py +334 -0
- doit_cli/services/prompt_transformer.py +91 -0
- doit_cli/services/prompt_writer.py +133 -0
- doit_cli/services/query_interpreter.py +428 -0
- doit_cli/services/report_exporter.py +219 -0
- doit_cli/services/report_generator.py +256 -0
- doit_cli/services/requirement_parser.py +112 -0
- doit_cli/services/roadmap_summarizer.py +209 -0
- doit_cli/services/rule_engine.py +443 -0
- doit_cli/services/scaffolder.py +215 -0
- doit_cli/services/score_calculator.py +172 -0
- doit_cli/services/section_parser.py +204 -0
- doit_cli/services/spec_scanner.py +327 -0
- doit_cli/services/state_manager.py +355 -0
- doit_cli/services/status_reporter.py +143 -0
- doit_cli/services/task_parser.py +347 -0
- doit_cli/services/template_manager.py +710 -0
- doit_cli/services/template_reader.py +158 -0
- doit_cli/services/user_journey_generator.py +214 -0
- doit_cli/services/user_story_parser.py +232 -0
- doit_cli/services/validation_service.py +188 -0
- doit_cli/services/validator.py +232 -0
- doit_cli/services/velocity_tracker.py +173 -0
- doit_cli/services/workflow_engine.py +405 -0
- doit_cli/templates/agent-file-template.md +28 -0
- doit_cli/templates/checklist-template.md +39 -0
- doit_cli/templates/commands/doit.checkin.md +363 -0
- doit_cli/templates/commands/doit.constitution.md +187 -0
- doit_cli/templates/commands/doit.documentit.md +485 -0
- doit_cli/templates/commands/doit.fixit.md +181 -0
- doit_cli/templates/commands/doit.implementit.md +265 -0
- doit_cli/templates/commands/doit.planit.md +262 -0
- doit_cli/templates/commands/doit.reviewit.md +355 -0
- doit_cli/templates/commands/doit.roadmapit.md +389 -0
- doit_cli/templates/commands/doit.scaffoldit.md +458 -0
- doit_cli/templates/commands/doit.specit.md +521 -0
- doit_cli/templates/commands/doit.taskit.md +304 -0
- doit_cli/templates/commands/doit.testit.md +277 -0
- doit_cli/templates/config/context.yaml +134 -0
- doit_cli/templates/config/hooks.yaml +93 -0
- doit_cli/templates/config/validation-rules.yaml +64 -0
- doit_cli/templates/github-issue-templates/epic.yml +78 -0
- doit_cli/templates/github-issue-templates/feature.yml +116 -0
- doit_cli/templates/github-issue-templates/task.yml +129 -0
- doit_cli/templates/hooks/.gitkeep +0 -0
- doit_cli/templates/hooks/post-commit.sh +25 -0
- doit_cli/templates/hooks/post-merge.sh +75 -0
- doit_cli/templates/hooks/pre-commit.sh +17 -0
- doit_cli/templates/hooks/pre-push.sh +18 -0
- doit_cli/templates/memory/completed_roadmap.md +50 -0
- doit_cli/templates/memory/constitution.md +125 -0
- doit_cli/templates/memory/roadmap.md +61 -0
- doit_cli/templates/plan-template.md +146 -0
- doit_cli/templates/scripts/bash/check-prerequisites.sh +166 -0
- doit_cli/templates/scripts/bash/common.sh +156 -0
- doit_cli/templates/scripts/bash/create-new-feature.sh +297 -0
- doit_cli/templates/scripts/bash/setup-plan.sh +61 -0
- doit_cli/templates/scripts/bash/update-agent-context.sh +675 -0
- doit_cli/templates/scripts/powershell/check-prerequisites.ps1 +148 -0
- doit_cli/templates/scripts/powershell/common.ps1 +137 -0
- doit_cli/templates/scripts/powershell/create-new-feature.ps1 +283 -0
- doit_cli/templates/scripts/powershell/setup-plan.ps1 +61 -0
- doit_cli/templates/scripts/powershell/update-agent-context.ps1 +406 -0
- doit_cli/templates/spec-template.md +159 -0
- doit_cli/templates/tasks-template.md +313 -0
- doit_cli/templates/vscode-settings.json +14 -0
- doit_toolkit_cli-0.1.10.dist-info/METADATA +324 -0
- doit_toolkit_cli-0.1.10.dist-info/RECORD +135 -0
- doit_toolkit_cli-0.1.10.dist-info/WHEEL +4 -0
- doit_toolkit_cli-0.1.10.dist-info/entry_points.txt +2 -0
- doit_toolkit_cli-0.1.10.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
description: "Task list template for feature implementation"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tasks: [FEATURE NAME]
|
|
7
|
+
|
|
8
|
+
**Input**: Design documents from `/specs/[###-feature-name]/`
|
|
9
|
+
**Prerequisites**: plan.md (required), spec.md (required for user stories), research.md, data-model.md, contracts/
|
|
10
|
+
|
|
11
|
+
**Tests**: The examples below include test tasks. Tests are OPTIONAL - only include them if explicitly requested in the feature specification.
|
|
12
|
+
|
|
13
|
+
**Organization**: Tasks are grouped by user story to enable independent implementation and testing of each story.
|
|
14
|
+
|
|
15
|
+
## Task Dependencies
|
|
16
|
+
|
|
17
|
+
<!--
|
|
18
|
+
AUTO-GENERATED: This section is populated by /doit.taskit based on task relationships.
|
|
19
|
+
The flowchart shows task execution order and parallel opportunities.
|
|
20
|
+
Regenerate by running /doit.taskit again.
|
|
21
|
+
-->
|
|
22
|
+
|
|
23
|
+
<!-- BEGIN:AUTO-GENERATED section="task-dependencies" -->
|
|
24
|
+
```mermaid
|
|
25
|
+
flowchart TD
|
|
26
|
+
subgraph "Phase 1: Setup"
|
|
27
|
+
T001[T001: Setup]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
subgraph "Phase 2: Foundation"
|
|
31
|
+
T002[T002: Dependencies]
|
|
32
|
+
T003[T003: Core]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
subgraph "Phase 3: Implementation"
|
|
36
|
+
T004[T004: Feature A]
|
|
37
|
+
T005[T005: Feature B]
|
|
38
|
+
T006[T006: Integration]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
T001 --> T002 --> T003
|
|
42
|
+
T003 --> T004 & T005
|
|
43
|
+
T004 & T005 --> T006
|
|
44
|
+
```
|
|
45
|
+
<!-- END:AUTO-GENERATED -->
|
|
46
|
+
|
|
47
|
+
## Phase Timeline
|
|
48
|
+
|
|
49
|
+
<!--
|
|
50
|
+
AUTO-GENERATED: This section is populated by /doit.taskit based on phase structure.
|
|
51
|
+
The gantt chart shows estimated phase durations and dependencies.
|
|
52
|
+
Regenerate by running /doit.taskit again.
|
|
53
|
+
-->
|
|
54
|
+
|
|
55
|
+
<!-- BEGIN:AUTO-GENERATED section="phase-timeline" -->
|
|
56
|
+
```mermaid
|
|
57
|
+
gantt
|
|
58
|
+
title Implementation Phases
|
|
59
|
+
dateFormat YYYY-MM-DD
|
|
60
|
+
|
|
61
|
+
section Phase 1: Setup
|
|
62
|
+
Project initialization :a1, 2024-01-01, 1d
|
|
63
|
+
|
|
64
|
+
section Phase 2: Foundation
|
|
65
|
+
Core infrastructure :b1, after a1, 2d
|
|
66
|
+
|
|
67
|
+
section Phase 3: User Stories
|
|
68
|
+
User Story 1 (P1) :c1, after b1, 2d
|
|
69
|
+
User Story 2 (P2) :c2, after c1, 2d
|
|
70
|
+
User Story 3 (P3) :c3, after c2, 2d
|
|
71
|
+
|
|
72
|
+
section Phase N: Polish
|
|
73
|
+
Final polish :d1, after c3, 1d
|
|
74
|
+
```
|
|
75
|
+
<!-- END:AUTO-GENERATED -->
|
|
76
|
+
|
|
77
|
+
## Format: `[ID] [P?] [Story] Description`
|
|
78
|
+
|
|
79
|
+
- **[P]**: Can run in parallel (different files, no dependencies)
|
|
80
|
+
- **[Story]**: Which user story this task belongs to (e.g., US1, US2, US3)
|
|
81
|
+
- Include exact file paths in descriptions
|
|
82
|
+
|
|
83
|
+
## Path Conventions
|
|
84
|
+
|
|
85
|
+
- **Single project**: `src/`, `tests/` at repository root
|
|
86
|
+
- **Web app**: `backend/src/`, `frontend/src/`
|
|
87
|
+
- **Mobile**: `api/src/`, `ios/src/` or `android/src/`
|
|
88
|
+
- Paths shown below assume single project - adjust based on plan.md structure
|
|
89
|
+
|
|
90
|
+
<!--
|
|
91
|
+
============================================================================
|
|
92
|
+
IMPORTANT: The tasks below are SAMPLE TASKS for illustration purposes only.
|
|
93
|
+
|
|
94
|
+
The /doit.taskit command MUST replace these with actual tasks based on:
|
|
95
|
+
- User stories from spec.md (with their priorities P1, P2, P3...)
|
|
96
|
+
- Feature requirements from plan.md
|
|
97
|
+
- Entities from data-model.md
|
|
98
|
+
- Endpoints from contracts/
|
|
99
|
+
|
|
100
|
+
Tasks MUST be organized by user story so each story can be:
|
|
101
|
+
- Implemented independently
|
|
102
|
+
- Tested independently
|
|
103
|
+
- Delivered as an MVP increment
|
|
104
|
+
|
|
105
|
+
DO NOT keep these sample tasks in the generated tasks.md file.
|
|
106
|
+
============================================================================
|
|
107
|
+
-->
|
|
108
|
+
|
|
109
|
+
## Phase 1: Setup (Shared Infrastructure)
|
|
110
|
+
|
|
111
|
+
**Purpose**: Project initialization and basic structure
|
|
112
|
+
|
|
113
|
+
- [ ] T001 Create project structure per implementation plan
|
|
114
|
+
- [ ] T002 Initialize [language] project with [framework] dependencies
|
|
115
|
+
- [ ] T003 [P] Configure linting and formatting tools
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Phase 2: Foundational (Blocking Prerequisites)
|
|
120
|
+
|
|
121
|
+
**Purpose**: Core infrastructure that MUST be complete before ANY user story can be implemented
|
|
122
|
+
|
|
123
|
+
**⚠️ CRITICAL**: No user story work can begin until this phase is complete
|
|
124
|
+
|
|
125
|
+
Examples of foundational tasks (adjust based on your project):
|
|
126
|
+
|
|
127
|
+
- [ ] T004 Setup database schema and migrations framework
|
|
128
|
+
- [ ] T005 [P] Implement authentication/authorization framework
|
|
129
|
+
- [ ] T006 [P] Setup API routing and middleware structure
|
|
130
|
+
- [ ] T007 Create base models/entities that all stories depend on
|
|
131
|
+
- [ ] T008 Configure error handling and logging infrastructure
|
|
132
|
+
- [ ] T009 Setup environment configuration management
|
|
133
|
+
|
|
134
|
+
**Checkpoint**: Foundation ready - user story implementation can now begin in parallel
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Phase 3: User Story 1 - [Title] (Priority: P1) 🎯 MVP
|
|
139
|
+
|
|
140
|
+
**Goal**: [Brief description of what this story delivers]
|
|
141
|
+
|
|
142
|
+
**Independent Test**: [How to verify this story works on its own]
|
|
143
|
+
|
|
144
|
+
### Tests for User Story 1 (OPTIONAL - only if tests requested) ⚠️
|
|
145
|
+
|
|
146
|
+
> **NOTE: Write these tests FIRST, ensure they FAIL before implementation**
|
|
147
|
+
|
|
148
|
+
- [ ] T010 [P] [US1] Contract test for [endpoint] in tests/contract/test_[name].py
|
|
149
|
+
- [ ] T011 [P] [US1] Integration test for [user journey] in tests/integration/test_[name].py
|
|
150
|
+
|
|
151
|
+
### Implementation for User Story 1
|
|
152
|
+
|
|
153
|
+
- [ ] T012 [P] [US1] Create [Entity1] model in src/models/[entity1].py
|
|
154
|
+
- [ ] T013 [P] [US1] Create [Entity2] model in src/models/[entity2].py
|
|
155
|
+
- [ ] T014 [US1] Implement [Service] in src/services/[service].py (depends on T012, T013)
|
|
156
|
+
- [ ] T015 [US1] Implement [endpoint/feature] in src/[location]/[file].py
|
|
157
|
+
- [ ] T016 [US1] Add validation and error handling
|
|
158
|
+
- [ ] T017 [US1] Add logging for user story 1 operations
|
|
159
|
+
|
|
160
|
+
**Checkpoint**: At this point, User Story 1 should be fully functional and testable independently
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Phase 4: User Story 2 - [Title] (Priority: P2)
|
|
165
|
+
|
|
166
|
+
**Goal**: [Brief description of what this story delivers]
|
|
167
|
+
|
|
168
|
+
**Independent Test**: [How to verify this story works on its own]
|
|
169
|
+
|
|
170
|
+
### Tests for User Story 2 (OPTIONAL - only if tests requested) ⚠️
|
|
171
|
+
|
|
172
|
+
- [ ] T018 [P] [US2] Contract test for [endpoint] in tests/contract/test_[name].py
|
|
173
|
+
- [ ] T019 [P] [US2] Integration test for [user journey] in tests/integration/test_[name].py
|
|
174
|
+
|
|
175
|
+
### Implementation for User Story 2
|
|
176
|
+
|
|
177
|
+
- [ ] T020 [P] [US2] Create [Entity] model in src/models/[entity].py
|
|
178
|
+
- [ ] T021 [US2] Implement [Service] in src/services/[service].py
|
|
179
|
+
- [ ] T022 [US2] Implement [endpoint/feature] in src/[location]/[file].py
|
|
180
|
+
- [ ] T023 [US2] Integrate with User Story 1 components (if needed)
|
|
181
|
+
|
|
182
|
+
**Checkpoint**: At this point, User Stories 1 AND 2 should both work independently
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Phase 5: User Story 3 - [Title] (Priority: P3)
|
|
187
|
+
|
|
188
|
+
**Goal**: [Brief description of what this story delivers]
|
|
189
|
+
|
|
190
|
+
**Independent Test**: [How to verify this story works on its own]
|
|
191
|
+
|
|
192
|
+
### Tests for User Story 3 (OPTIONAL - only if tests requested) ⚠️
|
|
193
|
+
|
|
194
|
+
- [ ] T024 [P] [US3] Contract test for [endpoint] in tests/contract/test_[name].py
|
|
195
|
+
- [ ] T025 [P] [US3] Integration test for [user journey] in tests/integration/test_[name].py
|
|
196
|
+
|
|
197
|
+
### Implementation for User Story 3
|
|
198
|
+
|
|
199
|
+
- [ ] T026 [P] [US3] Create [Entity] model in src/models/[entity].py
|
|
200
|
+
- [ ] T027 [US3] Implement [Service] in src/services/[service].py
|
|
201
|
+
- [ ] T028 [US3] Implement [endpoint/feature] in src/[location]/[file].py
|
|
202
|
+
|
|
203
|
+
**Checkpoint**: All user stories should now be independently functional
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
[Add more user story phases as needed, following the same pattern]
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Phase N: Polish & Cross-Cutting Concerns
|
|
212
|
+
|
|
213
|
+
**Purpose**: Improvements that affect multiple user stories
|
|
214
|
+
|
|
215
|
+
- [ ] TXXX [P] Documentation updates in docs/
|
|
216
|
+
- [ ] TXXX Code cleanup and refactoring
|
|
217
|
+
- [ ] TXXX Performance optimization across all stories
|
|
218
|
+
- [ ] TXXX [P] Additional unit tests (if requested) in tests/unit/
|
|
219
|
+
- [ ] TXXX Security hardening
|
|
220
|
+
- [ ] TXXX Run quickstart.md validation
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Dependencies & Execution Order
|
|
225
|
+
|
|
226
|
+
### Phase Dependencies
|
|
227
|
+
|
|
228
|
+
- **Setup (Phase 1)**: No dependencies - can start immediately
|
|
229
|
+
- **Foundational (Phase 2)**: Depends on Setup completion - BLOCKS all user stories
|
|
230
|
+
- **User Stories (Phase 3+)**: All depend on Foundational phase completion
|
|
231
|
+
- User stories can then proceed in parallel (if staffed)
|
|
232
|
+
- Or sequentially in priority order (P1 → P2 → P3)
|
|
233
|
+
- **Polish (Final Phase)**: Depends on all desired user stories being complete
|
|
234
|
+
|
|
235
|
+
### User Story Dependencies
|
|
236
|
+
|
|
237
|
+
- **User Story 1 (P1)**: Can start after Foundational (Phase 2) - No dependencies on other stories
|
|
238
|
+
- **User Story 2 (P2)**: Can start after Foundational (Phase 2) - May integrate with US1 but should be independently testable
|
|
239
|
+
- **User Story 3 (P3)**: Can start after Foundational (Phase 2) - May integrate with US1/US2 but should be independently testable
|
|
240
|
+
|
|
241
|
+
### Within Each User Story
|
|
242
|
+
|
|
243
|
+
- Tests (if included) MUST be written and FAIL before implementation
|
|
244
|
+
- Models before services
|
|
245
|
+
- Services before endpoints
|
|
246
|
+
- Core implementation before integration
|
|
247
|
+
- Story complete before moving to next priority
|
|
248
|
+
|
|
249
|
+
### Parallel Opportunities
|
|
250
|
+
|
|
251
|
+
- All Setup tasks marked [P] can run in parallel
|
|
252
|
+
- All Foundational tasks marked [P] can run in parallel (within Phase 2)
|
|
253
|
+
- Once Foundational phase completes, all user stories can start in parallel (if team capacity allows)
|
|
254
|
+
- All tests for a user story marked [P] can run in parallel
|
|
255
|
+
- Models within a story marked [P] can run in parallel
|
|
256
|
+
- Different user stories can be worked on in parallel by different team members
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Parallel Example: User Story 1
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
# Launch all tests for User Story 1 together (if tests requested):
|
|
264
|
+
Task: "Contract test for [endpoint] in tests/contract/test_[name].py"
|
|
265
|
+
Task: "Integration test for [user journey] in tests/integration/test_[name].py"
|
|
266
|
+
|
|
267
|
+
# Launch all models for User Story 1 together:
|
|
268
|
+
Task: "Create [Entity1] model in src/models/[entity1].py"
|
|
269
|
+
Task: "Create [Entity2] model in src/models/[entity2].py"
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Implementation Strategy
|
|
275
|
+
|
|
276
|
+
### MVP First (User Story 1 Only)
|
|
277
|
+
|
|
278
|
+
1. Complete Phase 1: Setup
|
|
279
|
+
2. Complete Phase 2: Foundational (CRITICAL - blocks all stories)
|
|
280
|
+
3. Complete Phase 3: User Story 1
|
|
281
|
+
4. **STOP and VALIDATE**: Test User Story 1 independently
|
|
282
|
+
5. Deploy/demo if ready
|
|
283
|
+
|
|
284
|
+
### Incremental Delivery
|
|
285
|
+
|
|
286
|
+
1. Complete Setup + Foundational → Foundation ready
|
|
287
|
+
2. Add User Story 1 → Test independently → Deploy/Demo (MVP!)
|
|
288
|
+
3. Add User Story 2 → Test independently → Deploy/Demo
|
|
289
|
+
4. Add User Story 3 → Test independently → Deploy/Demo
|
|
290
|
+
5. Each story adds value without breaking previous stories
|
|
291
|
+
|
|
292
|
+
### Parallel Team Strategy
|
|
293
|
+
|
|
294
|
+
With multiple developers:
|
|
295
|
+
|
|
296
|
+
1. Team completes Setup + Foundational together
|
|
297
|
+
2. Once Foundational is done:
|
|
298
|
+
- Developer A: User Story 1
|
|
299
|
+
- Developer B: User Story 2
|
|
300
|
+
- Developer C: User Story 3
|
|
301
|
+
3. Stories complete and integrate independently
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Notes
|
|
306
|
+
|
|
307
|
+
- [P] tasks = different files, no dependencies
|
|
308
|
+
- [Story] label maps task to specific user story for traceability
|
|
309
|
+
- Each user story should be independently completable and testable
|
|
310
|
+
- Verify tests fail before implementing
|
|
311
|
+
- Commit after each task or logical group
|
|
312
|
+
- Stop at any checkpoint to validate story independently
|
|
313
|
+
- Avoid: vague tasks, same file conflicts, cross-story dependencies that break independence
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat.promptFilesRecommendations": {
|
|
3
|
+
"speckit.constitution": true,
|
|
4
|
+
"speckit.doit": true,
|
|
5
|
+
"speckit.plan": true,
|
|
6
|
+
"speckit.tasks": true,
|
|
7
|
+
"speckit.implement": true
|
|
8
|
+
},
|
|
9
|
+
"chat.tools.terminal.autoApprove": {
|
|
10
|
+
".doit/scripts/bash/": true,
|
|
11
|
+
".doit/scripts/powershell/": true
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: doit-toolkit-cli
|
|
3
|
+
Version: 0.1.10
|
|
4
|
+
Summary: Doit CLI - A tool to bootstrap your projects for Spec-Driven Development (SDD).
|
|
5
|
+
Project-URL: Homepage, https://github.com/seanbarlow/doit
|
|
6
|
+
Project-URL: Documentation, https://github.com/seanbarlow/doit#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/seanbarlow/doit.git
|
|
8
|
+
Project-URL: Issues, https://github.com/seanbarlow/doit/issues
|
|
9
|
+
Author-email: Sean Barlow <sbarlow@barlowtech.com>
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: ai,cli,development-workflow,scaffolding,sdd,spec-driven-development
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
22
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
23
|
+
Requires-Python: >=3.11
|
|
24
|
+
Requires-Dist: httpx[socks]
|
|
25
|
+
Requires-Dist: platformdirs
|
|
26
|
+
Requires-Dist: pyyaml>=6.0
|
|
27
|
+
Requires-Dist: readchar
|
|
28
|
+
Requires-Dist: rich>=13.0.0
|
|
29
|
+
Requires-Dist: truststore>=0.10.4
|
|
30
|
+
Requires-Dist: typer>=0.9.0
|
|
31
|
+
Provides-Extra: advanced
|
|
32
|
+
Requires-Dist: scikit-learn>=1.3.0; extra == 'advanced'
|
|
33
|
+
Requires-Dist: tiktoken>=0.5.0; extra == 'advanced'
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: pytest-tmp-files>=0.0.2; extra == 'dev'
|
|
36
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
37
|
+
Description-Content-Type: text/markdown
|
|
38
|
+
|
|
39
|
+
<div align="center">
|
|
40
|
+
<picture>
|
|
41
|
+
<source media="(prefers-color-scheme: dark)" srcset="media/doit-logo-white.svg">
|
|
42
|
+
<img src="media/doit-logo-full-color.svg" alt="Do-It Framework Logo" width="200">
|
|
43
|
+
</picture>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
# Do-It - Spec-Driven Development Framework
|
|
47
|
+
|
|
48
|
+
<div align="center">
|
|
49
|
+
|
|
50
|
+
[](https://opensource.org/licenses/MIT)
|
|
51
|
+
[](https://github.com/seanbarlow/doit)
|
|
52
|
+
[](https://pypi.org/project/doit-toolkit-cli/)
|
|
53
|
+
[](https://www.python.org/downloads/)
|
|
54
|
+
|
|
55
|
+
**See your architecture before you build it.** Do-It is an opinionated, AI-powered framework for specification-driven development. Define specifications, auto-generate diagrams, create roadmaps, and build with confidence.
|
|
56
|
+
|
|
57
|
+
[Quick Start](#quick-start) | [Documentation](https://github.com/seanbarlow/doit/tree/main/docs) | [Contributing](#contributing)
|
|
58
|
+
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Features
|
|
64
|
+
|
|
65
|
+
- **Specification-Driven** - Define what you're building before you build it
|
|
66
|
+
- **Auto-Generated Diagrams** - Automatic Mermaid diagrams from specs (user journeys, architecture, ER models, task dependencies, timelines)
|
|
67
|
+
- **Intelligent Roadmapping** - Prioritized roadmaps with P1-P4 system and vision tracking
|
|
68
|
+
- **Guided Workflows** - Step-by-step interactive initialization with progress tracking, back navigation, and state recovery
|
|
69
|
+
- **Persistent Memory** - All project context stored in version-controlled `.doit/memory/` folder
|
|
70
|
+
- **Opinionated Approach** - Best practices built-in; strong opinions that reduce decision fatigue
|
|
71
|
+
- **AI-Powered** - Works with Claude Code, Cursor, and other AI coding assistants via slash commands
|
|
72
|
+
- **Team-Focused** - Quality gates, code reviews, and collaborative workflows built-in
|
|
73
|
+
- **Living Docs** - Automatically organized and indexed project documentation
|
|
74
|
+
|
|
75
|
+
## The Problem Do-It Solves
|
|
76
|
+
|
|
77
|
+
Most projects fail not from technical debt, but from **architectural debt** - decisions made early without full context. Teams struggle with:
|
|
78
|
+
|
|
79
|
+
- Architecture decisions made in isolation
|
|
80
|
+
- Specifications that don't stay in sync with code
|
|
81
|
+
- Scattered documentation that's always out of date
|
|
82
|
+
- Roadmaps that don't reflect actual priorities
|
|
83
|
+
- Teams working from different understandings of the same system
|
|
84
|
+
- Manual diagram creation that becomes a chore
|
|
85
|
+
|
|
86
|
+
**Do-It solves this by making specification and decision-making the foundation of development.**
|
|
87
|
+
|
|
88
|
+
## Quick Start
|
|
89
|
+
|
|
90
|
+
### Installation
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Using uv (recommended)
|
|
94
|
+
uv tool install doit-toolkit-cli
|
|
95
|
+
|
|
96
|
+
# Or using pipx
|
|
97
|
+
pipx install doit-toolkit-cli
|
|
98
|
+
|
|
99
|
+
# Or using pip
|
|
100
|
+
pip install doit-toolkit-cli
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Initialize Your Project
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Create a new project
|
|
107
|
+
doit init my-project
|
|
108
|
+
|
|
109
|
+
# Or initialize in current directory
|
|
110
|
+
doit init .
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
This creates the `.doit/` folder structure with:
|
|
114
|
+
|
|
115
|
+
- `memory/` - Project context files (constitution, tech-stack, etc.)
|
|
116
|
+
- `templates/` - Spec, plan, and task templates
|
|
117
|
+
- `scripts/` - Automation scripts (bash and PowerShell)
|
|
118
|
+
|
|
119
|
+
### The Do-It Workflow (AI Agent Slash Commands)
|
|
120
|
+
|
|
121
|
+
Do-It provides slash commands for AI coding assistants like Claude Code:
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
# 1. Define your project principles
|
|
125
|
+
/doit.constitution This project follows a "Security-First" approach...
|
|
126
|
+
|
|
127
|
+
# 2. Write your specification
|
|
128
|
+
/doit.specit Build a collaborative task management app with real-time updates
|
|
129
|
+
# -> Auto-generates: user journey diagram, entity relationships
|
|
130
|
+
|
|
131
|
+
# 3. Create your technical plan
|
|
132
|
+
/doit.planit Use React frontend, Node.js backend, PostgreSQL database
|
|
133
|
+
# -> Auto-generates: architecture diagram, component dependencies
|
|
134
|
+
|
|
135
|
+
# 4. Break down into tasks
|
|
136
|
+
/doit.taskit
|
|
137
|
+
# -> Auto-generates: task dependencies, phase timeline
|
|
138
|
+
|
|
139
|
+
# 5. Implement with AI assistance
|
|
140
|
+
/doit.implementit
|
|
141
|
+
|
|
142
|
+
# 6. Run quality assurance
|
|
143
|
+
/doit.testit
|
|
144
|
+
|
|
145
|
+
# 7. Team review
|
|
146
|
+
/doit.reviewit
|
|
147
|
+
|
|
148
|
+
# 8. Check in and archive
|
|
149
|
+
/doit.checkin
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Commands
|
|
153
|
+
|
|
154
|
+
### Slash Commands (AI Agent)
|
|
155
|
+
|
|
156
|
+
Run these in your AI coding assistant (Claude Code, Copilot, etc.):
|
|
157
|
+
|
|
158
|
+
| Command | Purpose | Output |
|
|
159
|
+
|---------|---------|--------|
|
|
160
|
+
| **/doit.constitution** | Document project principles | constitution.md |
|
|
161
|
+
| **/doit.specit** | Define user stories and features | User journey diagrams, spec.md |
|
|
162
|
+
| **/doit.planit** | Create technical architecture | Architecture diagram, plan.md |
|
|
163
|
+
| **/doit.taskit** | Break down into tasks | Task dependencies, timeline, tasks.md |
|
|
164
|
+
| **/doit.implementit** | Implement features | Executes task queue with AI |
|
|
165
|
+
| **/doit.testit** | Quality assurance | Test results, coverage reports |
|
|
166
|
+
| **/doit.reviewit** | Team code review | Review findings, review-report.md |
|
|
167
|
+
| **/doit.roadmapit** | Manage priorities | roadmap.md with P1-P4 items |
|
|
168
|
+
| **/doit.documentit** | Organize documentation | Organized docs/, index.md |
|
|
169
|
+
| **/doit.scaffoldit** | Bootstrap new projects | .doit/ structure, templates |
|
|
170
|
+
| **/doit.fixit** | Bug-fix workflow | Investigation, fix planning, review |
|
|
171
|
+
| **/doit.checkin** | Archive completed work | PR creation, issue closing |
|
|
172
|
+
|
|
173
|
+
### CLI Commands (Terminal)
|
|
174
|
+
|
|
175
|
+
Run these in your terminal:
|
|
176
|
+
|
|
177
|
+
| Command | Purpose |
|
|
178
|
+
|---------|---------|
|
|
179
|
+
| `doit init` | Initialize Do-It in a project |
|
|
180
|
+
| `doit verify` | Verify project structure |
|
|
181
|
+
| `doit sync-prompts` | Sync templates to AI agents |
|
|
182
|
+
| `doit context show` | Display loaded project context |
|
|
183
|
+
| `doit hooks install` | Install git hooks for workflow enforcement |
|
|
184
|
+
| `doit hooks validate` | Validate branch meets requirements |
|
|
185
|
+
| `doit validate` | Validate spec against quality rules |
|
|
186
|
+
| `doit status` | Show spec status dashboard |
|
|
187
|
+
| `doit xref` | Cross-reference specs and tasks |
|
|
188
|
+
| `doit diagram` | Generate Mermaid diagrams from specs |
|
|
189
|
+
|
|
190
|
+
## Project Structure
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
your-project/
|
|
194
|
+
├── README.md # Your project README
|
|
195
|
+
├── .doit/ # Do-It configuration (version control!)
|
|
196
|
+
│ ├── memory/
|
|
197
|
+
│ │ ├── constitution.md # Project principles
|
|
198
|
+
│ │ ├── tech-stack.md # Technology choices
|
|
199
|
+
│ │ ├── roadmap.md # Feature priorities (P1-P4)
|
|
200
|
+
│ │ └── completed_roadmap.md # Archive of shipped features
|
|
201
|
+
│ ├── templates/
|
|
202
|
+
│ │ ├── spec-template.md
|
|
203
|
+
│ │ ├── plan-template.md
|
|
204
|
+
│ │ └── task-template.md
|
|
205
|
+
│ └── scripts/
|
|
206
|
+
│ ├── bash/ # Bash automation scripts
|
|
207
|
+
│ └── powershell/ # PowerShell automation scripts
|
|
208
|
+
├── specs/ # Feature specifications
|
|
209
|
+
│ └── NNN-feature-name/
|
|
210
|
+
│ ├── spec.md # Feature specification
|
|
211
|
+
│ ├── plan.md # Technical plan
|
|
212
|
+
│ ├── tasks.md # Task breakdown
|
|
213
|
+
│ └── research.md # Research notes
|
|
214
|
+
├── docs/ # Project documentation
|
|
215
|
+
└── src/ # Your application code
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Auto-Generated Diagrams
|
|
219
|
+
|
|
220
|
+
Do-It automatically generates these diagram types from your specifications:
|
|
221
|
+
|
|
222
|
+
- **User Journey** - How users interact with your system
|
|
223
|
+
- **Architecture** - System components and boundaries
|
|
224
|
+
- **Component Dependencies** - Service relationships
|
|
225
|
+
- **Entity Relationships** - Database schema
|
|
226
|
+
- **Sequence Diagrams** - Time-based interactions
|
|
227
|
+
- **Task Dependencies** - Execution order and critical path
|
|
228
|
+
- **Phase Timeline** - Gantt chart of development phases
|
|
229
|
+
- **Finding Distribution** - Code review findings breakdown
|
|
230
|
+
|
|
231
|
+
All diagrams are in Mermaid format, work in markdown, and update automatically when specs change.
|
|
232
|
+
|
|
233
|
+
## Persistent Memory System
|
|
234
|
+
|
|
235
|
+
Your entire project context lives in version-controlled markdown files:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
.doit/memory/
|
|
239
|
+
├── constitution.md # "Why do we exist? What are our principles?"
|
|
240
|
+
├── tech-stack.md # "What technologies are we using?"
|
|
241
|
+
├── roadmap.md # "What's the priority order?"
|
|
242
|
+
└── completed_roadmap.md # "What have we shipped?" (20-item archive)
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Because these files are in git:
|
|
246
|
+
|
|
247
|
+
- Your entire team sees the same context
|
|
248
|
+
- History is preserved (git blame, logs)
|
|
249
|
+
- Decisions are documented with rationale
|
|
250
|
+
- New team members have full context
|
|
251
|
+
- No external dependencies or databases
|
|
252
|
+
|
|
253
|
+
## Documentation
|
|
254
|
+
|
|
255
|
+
- [Installation Guide](docs/installation.md) - Getting started with Do-It
|
|
256
|
+
- [Quick Start Guide](docs/quickstart.md) - 5-minute tutorial
|
|
257
|
+
- [Template System](docs/templates/index.md) - Understanding templates
|
|
258
|
+
- [Command Reference](docs/templates/commands.md) - All slash commands explained
|
|
259
|
+
- [Workflow System Guide](docs/guides/workflow-system-guide.md) - Interactive workflow architecture
|
|
260
|
+
- [Creating Workflows Tutorial](docs/tutorials/creating-workflows.md) - Build custom workflows
|
|
261
|
+
|
|
262
|
+
## Contributing
|
|
263
|
+
|
|
264
|
+
We welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
|
|
265
|
+
|
|
266
|
+
**Quick start for contributors:**
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# Clone the repo
|
|
270
|
+
git clone https://github.com/seanbarlow/doit.git
|
|
271
|
+
cd doit
|
|
272
|
+
|
|
273
|
+
# Create virtual environment
|
|
274
|
+
python -m venv venv
|
|
275
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
276
|
+
|
|
277
|
+
# Install in development mode
|
|
278
|
+
pip install -e ".[dev]"
|
|
279
|
+
|
|
280
|
+
# Run tests
|
|
281
|
+
pytest
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## License
|
|
285
|
+
|
|
286
|
+
Do-It is licensed under the MIT License. See [LICENSE](./LICENSE) for details.
|
|
287
|
+
|
|
288
|
+
## Reporting Issues
|
|
289
|
+
|
|
290
|
+
Found a bug? Have a feature request?
|
|
291
|
+
|
|
292
|
+
- **[GitHub Issues](https://github.com/seanbarlow/doit/issues)** - Bug reports and feature requests
|
|
293
|
+
- **[Discussions](https://github.com/seanbarlow/doit/discussions)** - Questions and ideas
|
|
294
|
+
|
|
295
|
+
Please include:
|
|
296
|
+
- Do-It version (`doit --version`)
|
|
297
|
+
- Python version (`python --version`)
|
|
298
|
+
- Operating system
|
|
299
|
+
- Steps to reproduce (for bugs)
|
|
300
|
+
- Expected vs. actual behavior
|
|
301
|
+
|
|
302
|
+
## Status
|
|
303
|
+
|
|
304
|
+
- **Current Version:** 0.1.8
|
|
305
|
+
- **Python Support:** 3.11, 3.12
|
|
306
|
+
- **Status:** Beta
|
|
307
|
+
- **Last Updated:** January 2026
|
|
308
|
+
|
|
309
|
+
See [CHANGELOG.md](./CHANGELOG.md) for release notes.
|
|
310
|
+
|
|
311
|
+
## Acknowledgments
|
|
312
|
+
|
|
313
|
+
- Diagram generation powered by [Mermaid](https://mermaid.js.org/)
|
|
314
|
+
- CLI built with [Typer](https://typer.tiangolo.com/) and [Rich](https://rich.readthedocs.io/)
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
<div align="center">
|
|
319
|
+
|
|
320
|
+
Made with care by the Do-It community
|
|
321
|
+
|
|
322
|
+
[Star us on GitHub](https://github.com/seanbarlow/doit)
|
|
323
|
+
|
|
324
|
+
</div>
|