A Pomodoro-style time tracking extension for TaskTrek task management.
tasktrek/
├── README.md # This file
├── tasktrek # Main executable script
├── lib/
│ ├── tasktrek-lib.sh # Core library functions
│ └── time-tracking.sh # Time tracking module
├── data/
│ ├── tasks.json # Task storage
│ └── time-logs.json # Time tracking data
├── tmp/
│ └── .timer_* # Active timer files
└── docs/
└── TIME_TRACKING.md # Time tracking documentation
- Pomodoro Timer: Start/stop timers for specific tasks
- Live Display: Real-time elapsed time updates
- Automatic Logging: Time entries automatically saved
- Weekly Reports: Comprehensive time analysis
- Background Processing: Non-blocking timer operation
- Data Persistence: JSON-based storage system
# Make scripts executable
chmod +x tasktrek
chmod +x lib/*.sh
# Create a task
./tasktrek add "Complete project documentation"
# Start timer for task ID 1
./tasktrek start 1
# Check timer status
./tasktrek status
# Stop timer
./tasktrek stop
# View weekly report
./tasktrek report weekly
tasktrek add "<description>"
- Add new tasktasktrek list
- Show all taskstasktrek complete <id>
- Mark task complete
tasktrek start <task_id>
- Start Pomodoro timertasktrek stop [task_id]
- Stop active timertasktrek status
- Show timer statustasktrek pause <task_id>
- Pause timertasktrek resume <task_id>
- Resume paused timer
tasktrek report daily
- Today's time summarytasktrek report weekly
- Weekly time reporttasktrek report task <task_id>
- Time spent on specific tasktasktrek logs [date]
- View time logs
- Clone or download the TaskTrek files
- Make the main script executable:
chmod +x tasktrek chmod +x lib/*.sh
- Optionally, add to your PATH:
sudo ln -s $(pwd)/tasktrek /usr/local/bin/tasktrek
- tasks.json: Stores task information
- time-logs.json: Stores all time tracking entries
- tmp/.timer_*: Temporary files for active timers
# Start a work session
./tasktrek start 1
# Timer started for task: "Complete documentation"
# Press Ctrl+C to stop timer
# Check what's running
./tasktrek status
# Task #1: Complete documentation
# Time: 00:15:32 (running)
# View weekly summary
./tasktrek report weekly
# Weekly Time Report (Jun 14-20, 2025)
# Total time: 8h 45m
# Tasks worked on: 3
# Delete a task by ID
./tasktrek delete 1
# ✅ Task with ID '1' deleted successfully
# If no ID is provided
./tasktrek delete
# ❌ Please provide a task ID.
# If the task ID doesn't exist
./tasktrek delete abc123
# ❌ Task ID 'abc123' does not exist.
- Live Updates: Terminal display updates every second
- Background Operation: Timers run independently
- Interrupt Handling: Graceful shutdown on Ctrl+C
- Auto-save: Time logged automatically on stop
- Multiple Timers: Support for concurrent task timers
The system provides detailed reporting:
- Daily summaries
- Weekly overviews
- Per-task breakdowns
- Time trend analysis
- Bash 4.0+
- Standard Unix utilities (date, sleep, kill, ps)
- JSON processing capabilities (jq recommended)
Feel free to extend the system with additional features:
- Pomodoro break reminders
- Time goal tracking
- Export to other formats
- Integration with calendar systems
MIT License - Feel free to modify and distribute.
Happy time tracking! 🍅⏰# ⏱️ TaskTrek
TaskTrek is a sleek, terminal-based Windows CLI tool designed for developers and minimalist productivity enthusiasts. It allows you to add, prioritize, track, and organize tasks effortlessly — right from your terminal.
Think of it as your personal command-line productivity assistant.
- ✅ Simple task creation with
--priority
flags - 📋 View task lists by priority or due date
- 📆 Daily summaries with highlights
- ⏰ Notification hooks for upcoming or overdue tasks
- 📁 JSON-based local storage (easy to migrate or backup)
tasktrek add "Fix login bug" --priority high
tasktrek list
tasktrek complete 2
tasktrek summary --today
.
├── tasktrek/
│ ├── __init__.py
│ ├── core.py
│ ├── cli.py
│ └── utils.py
├── snippets/
├── tests/
├── README.md
└── requirements.txt
We’re building this project together, and we want you! If you're looking for a beginner-friendly CLI tool to contribute to:
- ⭐ Star this repo
- 🍴 Fork it
- 🔧 Pick or open an issue
- 🔁 Open your first pull request
- Use clean Python3+ code
- Write clear commit messages
- Include docstrings for your functions
- Run tests before pushing
This project is licensed under the MIT License.