ToDoWrite Overview

ToDoWrite is a sophisticated hierarchical task management system designed for complex project planning and execution. Built with modern SQLAlchemy patterns, it provides both a standalone CLI and a Python module for programmatic use.

Architecture

12-Layer Hierarchy

ToDoWrite uses a 12-layer hierarchical structure that maps to natural project planning:

Goal           → High-level project objectives
↓
Concept        → Abstract ideas and requirements
↓
Context        → Background information and constraints
↓
Constraints    → Technical and business constraints
↓
Requirements   → Specific functional requirements
↓
AcceptanceCriteria → Definition of done criteria
↓
InterfaceContract → API and interface contracts
↓
Phase          → Project phases and milestones
↓
Step           → Individual steps within phases
↓
Task           → Specific tasks with owners and status
↓
SubTask        → Breakdown of tasks into smaller units
↓
Command        → Executable commands and scripts

ToDoWrite Models Implementation

  • Individual Tables: Each layer has its own database table (e.g., goals, tasks, commands)

  • Integer Primary Keys: Auto-incrementing integer IDs (1, 2, 3, …)

  • Proper Relationships: Many-to-many associations through join tables

  • SQLAlchemy ORM: Full SQLAlchemy integration with type hints

  • Schema Validation: JSON schema validation for data integrity

Key Features

  • Modern Database Design: 33 tables total (12 model + 21 association tables)

  • Rich Relationships: Complex many-to-many associations with proper foreign keys

  • CLI Interface: Full command-line interface for all operations

  • Schema Validation: Comprehensive JSON schema validation

  • Multiple Storage: SQLite, PostgreSQL, and YAML file support

  • Type Safety: Full Python 3.12+ type hints throughout

  • Extensible: Plugin architecture for custom functionality