Terminal Task Tracker
STDIOTerminal-based task tracking application with three-pane layout for managing tasks and projects.
Terminal-based task tracking application with three-pane layout for managing tasks and projects.
A terminal-based task tracking application with a three-pane layout for managing tasks and project plans.
# Clone the repository git clone https://github.com/yourusername/terminal-task-tracker.git cd terminal-task-tracker # Install dependencies pip install -e .
To start the terminal UI:
python -m main.py
Key bindings:
Tab
: Cycle between windowsUp/Down
: Navigate listsEnter
: Select task (in task list)n
: New item (in task list or plan)e
: Edit itemd
: Delete itemSpace
: Toggle completion (in plan)Esc
: ExitThe CLI provides access to all functionality:
# List all tasks python -m app.api.cli task list # Add a new task python -m app.api.cli task add "Implement feature X" --description "Details about feature X" --priority 2 # Mark a plan step as completed python -m app.api.cli plan toggle STEP_ID # Export data to JSON python -m app.api.cli export data.json
from app.core.task_manager import TaskManager from app.core.plan_manager import PlanManager from app.api.api import TaskTrackerAPI # Initialize managers task_manager = TaskManager("tasks.json") plan_manager = PlanManager("plan.json") # Create API api = TaskTrackerAPI(task_manager, plan_manager) # Add a task task = api.add_task("Implement feature X", "Details about feature X", priority=2) # Add a plan step step = api.add_plan_step("Design architecture for shared operations module") # Mark step as completed api.toggle_plan_step(step["id"]) # Save data api.save_all()
terminal-task-tracker/
├── app/
│ ├── __init__.py
│ ├── core/ # Business logic
│ │ ├── __init__.py
│ │ ├── task_manager.py
│ │ └── plan_manager.py
│ ├── ui/ # Terminal UI
│ │ ├── __init__.py
│ │ ├── terminal_ui.py
│ │ ├── ui_components.py
│ │ └── input_handler.py
│ └── api/ # API and CLI
│ ├── __init__.py
│ ├── api.py
│ └── cli.py
├── main.py # Main application entry point
└── README.md
By default, data is stored in the ~/.tasktracker
directory:
tasks.json
: Tasks dataplan.json
: Project plan datanotes.json
: Notes dataMIT