Skip to main content

Homer 🏠

Homer is a personal productivity CLI for developers — Jira and Clockify integrations from your terminal.

Documentation


Features

⏱️ Clockify Time Tracking

  • Start/stop timers with description, project, and tags
  • Interactive selectors for projects (from Clockify + Jira) and tags
  • View the currently running timer with elapsed time
  • Summary and detailed reports by date range, project, or tag

🎯 Jira Issue Management

  • List your open issues
  • View issue details (status, priority, assignee, description)
  • Create issues with type, priority, and description
  • Comment on issues and mention teammates

Installation

pipx install homer-cli   # recommended
homer init               # interactive credential setup

See INSTALL.md for detailed instructions.


Quick Start

homer init                                  # configure credentials

homer jira list                             # see your open issues
homer jira view NDI-123                     # view issue details

homer ck start "Fixing login bug"           # start a timer
homer ck start "Code review" -p "web-api"   # with project
homer ck start "Standup" -T                 # open tag selector
homer ck current                            # check elapsed time
homer ck stop                               # stop all timers

homer ck summary 2026-01-01 2026-01-31      # monthly report

Commands Reference

Both homer clockify and homer ck are equivalent.

Global

Command Description
homer init Interactive credential setup (saves to ~/.env)
homer --version Show installed version
homer --help Show all available commands

Clockify — Timers

Command Description
homer ck start DESCRIPTION Start a timer
homer ck start DESCRIPTION -p PROJECT Start with project name or Jira key
homer ck start DESCRIPTION -p "" or -P Start and open interactive project selector
homer ck start DESCRIPTION -t "tag1,tag2" Start with tags
homer ck start DESCRIPTION -t "" or -T Start and open interactive tag selector
homer ck current Show currently running timer
homer ck stop Stop all running timers

start options:

Option Short Description
--project PROJECT -p Project name or Jira key. Empty string or -P opens selector
--tags TAGS -t Comma-separated tags. Empty string or -T opens selector
--select -P Open interactive project selector
--select-tags -T Open interactive tag selector

Clockify — Reports

Command Description
homer ck summary DATE_FROM DATE_TO Summary report grouped by project
homer ck summary DATE_FROM DATE_TO -g DATE Group by date
homer ck summary DATE_FROM DATE_TO -g TAG Group by tag
homer ck summary DATE_FROM DATE_TO -p PROJECT Filter by project
homer ck summary DATE_FROM DATE_TO -t TAG Filter by tag
homer ck detailed DATE_FROM DATE_TO Detailed time entries
homer ck detailed DATE_FROM DATE_TO -p PROJECT Detailed filtered by project

Dates use YYYY-MM-DD format.

Jira

Command Description
homer jira list List your open issues
homer jira view KEY View issue details
homer jira create SUMMARY Create issue (default type: Story, project: from config)
homer jira create SUMMARY -p KEY -t TYPE --priority P -d TEXT Create with all options
homer jira comment KEY MESSAGE Add a comment
homer jira mention KEY USERNAME MESSAGE Mention a user in a comment

create options:

Option Short Default
--project KEY -p DEFAULT_PROJECT from config
--type TYPE -t Story
--priority LEVEL Medium
--description TEXT -d (none)

Configuration

Homer reads credentials from ~/.env:

JIRA_BASE_URL=https://company.atlassian.net
JIRA_USER=you@company.com
JIRA_API_TOKEN=your_token

CLOCKIFY_API_KEY=your_api_key
CLOCKIFY_WORKSPACE=workspace_id
CLOCKIFY_USER=alphanumeric_user_id

⚠️ CLOCKIFY_USER must be the alphanumeric ID (e.g. 646b733087e7196c5c918748), not your email.
Get it with: curl -H "X-Api-Key: YOUR_KEY" https://api.clockify.me/api/v1/user | grep '"id"'

Run homer init to set or update credentials interactively.


Project Structure

src/homer/
├── cli.py            # Root CLI (registers clockify, ck, jira)
├── config.py         # Settings from ~/.env
├── exceptions.py     # Error types
├── clockify/
│   ├── client.py     # HTTP client (httpx)
│   ├── service.py    # Business logic
│   ├── commands.py   # CLI commands (Typer + Rich)
│   └── models.py     # Pydantic models
└── jira/
    ├── client.py
    ├── service.py
    ├── commands.py
    └── models.py
tests/                # pytest test suite

Development

git clone https://github.com/marcelohfonseca/homer-cli.git
cd homer && pdm install

pdm run pytest tests/          # run tests
pdm run ruff check src/        # lint
pdm run mypy src/               # type check
pdm run homer --help            # run from source

License

MIT — see LICENSE file.

Download files

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

Source Distribution

homer_cli-0.2.3.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

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

homer_cli-0.2.3-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file homer_cli-0.2.3.tar.gz.

File metadata

  • Download URL: homer_cli-0.2.3.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for homer_cli-0.2.3.tar.gz
Algorithm Hash digest
SHA256 228d50e90cf76efd6da1778f0ea9e72864d5126b25dfbe3aebd6950d3b414ba0
MD5 76cdec3796b67436988cf9ac37e49d70
BLAKE2b-256 6820e7ba6ed782c4ffc4a889dc6c5e3e8bfa30ea2aa79c273b863ab2584399e5

See more details on using hashes here.

File details

Details for the file homer_cli-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: homer_cli-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for homer_cli-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5c5b3254b95c5f7efd18c7c51f32960d27434c897521dd48237a18c2c1dac3ee
MD5 e422e67b1c86cccb227afc1a286d5231
BLAKE2b-256 4af0e54c5b0334d91d1a3e44c07800e60578ed39d4e5a8093994d24f79475365

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