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 projectcreate- Create new nodes (goals, tasks, concepts, commands)get- Get a specific node by IDlist- List all nodes with their statusstatus show- Show detailed information about a specific node
Status Management
status update- Update node status and progressstatus complete- Mark a node as completedstatus list- List all nodes with their status
Import/Export
import-yaml- Import nodes from YAML filesexport-yaml- Export nodes to YAML filessync-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 .
mypy .
Pre-commit Hooks
pre-commit install
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linters
- Submit a pull request
License
MIT License - see LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file todowrite_cli-0.2.0.tar.gz.
File metadata
- Download URL: todowrite_cli-0.2.0.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9440e51a505ae3f611635b32f6dc446bf9178d451d47c623f9afbcce40e29957
|
|
| MD5 |
b83fe286199f14b03f8ff73166a5c082
|
|
| BLAKE2b-256 |
2b1415af80829ff0d3b62ebbb46a07121277af09abed6947a128e49389dabe3a
|
File details
Details for the file todowrite_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: todowrite_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a33b13579c5a00ac778173e2994c3a605d350358f309b27bd5aa37eec7a19d6
|
|
| MD5 |
de6480d55956045a1cb74f0779bfca5a
|
|
| BLAKE2b-256 |
06bc0621c9925936469c52f85500bcdd335835c991bc956370f8c22763fb5384
|