Skip to main content

A productivity CLI tool for developers

Project description

๐ŸŽฏ FocusCLI

PyPI version License: MIT Python 3.7+

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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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

๐Ÿ™ Acknowledgments

Built with:

  • Typer - Modern CLI framework
  • Rich - Beautiful terminal formatting

Made with โ˜• by developers, for developers

Star this repo if you find it helpful! โญ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

focuscli-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

focuscli-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

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

Hashes for focuscli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cc4005fc78204b2c76f092ba3f5739c6fc6b0bd0980071af062f36b3e3724658
MD5 4f078344446043d7b3a2cbc0c9d019cb
BLAKE2b-256 16ac42bf8e9be7aa536b4657e9ce129becf32af469f31bf49390987b718d320d

See more details on using hashes here.

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

Hashes for focuscli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 172d17ed8d2a310ac4400a53bd482d74e42cac6171790626cdb341b91177e0da
MD5 bb6dcec89c319fd6a9074f62b25bc0ff
BLAKE2b-256 857d5ad03d4e81b99d9213576715e7d16a071ee591dddf6acd7f12fef2fdbcfe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page