A minimal productivity tool for developers who want to manage tasks and stay focused without leaving the terminal.
- Task Management: Add, list, complete, and delete tasks with a clean interface
- Pomodoro Timer: Built-in focus timer with live progress tracking
- Beautiful UI: Powered by Rich library for colorful tables and progress bars
- Simple Storage: Tasks saved locally in JSON format
- Zero Config: Works right out of the box
Install directly from PyPI:
pip install focuscliClone the repository and install:
git clone https://github.com/eneswritescode/focuscli.git
cd focuscli
pip install -e .- Python 3.7 or higher
- Dependencies will be installed automatically
# Install
pip install focuscli
# Add some tasks
focuscli add "Review pull requests"
focuscli add "Write documentation"
focuscli add "Fix bug in login"
# See your tasks
focuscli list
# Complete a task
focuscli complete 1
# Start a 25-minute focus session
focuscli timerfocuscli add "Write documentation"
focuscli add "Fix bug in login page"focuscli listOutput example:
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ ID ┃ Task ┃ Status ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ 1 │ Write documentation │ ○ Pending │
│ 2 │ Fix bug in login page│ ○ Pending │
└────────┴──────────────────────┴───────────┘
focuscli complete 1focuscli delete 2# Default 25-minute session
focuscli timer
# Custom duration (in minutes)
focuscli timer 45Windows Note: If focuscli command is not found after installation, you may need to add Python Scripts to your PATH or use:
python -m focuscli.main <command>python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtpython -m focuscli.main add "Test task"
python -m focuscli.main listfocuscli/
├── focuscli/
│ ├── __init__.py
│ ├── main.py # CLI entry point
│ ├── tasks.py # Task management logic
│ ├── timer.py # Pomodoro timer
│ └── storage.py # JSON file handling
├── requirements.txt
├── setup.py
└── README.md
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Task priorities and tags
- Weekly/monthly reports
- Export tasks to different formats
- Break reminders after focus sessions
- Integration with calendar apps
MIT License - feel free to use this project however you want.
- PyPI: https://pypi.org/project/focuscli/
- GitHub: https://github.com/eneswritescode/focuscli
- Issues: https://github.com/eneswritescode/focuscli/issues
Built with:
Made with ☕ by developers, for developers
Star this repo if you find it helpful! ⭐