🎯 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! ⭐
Metadata
Release files for focuscli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| focuscli-0.1.0.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| focuscli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.7 kB
Release files / focuscli-0.1.0.tar.gz
| Download URL | focuscli-0.1.0.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc4005fc78204b2c76f092ba3f5739c6fc6b0bd0980071af062f36b3e3724658
|
|
BLAKE2b-256 checksum How to use checksums |
16ac42bf8e9be7aa536b4657e9ce129becf32af469f31bf49390987b718d320d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / focuscli-0.1.0-py3-none-any.whl
| Download URL | focuscli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
172d17ed8d2a310ac4400a53bd482d74e42cac6171790626cdb341b91177e0da
|
|
BLAKE2b-256 checksum How to use checksums |
857d5ad03d4e81b99d9213576715e7d16a071ee591dddf6acd7f12fef2fdbcfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|