Skip to main content

A professional command-line interface for TodoPro task management system

Project description

TodoPro CLI

A professional command-line interface for TodoPro task management system, inspired by kubectl.

Features

  • Kubectl-inspired: Resource-oriented commands with consistent patterns
  • Context-aware: Maintains authentication state and user preferences
  • Multi-environment: Switch between dev, staging, and prod contexts seamlessly
  • Output flexibility: JSON, YAML, table, and custom formats
  • Interactive & scriptable: Menu-driven UI for exploration, flags for automation
  • Professional UX: Rich terminal UI with colors, progress indicators, and helpful messages

Installation

# Install from source
uv tool install --from . todopro-cli

Quick Start

# Login to TodoPro
todopro login

# Quick add a task (natural language, just like Todoist)
todopro add "Buy milk tomorrow at 2pm #groceries @shopping"

# List tasks
todopro tasks list

# Create a task (traditional way)
todopro tasks create "Buy groceries"

# Reschedule all overdue tasks to today
todopro tasks reschedule overdue

# Skip confirmation prompt
todopro tasks reschedule overdue --yes

# Get current timezone
todopro auth timezone

# Set timezone (IANA format)
todopro auth timezone Asia/Ho_Chi_Minh
todopro auth timezone America/New_York
todopro auth timezone Europe/London

# 1. Set your timezone
todopro auth timezone Asia/Ho_Chi_Minh

# 2. Check today's tasks (includes overdue)
todopro today

# 3. Reschedule all overdue tasks to today
todopro tasks reschedule overdue

# See what's due today
todopro today

# Get the next task to work on
todopro next

# Complete a task
todopro complete <task_id>

# Reschedule a task to today (quick rescheduling)
todopro reschedule <task_id>

# Reschedule to a specific date
todopro reschedule <task_id> --date tomorrow
todopro reschedule <task_id> --date 2026-02-15

# Task ID Shortcuts
# You can use task ID suffixes instead of full IDs for convenience
# If the full ID is "task-abc123def", you can use:
todopro complete abc123def    # Uses suffix
todopro complete 123def       # Even shorter suffix
todopro reschedule e562bb     # Reschedule to today by suffix
todopro get e562bb            # Get task details by suffix
todopro update 123def --content "Updated task"
todopro delete abc123         # Delete by suffix

# View project details
todopro describe project <project_id>

# Get help
todopro --help

Development

# Install with development dependencies
uv pip install -e ".[dev]"

# Run all tests with coverage
uv run pytest --cov=src/todopro_cli --cov-report=term-missing

# Run tests for specific module
uv run pytest tests/test_api_client.py -v

# Generate HTML coverage report
uv run pytest --cov=src/todopro_cli --cov-report=html
# Open htmlcov/index.html in browser

# Format code
black src/ tests/

# Lint code
ruff check src/ tests/

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

todopro_cli-0.1.0.tar.gz (54.6 kB view details)

Uploaded Source

Built Distribution

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

todopro_cli-0.1.0-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file todopro_cli-0.1.0.tar.gz.

File metadata

  • Download URL: todopro_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for todopro_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 39b4b8d81209825434258cd6d4f6a00d965f260dd8f7fd552d85d57ab9605b09
MD5 45346d4e9b632b8578c99179b4ba941f
BLAKE2b-256 fc56406cf25d4ac2296c41ec233b1046068e6b8a76b4e2c505c2fd483610be2e

See more details on using hashes here.

File details

Details for the file todopro_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for todopro_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccd4fc1d3d63d92c8993fda76fc57d21e89d618f3e44343d4d0cf9c18fd5a517
MD5 f9818ba8567d75e3ffeb045caf259ce6
BLAKE2b-256 ab16917c295dd04be6c5a9e21835519d8b5438c86c881cd70d5c2c4eb8af2050

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