Skip to main content

CLI interface for ToDoWrite - A tool for managing complex software projects

Project description

ToDoWrite CLI Interface - (todowrite_cli)

Package Type: cli | Package Name: todowrite-cli | Status: ✅ Published

A command-line interface for managing complex software projects with hierarchical task management through Goals, Tasks, Concepts, and Commands.

🚀 Installation

From PyPI (Recommended)

pip install todowrite-cli

With PostgreSQL Support

pip install 'todowrite-cli[postgres]'

Development Installation

git clone https://github.com/dderyldowney/todowrite.git
cd todowrite/cli_package
pip install -e .[dev]

Version Information

  • Current Version: Synchronized with todowrite library
  • Version Lock: Always published together with core library
  • Dependencies: Requires todowrite library
  • Python Requirements: 3.12+

📦 Package Context

This is the CLI interface package of the ToDoWrite monorepo:

todowrite/                          # Monorepo root
├── lib_package/                    # Core library (dependency)
├── cli_package/                   # ✅ This package (CLI Interface)
│   ├── src/todowrite_cli/         # CLI source code
│   └── README.md                  # This documentation
├── web_package/                   # Web application (separate)
└── docs/                          # Project documentation

Package Relationships

  • Dependencies: lib_package (todowrite)
  • Version Locked: Always published with same version as core library
  • Semantic Scope: Uses cli scope for commits

Quick Start

Initialize a project

todowrite init

Create a Goal

todowrite create --layer goal --title "Implement User Authentication" --description "Create secure user authentication system"

Create a Task

todowrite create --layer task --title "Design Database Schema" --description "Design and implement database schema for users"

Create a Concept

todowrite create --layer concept --title "OAuth2 Flow" --description "OAuth2 authentication flow implementation"

Create a Command

todowrite create --layer command --title "Build Project" --description "Build the entire project"

Link Nodes

# Use the update command to add parent-child relationships
todowrite update --id "TSK-001" --add-parent "GOAL-001"

Update Progress

todowrite update --id "TSK-001" --status in_progress --progress 50

View Project Status

todowrite list
todowrite get --id "GOAL-001"

Import/Export YAML

todowrite import-yaml
todowrite export-yaml

Commands

Project Management

  • init - Initialize a new project
  • create - Create new nodes (goals, tasks, concepts, commands)
  • get - Get a specific node by ID
  • list - List all nodes with their status
  • status show - Show detailed information about a specific node

Status Management

  • status update - Update node status and progress
  • status complete - Mark a node as completed
  • status list - List all nodes with their status

Import/Export

  • import-yaml - Import nodes from YAML files
  • export-yaml - Export nodes to YAML files
  • sync-status - Check synchronization status between YAML files and database

Database Management

  • db-status - Show storage configuration and status

Configuration

Configuration is stored in ~/.todowrite/config.yaml:

database:
  default_path: "./todowrite.db"
  storage: "sqlite"  # or "postgresql"

yaml:
  base_path: "./configs"

ui:
  colors: true
  table_format: "fancy_grid"

Development

Setup Development Environment

git clone https://github.com/dderyldowney/todowrite.git
cd todowrite/cli_package
pip install -e .[dev]

Run Tests

pytest tests/

Run Linters

black .
isort .
flake8 .
pyright .

Pre-commit Hooks

pre-commit install

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linters
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

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

todowrite_cli-0.6.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

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

todowrite_cli-0.6.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file todowrite_cli-0.6.0.tar.gz.

File metadata

  • Download URL: todowrite_cli-0.6.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for todowrite_cli-0.6.0.tar.gz
Algorithm Hash digest
SHA256 53ae25d1103a8405a61aed100b9940a4f775ea7b8125ba354c3008969afce6ec
MD5 7e5452f2987db05fec863b2a17ecbd4f
BLAKE2b-256 0ea7bca157c6b8f109a6e015e3fb8c4863b1cac4347497cf4de45f760904e127

See more details on using hashes here.

File details

Details for the file todowrite_cli-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: todowrite_cli-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for todowrite_cli-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7473c5e0bd59b1241dec33170f11eb78dfaf66985b913320e207713e1cb4c51
MD5 886730130e9bc8da07fd5c488c767722
BLAKE2b-256 9a96086c940fbf418efcea7f42c8aa4d14b2ae8f3410f1679dbb7d1e63474e12

See more details on using hashes here.

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