🎯 FocusCLI
A minimal productivity tool for developers who want to manage tasks and stay focused without leaving the terminal.
✨ Features
- 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
🚀 Installation
Quick Install (Recommended)
Install directly from PyPI:
pip install focuscli
From Source
Clone the repository and install:
git clone https://github.com/eneswritescode/focuscli.git
cd focuscli
pip install -e .
Requirements
- Python 3.7 or higher
- Dependencies will be installed automatically
🎬 Quick Start
# 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 timer
📖 Usage
Add a task
focuscli add "Write documentation"
focuscli add "Fix bug in login page"
List all tasks
focuscli list
Output example:
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ ID ┃ Task ┃ Status ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ 1 │ Write documentation │ ○ Pending │
│ 2 │ Fix bug in login page│ ○ Pending │
└────────┴──────────────────────┴───────────┘
Complete a task
focuscli complete 1
Delete a task
focuscli delete 2
Start a focus timer
# Default 25-minute session
focuscli timer
# Custom duration (in minutes)
focuscli timer 45
Windows 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>
🛠️ Development
Setup development environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Run locally
python -m focuscli.main add "Test task"
python -m focuscli.main list
📂 Project Structure
focuscli/
├── 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
🤝 Contributing
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
💡 Ideas for Future Features
- Task priorities and tags
- Weekly/monthly reports
- Export tasks to different formats
- Break reminders after focus sessions
- Integration with calendar apps
📝 License
MIT License - feel free to use this project however you want.
� Links
- PyPI: https://pypi.org/project/focuscli/
- GitHub: https://github.com/eneswritescode/focuscli
- Issues: https://github.com/eneswritescode/focuscli/issues
🙏 Acknowledgments
Built with:
Made with ☕ by developers, for developers
Star this repo if you find it helpful! ⭐
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file focuscli-0.1.0.tar.gz.
File metadata
- Download URL: focuscli-0.1.0.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc4005fc78204b2c76f092ba3f5739c6fc6b0bd0980071af062f36b3e3724658
|
|
| MD5 |
4f078344446043d7b3a2cbc0c9d019cb
|
|
| BLAKE2b-256 |
16ac42bf8e9be7aa536b4657e9ce129becf32af469f31bf49390987b718d320d
|
File details
Details for the file focuscli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: focuscli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
172d17ed8d2a310ac4400a53bd482d74e42cac6171790626cdb341b91177e0da
|
|
| MD5 |
bb6dcec89c319fd6a9074f62b25bc0ff
|
|
| BLAKE2b-256 |
857d5ad03d4e81b99d9213576715e7d16a071ee591dddf6acd7f12fef2fdbcfe
|