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.

Files changed (135) hide show
  1. doit_cli/__init__.py +1356 -0
  2. doit_cli/cli/__init__.py +26 -0
  3. doit_cli/cli/analytics_command.py +616 -0
  4. doit_cli/cli/context_command.py +213 -0
  5. doit_cli/cli/diagram_command.py +304 -0
  6. doit_cli/cli/fixit_command.py +641 -0
  7. doit_cli/cli/hooks_command.py +211 -0
  8. doit_cli/cli/init_command.py +613 -0
  9. doit_cli/cli/memory_command.py +293 -0
  10. doit_cli/cli/roadmapit_command.py +10 -0
  11. doit_cli/cli/status_command.py +117 -0
  12. doit_cli/cli/sync_prompts_command.py +248 -0
  13. doit_cli/cli/validate_command.py +196 -0
  14. doit_cli/cli/verify_command.py +204 -0
  15. doit_cli/cli/workflow_mixin.py +224 -0
  16. doit_cli/cli/xref_command.py +555 -0
  17. doit_cli/formatters/__init__.py +8 -0
  18. doit_cli/formatters/base.py +38 -0
  19. doit_cli/formatters/json_formatter.py +126 -0
  20. doit_cli/formatters/markdown_formatter.py +97 -0
  21. doit_cli/formatters/rich_formatter.py +257 -0
  22. doit_cli/main.py +51 -0
  23. doit_cli/models/__init__.py +139 -0
  24. doit_cli/models/agent.py +74 -0
  25. doit_cli/models/analytics_models.py +384 -0
  26. doit_cli/models/context_config.py +464 -0
  27. doit_cli/models/crossref_models.py +182 -0
  28. doit_cli/models/diagram_models.py +363 -0
  29. doit_cli/models/fixit_models.py +355 -0
  30. doit_cli/models/hook_config.py +125 -0
  31. doit_cli/models/project.py +91 -0
  32. doit_cli/models/results.py +121 -0
  33. doit_cli/models/search_models.py +228 -0
  34. doit_cli/models/status_models.py +195 -0
  35. doit_cli/models/sync_models.py +146 -0
  36. doit_cli/models/template.py +77 -0
  37. doit_cli/models/validation_models.py +175 -0
  38. doit_cli/models/workflow_models.py +319 -0
  39. doit_cli/prompts/__init__.py +5 -0
  40. doit_cli/prompts/fixit_prompts.py +344 -0
  41. doit_cli/prompts/interactive.py +390 -0
  42. doit_cli/rules/__init__.py +5 -0
  43. doit_cli/rules/builtin_rules.py +160 -0
  44. doit_cli/services/__init__.py +79 -0
  45. doit_cli/services/agent_detector.py +168 -0
  46. doit_cli/services/analytics_service.py +218 -0
  47. doit_cli/services/architecture_generator.py +290 -0
  48. doit_cli/services/backup_service.py +204 -0
  49. doit_cli/services/config_loader.py +113 -0
  50. doit_cli/services/context_loader.py +1123 -0
  51. doit_cli/services/coverage_calculator.py +142 -0
  52. doit_cli/services/crossref_service.py +237 -0
  53. doit_cli/services/cycle_time_calculator.py +134 -0
  54. doit_cli/services/date_inferrer.py +349 -0
  55. doit_cli/services/diagram_service.py +337 -0
  56. doit_cli/services/drift_detector.py +109 -0
  57. doit_cli/services/entity_parser.py +301 -0
  58. doit_cli/services/er_diagram_generator.py +197 -0
  59. doit_cli/services/fixit_service.py +699 -0
  60. doit_cli/services/github_service.py +192 -0
  61. doit_cli/services/hook_manager.py +258 -0
  62. doit_cli/services/hook_validator.py +528 -0
  63. doit_cli/services/input_validator.py +322 -0
  64. doit_cli/services/memory_search.py +527 -0
  65. doit_cli/services/mermaid_validator.py +334 -0
  66. doit_cli/services/prompt_transformer.py +91 -0
  67. doit_cli/services/prompt_writer.py +133 -0
  68. doit_cli/services/query_interpreter.py +428 -0
  69. doit_cli/services/report_exporter.py +219 -0
  70. doit_cli/services/report_generator.py +256 -0
  71. doit_cli/services/requirement_parser.py +112 -0
  72. doit_cli/services/roadmap_summarizer.py +209 -0
  73. doit_cli/services/rule_engine.py +443 -0
  74. doit_cli/services/scaffolder.py +215 -0
  75. doit_cli/services/score_calculator.py +172 -0
  76. doit_cli/services/section_parser.py +204 -0
  77. doit_cli/services/spec_scanner.py +327 -0
  78. doit_cli/services/state_manager.py +355 -0
  79. doit_cli/services/status_reporter.py +143 -0
  80. doit_cli/services/task_parser.py +347 -0
  81. doit_cli/services/template_manager.py +710 -0
  82. doit_cli/services/template_reader.py +158 -0
  83. doit_cli/services/user_journey_generator.py +214 -0
  84. doit_cli/services/user_story_parser.py +232 -0
  85. doit_cli/services/validation_service.py +188 -0
  86. doit_cli/services/validator.py +232 -0
  87. doit_cli/services/velocity_tracker.py +173 -0
  88. doit_cli/services/workflow_engine.py +405 -0
  89. doit_cli/templates/agent-file-template.md +28 -0
  90. doit_cli/templates/checklist-template.md +39 -0
  91. doit_cli/templates/commands/doit.checkin.md +363 -0
  92. doit_cli/templates/commands/doit.constitution.md +187 -0
  93. doit_cli/templates/commands/doit.documentit.md +485 -0
  94. doit_cli/templates/commands/doit.fixit.md +181 -0
  95. doit_cli/templates/commands/doit.implementit.md +265 -0
  96. doit_cli/templates/commands/doit.planit.md +262 -0
  97. doit_cli/templates/commands/doit.reviewit.md +355 -0
  98. doit_cli/templates/commands/doit.roadmapit.md +389 -0
  99. doit_cli/templates/commands/doit.scaffoldit.md +458 -0
  100. doit_cli/templates/commands/doit.specit.md +521 -0
  101. doit_cli/templates/commands/doit.taskit.md +304 -0
  102. doit_cli/templates/commands/doit.testit.md +277 -0
  103. doit_cli/templates/config/context.yaml +134 -0
  104. doit_cli/templates/config/hooks.yaml +93 -0
  105. doit_cli/templates/config/validation-rules.yaml +64 -0
  106. doit_cli/templates/github-issue-templates/epic.yml +78 -0
  107. doit_cli/templates/github-issue-templates/feature.yml +116 -0
  108. doit_cli/templates/github-issue-templates/task.yml +129 -0
  109. doit_cli/templates/hooks/.gitkeep +0 -0
  110. doit_cli/templates/hooks/post-commit.sh +25 -0
  111. doit_cli/templates/hooks/post-merge.sh +75 -0
  112. doit_cli/templates/hooks/pre-commit.sh +17 -0
  113. doit_cli/templates/hooks/pre-push.sh +18 -0
  114. doit_cli/templates/memory/completed_roadmap.md +50 -0
  115. doit_cli/templates/memory/constitution.md +125 -0
  116. doit_cli/templates/memory/roadmap.md +61 -0
  117. doit_cli/templates/plan-template.md +146 -0
  118. doit_cli/templates/scripts/bash/check-prerequisites.sh +166 -0
  119. doit_cli/templates/scripts/bash/common.sh +156 -0
  120. doit_cli/templates/scripts/bash/create-new-feature.sh +297 -0
  121. doit_cli/templates/scripts/bash/setup-plan.sh +61 -0
  122. doit_cli/templates/scripts/bash/update-agent-context.sh +675 -0
  123. doit_cli/templates/scripts/powershell/check-prerequisites.ps1 +148 -0
  124. doit_cli/templates/scripts/powershell/common.ps1 +137 -0
  125. doit_cli/templates/scripts/powershell/create-new-feature.ps1 +283 -0
  126. doit_cli/templates/scripts/powershell/setup-plan.ps1 +61 -0
  127. doit_cli/templates/scripts/powershell/update-agent-context.ps1 +406 -0
  128. doit_cli/templates/spec-template.md +159 -0
  129. doit_cli/templates/tasks-template.md +313 -0
  130. doit_cli/templates/vscode-settings.json +14 -0
  131. doit_toolkit_cli-0.1.10.dist-info/METADATA +324 -0
  132. doit_toolkit_cli-0.1.10.dist-info/RECORD +135 -0
  133. doit_toolkit_cli-0.1.10.dist-info/WHEEL +4 -0
  134. doit_toolkit_cli-0.1.10.dist-info/entry_points.txt +2 -0
  135. 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
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
51
+ [![GitHub Stars](https://img.shields.io/github/stars/seanbarlow/doit?style=social)](https://github.com/seanbarlow/doit)
52
+ [![PyPI version](https://img.shields.io/pypi/v/doit-toolkit-cli.svg)](https://pypi.org/project/doit-toolkit-cli/)
53
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](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>