{"id":13687815,"url":"https://github.com/beatbrot/trackie","last_synced_at":"2025-07-31T08:42:15.423Z","repository":{"id":37931529,"uuid":"391582793","full_name":"beatbrot/trackie","owner":"beatbrot","description":"⏳ trackie is a private, daemon-less time tracker for your CLI.","archived":false,"fork":false,"pushed_at":"2024-01-01T20:57:37.000Z","size":1727,"stargazers_count":47,"open_issues_count":8,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-01T02:09:16.219Z","etag":null,"topics":["cli","hacktoberfest","project-management","rust","terminal","time-tracking"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/trackie","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beatbrot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-08-01T09:25:33.000Z","updated_at":"2024-07-15T07:37:14.000Z","dependencies_parsed_at":"2024-01-14T15:23:16.707Z","dependency_job_id":"c19d9587-1257-4951-8f23-5129c7166b22","html_url":"https://github.com/beatbrot/trackie","commit_stats":{"total_commits":106,"total_committers":4,"mean_commits":26.5,"dds":"0.49056603773584906","last_synced_commit":"6986def5dc3b7a457b85f97b552eee7e00305ab7"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beatbrot%2Ftrackie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beatbrot%2Ftrackie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beatbrot%2Ftrackie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beatbrot%2Ftrackie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beatbrot","download_url":"https://codeload.github.com/beatbrot/trackie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233845989,"owners_count":18739428,"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","hacktoberfest","project-management","rust","terminal","time-tracking"],"created_at":"2024-08-02T15:01:01.070Z","updated_at":"2025-01-14T04:46:19.966Z","avatar_url":"https://github.com/beatbrot.png","language":"Rust","funding_links":[],"categories":["Rust","cli"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e⏳ trackie\u003c/h1\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://spdx.org/licenses/Apache-2.0.html\"\u003e\n      \u003cimg alt=\"Crates.io\" src=\"https://img.shields.io/crates/l/trackie\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://crates.io/crates/trackie\"\u003e\n      \u003cimg alt=\"Crates.io\" src=\"https://img.shields.io/crates/v/trackie\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/beatbrot/trackie/actions/workflows/rust.yml\"\u003e\n      \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/beatbrot/trackie/rust.yml?branch=master\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/beatbrot/trackie\"\u003e\n      \u003cimg src=\"https://codecov.io/gh/beatbrot/trackie/branch/master/graph/badge.svg?token=M1UUT2YYD6\"/\u003e\n    \u003c/a\u003e\n    \u003c/p\u003e\n`trackie` is a private, daemon-less time tracker running in your CLI.\n\u003c/div\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\".github/media/terminal-session.gif\" align=\"center\"/\u003e\n\u003c/div\u003e\n\n---\n\nTrackie offers an easy CLI to track the time you spent on your various projects. It bundles up your busy days in easy\ndigestible reports that you can filter to your liking.\n\nAll data is saved to `($XDG_DATA_HOME|%APPDATA%)/trackie/trackie.json` where it can be processed by other tools.\n\nTrackie is optimized to lower its complexity to the absolute minimum.\n\n---\n\n## Usage\n\nTrackie currently consists of three simple commands:\n\n- `trackie start \u003cproject-ID\u003e`: Starts time tracking for a project with the given ID.\n- `trackie stop`: Stops the time tracking.\n- `trackie resume`: Resumes time tracking for the last tracked project.\n- `trackie status [-f \u003cformat\u003e]`: Prints information about the currently tracked project.\n- `trackie report [-d \u003cnum-days\u003e] [-i/--include-empty-days] [--json]`: Creates a report for the last *n* days (default: 5).\n\n## Shell integration\n\nTrackie's customizable `status` command is a great fit for many shells.\n\n\n### Starship \n\nThe following starship configuration, for example, leads to a nice element that shows on which project you are working\non and for how long you are already doing that.\n\n```toml\n[custom.trackie]\ncommand = 'trackie status -f \"%p[%D]\"'\n# Comment the following line if you don't want to hide the trackie block if no project is currently tracked\nwhen = \"trackie status\"\nsymbol = \"⏳\"\nstyle = \"bg:cyan fg:black\"\nformat = \"[$symbol($output)]($style)[](fg:cyan)\"\n```\n\nThis configuration leads to the following result:\n\n\u003cdiv\u003e\n  \u003cimg src=\".github/media/shell-integration-screenshot.png\" alt=\"Windows Terminal with starship and trackie extension\"/\u003e\n\u003c/div\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n  Use the following config to get better performance when using powershell\n\u003c/summary\u003e\n  \n```toml\n[custom.trackie]\ncommand = ''\nshell = [\"cmd.exe\", \"/C\", \"trackie status -f %p[%D]\"]\n# Comment the following line if you don't want to hide the trackie block if no project is currently tracked\nwhen = \"trackie status\"\nsymbol = \"⏳\"\nstyle = \"bg:cyan fg:black\"\nformat = \"[$symbol($output)]($style)[](fg:cyan)\"\n```\n\n\u003c/details\u003e\n\n### Oh My Posh\n\nTo get an equivalent prompt with \"Oh my Posh\", use the following `segement` code in your config file.\n\n```json\n{\n  \"type\": \"command\",\n  \"style\": \"powerline\",\n  \"foreground\": \"#100e23\",\n  \"powerline_symbol\": \"\\uE0B0\",\n  \"background\": \"cyan\",\n  \"properties\": {\n    \"prefix\": \"⏳\",\n    \"command\": \"/root/trackie status -f %p[%D]\"\n  }\n}\n```\n\n### Completion\n\nUse the `completion` command to generate the completion script for your shell. \nSee `trackie completion --help` for details.\n\nExemple with zsh:\n\n```zsh\ntrackie completion zsh \u003e /usr/local/share/zsh/site-functions/_trackie \n```\n\n\u003e **Note** \n\u003e Make sure to restart your shell for the changes to take effect\n\n\n## Installation\n\n#### Download prebuilt release\n\n1. Download the binary for your respective OS from [the latest release](https://github.com/beatbrot/trackie/releases).\n2. Copy it to a folder in your `PATH`.\n\n#### Compile from source using cargo\n\n1. Run `cargo install trackie`.\n\n#### Compile from source using make\n\n```\ngit clone https://github.com/beatbrot/trackie\ncd trackie\nmake\nsudo make install\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeatbrot%2Ftrackie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeatbrot%2Ftrackie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeatbrot%2Ftrackie/lists"}