Data Storage

All Hourgit data is stored locally on your machine. There are no servers or cloud sync.

File Locations

Path Purpose
~/.hourgit/config.json Global config — defaults, projects (id, name, slug, repos, schedules)
REPO/.git/.hourgit Per-repo project assignment (project name + project ID)
~/.hourgit/<slug>/<hash> Per-project entries (one JSON file per entry)
~/.hourgit/watch.pid PID file for the filesystem watcher daemon (precise mode)
~/.hourgit/watch.state Watcher state file — last activity timestamps per repo (precise mode)

Entry Types

Each entry is a JSON file identified by a 7-character hex hash (similar to git commit hashes). The type field distinguishes between:

Projects

Projects are defined in ~/.hourgit/config.json and contain:

Per-Repo Assignment

When you run hourgit init or hourgit project assign in a git repository, a .hourgit file is created inside the repo's .git/ directory. This file maps the repository to a project without modifying tracked files.