{"id":21089308,"url":"https://github.com/f3rno64/track-time-cli","last_synced_at":"2025-05-12T17:24:13.958Z","repository":{"id":209404831,"uuid":"723894459","full_name":"f3rno64/track-time-cli","owner":"f3rno64","description":"A CLI utility for tracking tasks in time sheets, inspired by timetrap.","archived":false,"fork":false,"pushed_at":"2024-12-10T05:34:02.000Z","size":6977,"stargazers_count":33,"open_issues_count":8,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-12T17:24:07.781Z","etag":null,"topics":["cli","cli-utility","node-module","time-logger","time-tracker"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/track-time-cli","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/f3rno64.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-27T01:30:42.000Z","updated_at":"2025-01-25T20:06:14.000Z","dependencies_parsed_at":"2024-01-15T18:54:12.892Z","dependency_job_id":"6c8d6c80-ecb9-48bf-90b1-41d78a5e5df4","html_url":"https://github.com/f3rno64/track-time-cli","commit_stats":null,"previous_names":["f3rno64/track-time-cli"],"tags_count":84,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3rno64%2Ftrack-time-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3rno64%2Ftrack-time-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3rno64%2Ftrack-time-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3rno64%2Ftrack-time-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f3rno64","download_url":"https://codeload.github.com/f3rno64/track-time-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253785423,"owners_count":21963960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cli-utility","node-module","time-logger","time-tracker"],"created_at":"2024-11-19T21:28:18.698Z","updated_at":"2025-05-12T17:24:13.933Z","avatar_url":"https://github.com/f3rno64.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# track-time-cli -- A CLI Time Tracker\n\n[![NPM Version][npm-image]][npm-url]\n[![Downloads Stats][npm-downloads]][npm-url]\n![CI GitHub Workflow Status](https://github.com/f3rno64/track-time-cli/actions/workflows/ci.yml/badge.svg)\n\n[**track-time-cli**](https://npmjs.com/package/track-time-cli) is a Node.JS CLI\nutility for tracking tasks in time sheets, inspired by ruby's\n[**timetrap**](https://github.com/samg/timetrap) (sadly not maintained).\n\nIt supports natural language specification of entry start and end times,\nallowing you to check out of entries retroactively, or check in after already\nstarting a task without leaving any time untracked. The database is a JSON file\nstored in your home folder, at `~/.track-time-cli/db.json`.\n\n## Example Usage\n\nBelow are a few example commands to illustrate the usual workflow for managing\nand viewing time sheet entries.\n\n```bash\ntt sheet work\ntt in --at '2 hours and 24 minutes ago' crafting something\ntt out\ntt list --since '4 hours ago'\ntt today\ntt week\n```\n\n## Installation\n\n**track-time-cli** is available as an [**NPM**](https://npmjs.com/package/track-time-cli)\npackage; install it with your package manager of choice. For example, if you\nuse npm, run `npm i -g track-time-cli`.\n\nOnce installed, it will be available as the **tt** command.\n\n## Commands\n\n**track-time-cli** provides commands for both managing time sheet entries, and\nviewing historical activity in a variety of ways. To see a full list, run\n**`tt --help`**.\n\n### Managing Time Sheets and Entries\n\nThe examples listed below use the shorthand command aliases (i.e. **`e`** is\nthe alias for the **`edit`** command). To view all command aliases, consult\n**`tt --help`**.\n\n- **`tt ss`** -- view a list of all time sheets.\n- **`tt s \u003csheet name\u003e`** -- switch to a sheet by name. It will be automatically\ncreated if it does not already exist.\n\n- **`tt i \u003cdescription\u003e`** -- start a new entry with the given description.\n- **`tt i --at '\u003cnatural language time\u003e'`** -- start a new entry at a custom\ntime.\n\n- **`tt o --at '\u003cnatural language time\u003e'`** -- check out of the current entry at\na specified time.\n\n- **`tt e \u003cdescription\u003e`** -- edit the active entry's description.\n- **`tt e --entry 32 --delete`** -- delete an entry by ID (retrieve the ID\nwith **`tt list`**).\n\n- **`tt e --sheet \u003csheet name\u003e --name \u003cnew sheet name\u003e`** -- change the name\nof a time sheet\n\n- **`tt r`** -- starts (resumes) an entry with the same description as the\nprevious one.\n\n### View Historical Activity\n\nSeveral commands are available to consult the database, either per-sheet or for\nall sheets together.\n\n- **`tt l`** -- list sheet entries for the previous 24 hours; provide\n`--all-sheets` to view entries for all sheets at once.\nPassing `--since \u003cnatural language time\u003e` will set the start date from which to\nlist entries, while passing `--all` will list sheets from the start of time.\nThis command has many arguments, for a full list see **`tt l --help`**.\n- **`tt w`** -- view a breakdown of activity for the past week.\n- **`tt t`** -- view a list of entries from today.\n- **`tt y`** -- view a list of entries from yesterday.\n- **`tt b`** -- view a breakdown of activity by day, weekday and hour.\n\n### Useful Flags\n\nNearly all commands allow durations to be displayed in a human-readable format\nwith the **`-h`** flag (for example, rendering *1:36:18* as\n*1 hour, 36 minutes*), and dates and times to be shown as relative to the\ncurrent time with the **`-r`** flag (converting *2/5/2024, 5:49:44 PM* to\n*3 hours ago*).\n\n## Help Reference\n\nFor reference, the full output of **`tt --help`** is reproduced below:\n\n```text\ntrack-time-cli now\n\nDisplay all active time sheet entries\n\nCommands:\n  track-time-cli in \u003cdescription..\u003e    Check in to a time sheet     [aliases: i]\n  track-time-cli now                   Display all active time sheet entries\n                                                                       [default]\n  track-time-cli out                   Check out of the active time sheet entry\n                                                                    [aliases: o]\n  track-time-cli week [sheets..]       Display a summary of activity for the\n                                       past week                    [aliases: w]\n  track-time-cli list [sheets..]       List all time sheet entries  [aliases: l]\n  track-time-cli edit [description..]  View, edit, or delete a time sheet entry\n                                                                    [aliases: e]\n  track-time-cli today [sheets..]      Display a summary of activity for today\n                                                                    [aliases: t]\n  track-time-cli sheet [name]          Switch to or delete a sheet by name\n                                                                    [aliases: s]\n  track-time-cli sheets                List all sheets             [aliases: ss]\n  track-time-cli resume                Start a new entry with the same\n                                       description as the previous one\n                                                                    [aliases: r]\n  track-time-cli yesterday [sheets..]  Display a summary of activity for\n                                       yesterday                    [aliases: y]\n  track-time-cli breakdown [sheets..]  Display total durations per day for one\n                                       or more sheets               [aliases: b]\n\nOptions:\n      --version   Show version number                                  [boolean]\n  -h, --humanize  Print the total duration in human-readable format    [boolean]\n      --help      Show help                                            [boolean]\n\nExamples:\n  tt in --at \"20 minutes ago\" fixing a bug  Check in at a custom time\n  tt out --at \"5 minutes ago\"               Check out at a custom time\n  tt list --today --all                     View all entries from today\n  tt b                                      Show a breakdown of your activity\n  tt today --all                            View activity for the current day\n```\n\n## Release History\n\nSee [*CHANGELOG.md*](/CHANGELOG.md) for more information.\n\n## License\n\nDistributed under the **MIT** license. See [*LICENSE.md*](/LICENSE.md) for more information.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n[npm-image]: https://img.shields.io/npm/v/track-time-cli.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/track-time-cli\n[npm-downloads]: https://img.shields.io/npm/dm/track-time-cli.svg?style=flat-square\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff3rno64%2Ftrack-time-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff3rno64%2Ftrack-time-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff3rno64%2Ftrack-time-cli/lists"}