Skip to main content

Doit CLI - A tool to bootstrap your projects for Spec-Driven Development (SDD).

Project description

Do-It Framework Logo

Do-It - Spec-Driven Development Framework

License: MIT GitHub Stars PyPI version Python 3.11+

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.

Quick Start | Documentation | Contributing


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 templates
  • scripts/ - 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

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?

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

Star us on GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doit_toolkit_cli-0.1.11.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doit_toolkit_cli-0.1.11-py3-none-any.whl (359.6 kB view details)

Uploaded Python 3

File details

Details for the file doit_toolkit_cli-0.1.11.tar.gz.

File metadata

  • Download URL: doit_toolkit_cli-0.1.11.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

Hashes for doit_toolkit_cli-0.1.11.tar.gz
Algorithm Hash digest
SHA256 0226ed9938b5cc76396b86a54def2707c506be9938244cd63f8fdef6b7084622
MD5 c5e6fcc4ea8ad0c7acfe0b33939df7ec
BLAKE2b-256 15074769de56793076194f1d283c6451c337995acab02070acb53b9a2c9c35b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for doit_toolkit_cli-0.1.11.tar.gz:

Publisher: publish.yml on seanbarlow/doit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file doit_toolkit_cli-0.1.11-py3-none-any.whl.

File metadata

File hashes

Hashes for doit_toolkit_cli-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 340851323a0e4706e9770764e93753b8a04a4d5a0832c86b752c9498ef73f4cf
MD5 a1ab3b456dfcbb2ee22bb7a8bba859df
BLAKE2b-256 0fe17152f17fe81dce459e308e64058b37479503359dd4c40279efbc23fdcba3

See more details on using hashes here.

Provenance

The following attestation bundles were made for doit_toolkit_cli-0.1.11-py3-none-any.whl:

Publisher: publish.yml on seanbarlow/doit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page