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
  • GitHub Integration - Auto-create epics from roadmap items, link specs to issues, sync milestones with priorities
  • 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 Collaboration - Git-based sync, change notifications, conflict resolution, and access control
  • 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
doit roadmapit show Display roadmap with GitHub epics
doit roadmapit add Add item and create GitHub epic
doit roadmapit sync-milestones Sync GitHub milestones with priorities
doit team sync Sync shared memory files
doit team status Show team sync status

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

# Run platform-specific tests
pytest -m windows  # Windows E2E tests
pytest -m macos    # macOS E2E tests (requires macOS)

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.11
  • 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.3.0.tar.gz (2.2 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.3.0-py3-none-any.whl (651.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: doit_toolkit_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for doit_toolkit_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c4babc8346d27f18283e1f93bc6ced59e99c1f393f8d3c4824009ba6b63970ba
MD5 61e69e662c3a802b80adef39bee56e7c
BLAKE2b-256 93cbef1be642eb6ff36db719043c529fc39c3ece286f140b36f5f6c1ba7f8237

See more details on using hashes here.

Provenance

The following attestation bundles were made for doit_toolkit_cli-0.3.0.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.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for doit_toolkit_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d7199bae38179afd1841a0fa0eeb998d9af89b235f09940ce8cdd6a494a62f6
MD5 14b94b49237fc95c26843ac83455ab40
BLAKE2b-256 6032925ba1ae569d3135a9c4f3ecffa6e335193009b06122094340d3eaee59d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for doit_toolkit_cli-0.3.0-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