Skip to main content

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

Project description

ToDoWrite CLI

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

Prerequisites

You must first install the todowrite library:

pip install todowrite

Installation

pip install todowrite-cli

For PostgreSQL support:

pip install 'todowrite-cli[postgres]'

Quick Start

Initialize a project

todowrite init --database-path myproject.db

Create a Goal

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

Create a Task

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

Create a Concept

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

Create a Command

todowrite create --command "Build Project" --description "Build the entire project" \
  --run-shell "make build" --artifacts "dist/"

Link Nodes

todowrite link --parent "GOAL-001" --child "TSK-001"

Update Progress

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

View Project Status

todowrite status list
todowrite status show --id "GOAL-001"

Import/Export YAML

todowrite import-yaml --yaml ./configs/
todowrite export-yaml --output ./backup/

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.3.1.tar.gz (10.0 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.3.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: todowrite_cli-0.3.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for todowrite_cli-0.3.1.tar.gz
Algorithm Hash digest
SHA256 c0af19ed1640b4b5cb05242e331d71e54c5ae442890dc036e54f1f448777bbe7
MD5 6780b04528b1468c0eb3e8489888b0f4
BLAKE2b-256 97b6e846f4f3a8b51254e16819ab03a0c9e9ba6b7ecc9d7cac1066afafeb3c93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: todowrite_cli-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for todowrite_cli-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 108d4b8e61a0f959b578507c252ab0378d84f5206d4e5064a5050cd9f904ae25
MD5 37414bf81bc08998f872d933de5f7b6b
BLAKE2b-256 f487554d0c7870ca9dd56c65a44dfd4de7e2e35421ed0ab6bc0409975d3148c2

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