{"id":21144752,"url":"https://github.com/rogeruiz/srht-tick","last_synced_at":"2025-07-09T06:31:04.254Z","repository":{"id":50083177,"uuid":"60929285","full_name":"rogeruiz/tick","owner":"rogeruiz","description":"This repository has been moved to sourcehut under the same username and repository name. Tick is a CLI time-tracking tool written in Rust. ⏱","archived":false,"fork":false,"pushed_at":"2021-06-04T21:15:20.000Z","size":118,"stargazers_count":15,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-14T15:50:31.364Z","etag":null,"topics":["cli","emotional-hygiene","journal","rust","time-keeping"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/rogeruiz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-11T21:48:37.000Z","updated_at":"2023-09-21T23:23:46.000Z","dependencies_parsed_at":"2022-08-21T03:40:56.353Z","dependency_job_id":null,"html_url":"https://github.com/rogeruiz/tick","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogeruiz%2Ftick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogeruiz%2Ftick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogeruiz%2Ftick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogeruiz%2Ftick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rogeruiz","download_url":"https://codeload.github.com/rogeruiz/tick/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225491208,"owners_count":17482679,"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","emotional-hygiene","journal","rust","time-keeping"],"created_at":"2024-11-20T08:22:02.001Z","updated_at":"2025-07-09T06:30:58.953Z","avatar_url":"https://github.com/rogeruiz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tick CLI for tracking your time\n\n![Angry clock eats person](angry-clock-eats-person.png)\n\nI use `tick` to track all my time using `tmux` sessions. But `tick` can be used\nwithout `tmux`, `node` or any other dependency. The `tick` CLI is written in Rust.\n\nInfo | Description\n--- | ---\n[![Project Build Status](https://travis-ci.org/rogeruiz/tick.svg?branch=master)](https://travis-ci.org/rogeruiz/tick) | Project build status for Tick CLI\n[Installation](#installation) | Installing Tick CLI.\n[Motivation](#motivation) | Why use Tick CLI?\n[Commands](#commands) | Using Tick CLI.\n[Inspiration](#inspiration) | Everything is a remix, including Tick CLI.\n[Contributing](CONTRIBUTING.md) | Contribute to Tick CLI.\n[License](LICENSE.md) | License for Tick CLI.\n\n## Installation\n\nTo install Tick, you can either compile it from source or download the binary\nfrom [the releases page][tick-releases] for the release you want and the\nplatform you need.\n\n[tick-releases]: https://github.com/rogeruiz/tick/releases \"The releases for this repo\"\n\n### Supported platforms\n\nTick has been used daily by me on different platforms such as macOS, Ubuntu, and\nArch. While it hasn't been tested on other platforms such as Windows, patches\nare welcome to add tests for this.\n\n### Dependencies\n\nTick leverages SQlite 3+ as a database. Make sure you have `sqlite3` installed\non your machine. This ships with macOS and can usually be installed with a\npackage manager on your platform of choice.\n\n### Compiling Tick from source\n\nThe steps are pretty straight-forward as long as you are within the realm of\n[Tier 1 support][rustlang-tier1] for the Rust compiler.\n\n[rustlang-tier1]: https://forge.rust-lang.org/platform-support.html#tier-1 \"Rust Platform Support\"\n\n```shell\n# Clone the repository.\n\u003e_ git clone https://github.com/rogeruiz/tick.git\n\n\u003e_ cd tick\n\n# Setup your Tock configuration file\n\u003e_ mkdir -p ~/.config/tick\n\u003e_ echo \"database_path: ~/.config/tick/main.db\" \u003e \"${_}/config.yaml\"\n\n# Build the release.\n\u003e_ cargo build --release\n\n# Install in your path.\n\u003e_ cp ./target/release/tick /usr/local/bin/tick\n```\n\n## Motivation\n\nI track my time a lot while using the terminal using a wrapper around `tmux`.\nThe wrapper I have is [a shell script called `tux`][tux-src]. While the wrapper\nworks great, it depends on `clocker` and `node` to handle time tracking.\n\nThe main motivation around writing this was to remove the `node` and `clocker`\ndependencies from `tux` along with adding customizable exporting mechanisms.\nTracking your time can be hard enough, so Tick tries making it a lot easier.\n\n[tux-src]: https://github.com/rogeruiz/.files/blob/master/bin/tux \"`.files/bin/tux` Source\"\n\n## Commands\n\nRun `tick --help` to see all the available commands you can use. Below is an\nexample workflow of how you would use Tick.\n\n```sh\n\u003e_ tick [ -v ] start --name my-timer [ --message \"I can do the thing!\" ]\n\u003e_ tick [ -v ] status\n\u003e_ tick [ -v ] stop --name my-timer [ --message \"I did the thing!\" ]\n\u003e_ tick [ -v ] stop [ --message \"I did the thing!\" ] # without a name argument stops the latest running timer\n\u003e_ tick [ -v ] list\n\u003e_ tick [ -v ] remove --id $( tick list | tail -1 | awk '{ print $1 }' ) # delete the latest timer by Timer ID\n```\n\n## Inspiration\n\nThis project would not be possible without being inspired by other's work.\n\n- `clocker` - [repository][clocker-repo]\n- `watson` - [repository][watson-repo]\n\n[clocker-repo]: https://github.com/substack/clocker \"Clocker Repository\"\n[watson-repo]: https://github.com/TailorDev/Watson \"Watson Repository\"\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogeruiz%2Fsrht-tick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frogeruiz%2Fsrht-tick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogeruiz%2Fsrht-tick/lists"}