Skip to content

Repository files navigation

ponto

A minimal CLI for tracking contracted hours.

Stamp in and out like a time clock. See what's left in your contract. No accounts, no cloud — just a local JSON file.


Installation

source <(curl -fsSL https://raw.githubusercontent.com/jonathansedrez/ponto-cli/main/install.sh)

The script detects your OS and architecture, downloads the correct binary from the latest release, and installs it to /usr/local/bin (or ~/.local/bin if you don't have write access).

Install from source

Requires Bun.

git clone https://github.com/jonathansedrez/ponto-cli
cd ponto-cli
bun install
bun link

This adds ponto to your PATH via ~/.bun/bin.


Usage

ponto                        # stamp current time (clock in or out)
ponto 10h30                  # stamp a specific time
ponto 14h                    # stamp at 14:00
ponto 13                     # stamp at 13:00
ponto 10:30                  # stamp using HH:MM format
ponto --date 2026-07-10      # stamp on a specific date
ponto --date yesterday       # stamp on yesterday
ponto --left                 # show contract hours remaining today
ponto --watch                # open the interactive TUI dashboard
ponto --remove               # remove the last stamp
ponto --remove 2             # remove stamp at index 2
ponto --remove --date yesterday  # remove last stamp from yesterday

Stamps alternate between IN and OUT automatically. Each day's stamps are stored sorted — backfilling a past date just works.


How it works

  • Stamps are saved in ~/.ponto/timesheet.json
  • Contract hours are configured in ~/.ponto/config.json
  • --left computes remaining hours based on today's stamps and your contract
  • --watch opens a live TUI that refreshes every second

Development

bun run dev        # run in watch mode
bun test           # run the test suite

Contributing

Pull requests are welcome. For larger changes, open an issue first to discuss what you'd like to change.

About

⏱️ CLI for tracking contracted hours by clocking in/out throughout the day — sessions and totals calculated automatically. Includes an interactive TUI dashboard."

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages