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
  • 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.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

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.4
  • 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.6.tar.gz (342.6 kB 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.6-py3-none-any.whl (168.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: doit_toolkit_cli-0.1.6.tar.gz
  • Upload date:
  • Size: 342.6 kB
  • 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.6.tar.gz
Algorithm Hash digest
SHA256 55d78f7406504adb83bee1347de4faff72669b800971a789f5bf3695888b8fab
MD5 7363e2ba614c7868a6701447ff060048
BLAKE2b-256 9bc2cdb5d195bc59f834e604a2229d1b6ec906e4217444be1f3adc431b4b96a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for doit_toolkit_cli-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 359c1518e452f4723fd7fd3820355436bb8c8f2a7ecd02f8d3f4f1c743f83635
MD5 14ff1422dcfc4abd51eb0e9899e8585a
BLAKE2b-256 c787e6267351b9096e64666c539605a9b06f948d16a3d347f758ec31b569265e

See more details on using hashes here.

Provenance

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