punch-card
Version, currently 0.11.018 versions
- 0.11.0latestJan 10, 2025
- 0.10.1not indexedJan 12, 2025
- 0.10.0not indexedJan 12, 2025
- 0.9.1not indexedJan 12, 2025
- 0.9.0not indexedJan 12, 2025
- 0.8.2not indexedJan 12, 2025
- 0.8.1not indexedJan 12, 2025
- 0.8.0not indexedJan 12, 2025
- 0.7.0not indexedJan 12, 2025
- 0.6.1not indexedJan 12, 2025
- 0.6.0not indexedJan 12, 2025
- 0.5.0not indexedJan 12, 2025
- 0.4.1not indexedJan 12, 2025
- 0.4.0not indexedJan 12, 2025
- 0.3.1not indexedJan 12, 2025
- 0.3.0not indexedJan 12, 2025
- 0.2.0not indexedJan 12, 2025
- 0.1.0not indexedJan 12, 2025
github.com/koffeinfrei/punch-card
A CLI for tracking your work time
1 stars
0 dependents
License: GPL-3.0
Installation
# Add this to your shard.yml
dependencies:
punch-card:
github: koffeinfrei/punch-card
version: ~> 0.11.0Then run:
shards installshard.yml
- Crystal
1.14.0- License
- GPL-3.0
- Author
- Alexis Reigel
- Target
punch-cardfrom src/punch-card.cr
Dependencies
Runtime Dependencies
Development Dependencies
README
I needed a simple tool to track my work time. This is exactly what I was looking for. -- myself
This is a simple CLI to track your work time.
Usage
Basic usage
# Punching in (adds the current time as a start time entry)
$ punch-card punch
# Punching out (adds the current time as a stop time entry)
$ punch-card punch
Adding entries
# Adding entries for today
$ punch-card start now
$ punch-card stop 12:00
$ punch-card 13:00-17:00
$ punch-card punch
# Adding entries for an arbitrary day
$ punch-card start 09:00 12.12.2021
$ punch-card stop 12:00 12.12.2021
$ punch-card 13:00-17:00 12.12.2021
Showing entries
$ punch-card today
╭──────────────────╮
│ 📅 05.11.2021 │
╰──────────────────╯
╭──────────────────┬──────────────────┬──────────────────┬──────────────────╮
│ Entries │ Total hours │ Diff │ Project │
├──────────────────┼──────────────────┼──────────────────┼──────────────────┤
│ 08:30 - 11:45 │ │ │ │
│ 12:45 - 18:15 │ 8:45 │ +0:45 │ │
╰──────────────────┴──────────────────┴──────────────────┴──────────────────╯
$ punch-card 05.11.2021
╭──────────────────╮
│ 📅 05.11.2021 │
╰──────────────────╯
╭──────────────────┬──────────────────┬──────────────────┬──────────────────╮
│ Entries │ Total hours │ Diff │ Project │
├──────────────────┼──────────────────┼──────────────────┼──────────────────┤
│ 08:30 - 11:45 │ │ │ Project A │
│ 12:45 - 18:15 │ 8:45 │ +0:45 │ Project B │
╰──────────────────┴──────────────────┴──────────────────┴──────────────────╯
$ punch-card month
╭──────────────────╮
│ 📅 Nov 2021 │
╰──────────────────╯
╭──────────────────┬──────────────────┬──────────────────┬──────────────────╮
│ Day │ Total hours │ Diff │ Projects │
├──────────────────┼──────────────────┼──────────────────┼──────────────────┤
│ Mon 01.11.2021 │ 8:00 │ 0:00 │ │
│ Tue 02.11.2021 │ 8:00 │ 0:00 │ │
│ Wed 03.11.2021 │ 7:30 │ -0:30 │ │
│ Thu 04.11.2021 │ 7:00 │ -1:00 │ │
│ Fri 05.11.2021 │ 8:45 │ +0:45 │ │
╰──────────────────┴──────────────────┴──────────────────┴──────────────────╯
╭──────────────────┬──────────────────┬──────────────────╮
│ Total │ 39:15 │ -0:45 │
╰──────────────────┴──────────────────┴──────────────────╯
Installation
Install from snap
sudo snap install punch-card
Install from source
First you'll need to install Crystal.
$ git clone git@github.com:koffeinfrei/punch-card.git
$ cd punch-card
$ shards build --release
$ cp bin/punch-card <some directory in your $PATH>
Contributing
- Fork it (https://github.com/koffeinfrei/punch-card/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Versioning
Semantic Versioning is used, obviously.
There's a script that bumps the version in all necessary files and creates a git tag.
# bump the major version, e.g. from 1.2.0 to 2.0.0
$ scripts/version bump:major
# bump the minor version, e.g. from 1.2.0 to 1.3.0
$ scripts/version bump:minor
# bump the patch version, e.g. from 1.2.0 to 1.2.1
$ scripts/version bump:patch
Build snap
$ snapcraft
...
Snapped punch-card_<version>_amd64.snap
$ snapcraft upload punch-card_<version>_amd64.snap
...
Revision <revision> created for 'punch-card'
$ snapcraft release punch-card <revision> candidate
$ snapcraft release punch-card <revision> stable
Made with ☕️ by Koffeinfrei
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.11.0- Tagged
- Jan 10, 2025
- Commit
341db88cc9e0- Crystal
1.14.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/koffeinfrei/punch-card
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 16, 2026
- Synced
- Aug 15, 2026
- Versions
- 18