Doit CLI - A tool to bootstrap your projects for Spec-Driven Development (SDD).
Project description
DoIt - Spec-Driven Development Framework
See your architecture before you build it. DoIt 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
- 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 DoIt 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
DoIt 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 DoIt Workflow (AI Agent Slash Commands)
DoIt 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
The 11 Commands
| Command | Purpose | Output |
|---|---|---|
| constitution | Document project principles | constitution.md |
| specit | Define user stories and features | User journey diagrams, spec.md |
| planit | Create technical architecture | Architecture diagram, plan.md |
| taskit | Break down into tasks | Task dependencies, timeline, tasks.md |
| implementit | Implement features | Executes task queue with AI |
| testit | Quality assurance | Test results, coverage reports |
| reviewit | Team code review | Review findings, review-report.md |
| roadmapit | Manage priorities | roadmap.md with P1-P4 items |
| documentit | Organize documentation | Organized docs/, index.md |
| scaffoldit | Bootstrap new projects | .doit/ structure, templates |
| checkin | Archive completed work | PR creation, issue closing |
Project Structure
your-project/
├── README.md # Your project README
├── .doit/ # DoIt 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
DoIt 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 DoIt
- Quick Start Guide - 5-minute tutorial
- Template System - Understanding templates
- Command Reference - All slash commands explained
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
DoIt 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:
- DoIt version (
doit --version) - Python version (
python --version) - Operating system
- Steps to reproduce (for bugs)
- Expected vs. actual behavior
Status
- Current Version: 0.0.23
- Python Support: 3.11, 3.12
- Status: Beta
- Last Updated: January 2026
See CHANGELOG.md for release notes.
Acknowledgments
Made with care by the DoIt 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.4.tar.gz.
File metadata
- Download URL: doit_toolkit_cli-0.1.4.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6928e6ea43a1000a25160191713013f0484f5e47cca2fc3e64172cfc6fa1af0
|
|
| MD5 |
daa92edea3ad171d542ae6da40136d67
|
|
| BLAKE2b-256 |
dd3d202af64c940a4b553d1e6ebe6fedd683ed07e812d80b19ad505c2563dca7
|
Provenance
The following attestation bundles were made for doit_toolkit_cli-0.1.4.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.4.tar.gz -
Subject digest:
b6928e6ea43a1000a25160191713013f0484f5e47cca2fc3e64172cfc6fa1af0 - Sigstore transparency entry: 820362859
- Sigstore integration time:
-
Permalink:
seanbarlow/doit@2560f5bd806b9044b0f791783d2829710a4dc08d -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/seanbarlow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2560f5bd806b9044b0f791783d2829710a4dc08d -
Trigger Event:
push
-
Statement type:
File details
Details for the file doit_toolkit_cli-0.1.4-py3-none-any.whl.
File metadata
- Download URL: doit_toolkit_cli-0.1.4-py3-none-any.whl
- Upload date:
- Size: 156.0 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 |
3302911f6bf2bd02fe87efad3eb06e22afb72857c2979252dfa92ce67333d7c3
|
|
| MD5 |
99d3ac1f7105792f8520735dd6ad98b2
|
|
| BLAKE2b-256 |
864813687d503c93d1e31244a2372ac9e867afd6c249a2b5da4956b204a94801
|
Provenance
The following attestation bundles were made for doit_toolkit_cli-0.1.4-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.4-py3-none-any.whl -
Subject digest:
3302911f6bf2bd02fe87efad3eb06e22afb72857c2979252dfa92ce67333d7c3 - Sigstore transparency entry: 820362872
- Sigstore integration time:
-
Permalink:
seanbarlow/doit@2560f5bd806b9044b0f791783d2829710a4dc08d -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/seanbarlow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2560f5bd806b9044b0f791783d2829710a4dc08d -
Trigger Event:
push
-
Statement type: