Skip to main content

Respect your time boundaries in git workflows

Project description

gitlater

Respect your time boundaries in git workflows.

What is this?

gitlater is a small CLI tool that helps you commit at the right time.

It doesn’t optimize productivity. It protects your boundaries.

Why?

Sometimes the problem is not:

  • writing code
  • committing code

But when you do it.

gitlater helps you say:

“This is the time I work on this project. Not now.”

Features (v0.1.2)

  • simple time-based commit guard
  • two modes:
    • personal → allow outside working hours
    • work → allow during working hours
  • weekend & holiday awareness
  • project-level configuration
  • zero external dependencies

Installation

Using pipx (recommended)

pipx install gitlater

Using uv

uv tool install gitlater

Local development

uv sync
uv run gitlater status

Setup

Initialize in your project:

gitlater init

This creates:

.gitlater/
  config.toml
  holidays.txt

Configuration

.gitlater/config.toml

mode = "personal"

[work_hours]
start = 9
end = 18

.gitlater/holidays.txt

2026-01-01 # New Year
2026-08-17 # Independence Day

Pre-commit integration

Add to your local pre-commit config:

- repo: local
  hooks:
    - id: gitlater
      name: git later
      entry: gitlater check
      language: system
      stages: [pre-commit]

Usage

gitlater status

Example:

🌙 Not now — this time is yours.

🗓 Friday • 10:08
⏳ Next window: 18:00

Philosophy

gitlater is intentionally simple.

  • no remote API
  • no auto-detection
  • no global config

It doesn’t decide your schedule.

Roadmap

Keep it boring.

Future improvements (if needed):

  • better status output
  • small UX refinements
  • optional helpers (init, holidays)

License

MIT

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

gitlater-0.1.2.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

gitlater-0.1.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file gitlater-0.1.2.tar.gz.

File metadata

  • Download URL: gitlater-0.1.2.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for gitlater-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3a07f9d8d35e9444705a0c86f04eee1fac7acd58890748923139b99b6e6bb373
MD5 a382680c136dacc9ca29aa30ac8cb8a0
BLAKE2b-256 d4ea1c918246b84577e0740b08b15b21b1117e92ff2d0093945e3ddb6489c017

See more details on using hashes here.

File details

Details for the file gitlater-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: gitlater-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for gitlater-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0aa888179cc993f16d76b0124f29550e6b5c946ba23079a12e1200b66f912b70
MD5 9dc5365d794d221674504a0e3280659f
BLAKE2b-256 7141d8f04fdf630f17c3af06acab39d5d9729870f048416115eed46b0ffa32e8

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