A command-line pomodoro timer for Linux servers with Telegram notifications.
- Pomodoro Timer: 25-minute focus sessions with 5-minute breaks
- Daemon Mode: Timer runs in background, survives terminal disconnection
- Telegram Notifications: Get notified when focus/break periods start and end
- Day Planning: Plan tasks and estimate pomodoros each morning
- Progress Tracking: Track pomodoros, tasks, and streaks
- Alternating Breaks: Email breaks and rest breaks for balanced recovery
# Clone the repository
git clone <repo-url>
cd cli-tracker
# Install with pip (editable mode for development)
pip install -e .
# Or install directly
pip install .After installation, both workday and wd commands are available.
# Initial setup (configure Telegram, optional)
workday setup
# Plan your day
workday start
# Start the timer
workday timer
# Check status
workday status
# End your day
workday doneworkday setup # Interactive setup wizardworkday start # Plan your day with tasks and pomodoro estimateworkday timer # Start the pomodoro timer
workday timer -t 1 # Start timer on task #1
workday pause # Pause the timer
workday resume # Resume paused timer
workday skip # Skip current focus/break period
workday stop # Stop the timer completelyworkday status # Show timer status and day progress
workday stats # Show overall statistics
workday history # Show recent workday history
workday history -d 14 # Show last 14 daysworkday task list # List today's tasks
workday task add "Task" # Add a new task
workday task done 1 # Mark task #1 as completedworkday done # Complete workday, rate satisfaction, add notes- Message @BotFather on Telegram
- Send
/newbotand follow the prompts - Copy the bot token
- Message @userinfobot to get your chat ID
- Run
workday setupand enter both values
- Focus (25 min) - Deep work on your task
- Break (5 min) - Alternates between:
- Email Break - Check inbox, respond to messages
- Rest Break - Step away, stretch, breathe
- Long Break (15 min) - Every 4 pomodoros
All data is stored in ~/.workday/:
config.toml- Configuration fileworkday.db- SQLite databasetimer.state- Current timer state (JSON)timer.pid- Daemon process ID
Default timer settings can be customized during setup:
| Setting | Default | Description |
|---|---|---|
| Focus duration | 25 min | Length of focus sessions |
| Short break | 5 min | Length of regular breaks |
| Long break | 15 min | Length of break after 4 pomodoros |
- Start your day with
workday startto set intentions - Use task numbers with
workday timer -t 1to track which task you're on - Check status regularly with
workday status(or justworkday) - End your day with
workday doneto review and rate your satisfaction
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytestMIT