Doit CLI - A tool to bootstrap your projects for Spec-Driven Development (SDD).
Project description
Do-It - Spec-Driven Development Framework
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.
Features
- Specification-Driven - Define what you're building before you build it
- Auto-Generated Diagrams - Automatic Mermaid diagrams from specs (user journeys, architecture, ER models, task dependencies, timelines)
- Intelligent Roadmapping - Prioritized roadmaps with P1-P4 system and vision tracking
- Guided Workflows - Step-by-step interactive initialization with progress tracking, back navigation, and state recovery
- Persistent Memory - All project context stored in version-controlled
.doit/memory/folder - Opinionated Approach - Best practices built-in; strong opinions that reduce decision fatigue
- AI-Powered - Works with Claude Code, Cursor, and other AI coding assistants via slash commands
- Team-Focused - Quality gates, code reviews, and collaborative workflows built-in
- Living Docs - Automatically organized and indexed project documentation
The Problem Do-It Solves
Most projects fail not from technical debt, but from architectural debt - decisions made early without full context. Teams struggle with:
- Architecture decisions made in isolation
- Specifications that don't stay in sync with code
- Scattered documentation that's always out of date
- Roadmaps that don't reflect actual priorities
- Teams working from different understandings of the same system
- Manual diagram creation that becomes a chore
Do-It solves this by making specification and decision-making the foundation of development.
Quick Start
Installation
# Using uv (recommended)
uv tool install doit-toolkit-cli
# Or using pipx
pipx install doit-toolkit-cli
# Or using pip
pip install doit-toolkit-cli
Initialize Your Project
# Create a new project
doit init my-project
# Or initialize in current directory
doit init .
This creates the .doit/ folder structure with:
memory/- Project context files (constitution, tech-stack, etc.)templates/- Spec, plan, and task templatesscripts/- Automation scripts (bash and PowerShell)
The Do-It Workflow (AI Agent Slash Commands)
Do-It provides slash commands for AI coding assistants like Claude Code:
# 1. Define your project principles
/doit.constitution This project follows a "Security-First" approach...
# 2. Write your specification
/doit.specit Build a collaborative task management app with real-time updates
# -> Auto-generates: user journey diagram, entity relationships
# 3. Create your technical plan
/doit.planit Use React frontend, Node.js backend, PostgreSQL database
# -> Auto-generates: architecture diagram, component dependencies
# 4. Break down into tasks
/doit.taskit
# -> Auto-generates: task dependencies, phase timeline
# 5. Implement with AI assistance
/doit.implementit
# 6. Run quality assurance
/doit.testit
# 7. Team review
/doit.reviewit
# 8. Check in and archive
/doit.checkin
Commands
Slash Commands (AI Agent)
Run these in your AI coding assistant (Claude Code, Copilot, etc.):
| Command | Purpose | Output |
|---|---|---|
| /doit.constitution | Document project principles | constitution.md |
| /doit.specit | Define user stories and features | User journey diagrams, spec.md |
| /doit.planit | Create technical architecture | Architecture diagram, plan.md |
| /doit.taskit | Break down into tasks | Task dependencies, timeline, tasks.md |
| /doit.implementit | Implement features | Executes task queue with AI |
| /doit.testit | Quality assurance | Test results, coverage reports |
| /doit.reviewit | Team code review | Review findings, review-report.md |
| /doit.roadmapit | Manage priorities | roadmap.md with P1-P4 items |
| /doit.documentit | Organize documentation | Organized docs/, index.md |
| /doit.scaffoldit | Bootstrap new projects | .doit/ structure, templates |
| /doit.fixit | Bug-fix workflow | Investigation, fix planning, review |
| /doit.checkin | Archive completed work | PR creation, issue closing |
CLI Commands (Terminal)
Run these in your terminal:
| Command | Purpose |
|---|---|
doit init |
Initialize Do-It in a project |
doit verify |
Verify project structure |
doit sync-prompts |
Sync templates to AI agents |
doit context show |
Display loaded project context |
doit hooks install |
Install git hooks for workflow enforcement |
doit hooks validate |
Validate branch meets requirements |
doit validate |
Validate spec against quality rules |
doit status |
Show spec status dashboard |
doit xref |
Cross-reference specs and tasks |
doit diagram |
Generate Mermaid diagrams from specs |
Project Structure
your-project/
├── README.md # Your project README
├── .doit/ # Do-It configuration (version control!)
│ ├── memory/
│ │ ├── constitution.md # Project principles
│ │ ├── tech-stack.md # Technology choices
│ │ ├── roadmap.md # Feature priorities (P1-P4)
│ │ └── completed_roadmap.md # Archive of shipped features
│ ├── templates/
│ │ ├── spec-template.md
│ │ ├── plan-template.md
│ │ └── task-template.md
│ └── scripts/
│ ├── bash/ # Bash automation scripts
│ └── powershell/ # PowerShell automation scripts
├── specs/ # Feature specifications
│ └── NNN-feature-name/
│ ├── spec.md # Feature specification
│ ├── plan.md # Technical plan
│ ├── tasks.md # Task breakdown
│ └── research.md # Research notes
├── docs/ # Project documentation
└── src/ # Your application code
Auto-Generated Diagrams
Do-It automatically generates these diagram types from your specifications:
- User Journey - How users interact with your system
- Architecture - System components and boundaries
- Component Dependencies - Service relationships
- Entity Relationships - Database schema
- Sequence Diagrams - Time-based interactions
- Task Dependencies - Execution order and critical path
- Phase Timeline - Gantt chart of development phases
- Finding Distribution - Code review findings breakdown
All diagrams are in Mermaid format, work in markdown, and update automatically when specs change.
Persistent Memory System
Your entire project context lives in version-controlled markdown files:
.doit/memory/
├── constitution.md # "Why do we exist? What are our principles?"
├── tech-stack.md # "What technologies are we using?"
├── roadmap.md # "What's the priority order?"
└── completed_roadmap.md # "What have we shipped?" (20-item archive)
Because these files are in git:
- Your entire team sees the same context
- History is preserved (git blame, logs)
- Decisions are documented with rationale
- New team members have full context
- No external dependencies or databases
Documentation
- Installation Guide - Getting started with Do-It
- Quick Start Guide - 5-minute tutorial
- Template System - Understanding templates
- Command Reference - All slash commands explained
- Workflow System Guide - Interactive workflow architecture
- Creating Workflows Tutorial - Build custom workflows
Contributing
We welcome contributions! See CONTRIBUTING.md for details.
Quick start for contributors:
# Clone the repo
git clone https://github.com/seanbarlow/doit.git
cd doit
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
License
Do-It is licensed under the MIT License. See LICENSE for details.
Reporting Issues
Found a bug? Have a feature request?
- GitHub Issues - Bug reports and feature requests
- Discussions - Questions and ideas
Please include:
- Do-It version (
doit --version) - Python version (
python --version) - Operating system
- Steps to reproduce (for bugs)
- Expected vs. actual behavior
Status
- Current Version: 0.1.8
- Python Support: 3.11, 3.12
- Status: Beta
- Last Updated: January 2026
See CHANGELOG.md for release notes.
Acknowledgments
Made with care by the Do-It community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file doit_toolkit_cli-0.1.10.tar.gz.
File metadata
- Download URL: doit_toolkit_cli-0.1.10.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc41ec09f1ec8a2cc2542739566b374be61ddfe44bc247bbcff97245d2f0e662
|
|
| MD5 |
9e13c27ab5332fe102989b8c56d3e56a
|
|
| BLAKE2b-256 |
cc6f7fcecef3dd271b8370e1f25a9eafc2b1da0e8afc5f35d9aab2a156264feb
|
Provenance
The following attestation bundles were made for doit_toolkit_cli-0.1.10.tar.gz:
Publisher:
publish.yml on seanbarlow/doit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
doit_toolkit_cli-0.1.10.tar.gz -
Subject digest:
cc41ec09f1ec8a2cc2542739566b374be61ddfe44bc247bbcff97245d2f0e662 - Sigstore transparency entry: 844234189
- Sigstore integration time:
-
Permalink:
seanbarlow/doit@6c0f5098306462192852d538f0741a50dbd5686c -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/seanbarlow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6c0f5098306462192852d538f0741a50dbd5686c -
Trigger Event:
push
-
Statement type:
File details
Details for the file doit_toolkit_cli-0.1.10-py3-none-any.whl.
File metadata
- Download URL: doit_toolkit_cli-0.1.10-py3-none-any.whl
- Upload date:
- Size: 319.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac38810b9ecdd40258fb12e84e08809be68536e0a8adb5133a94e92975574c73
|
|
| MD5 |
ccffa37b2552c19c8d10360890591cc0
|
|
| BLAKE2b-256 |
4bc959777f298a7d6aa18800e4a6d6c4d594ff9a3dd1be2b2e806df3531dc871
|
Provenance
The following attestation bundles were made for doit_toolkit_cli-0.1.10-py3-none-any.whl:
Publisher:
publish.yml on seanbarlow/doit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
doit_toolkit_cli-0.1.10-py3-none-any.whl -
Subject digest:
ac38810b9ecdd40258fb12e84e08809be68536e0a8adb5133a94e92975574c73 - Sigstore transparency entry: 844234192
- Sigstore integration time:
-
Permalink:
seanbarlow/doit@6c0f5098306462192852d538f0741a50dbd5686c -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/seanbarlow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6c0f5098306462192852d538f0741a50dbd5686c -
Trigger Event:
push
-
Statement type: