{"id":15502961,"url":"https://github.com/evuez/ttyme","last_synced_at":"2025-07-17T12:37:52.771Z","repository":{"id":71118899,"uuid":"319040063","full_name":"evuez/ttyme","owner":"evuez","description":"A Haskell TUI for Harvest.","archived":false,"fork":false,"pushed_at":"2020-12-27T13:13:54.000Z","size":34,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T09:52:57.803Z","etag":null,"topics":["getharvest","hacktoberfest","harvest","time-tracking","timer","tui"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evuez.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","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":"2020-12-06T13:30:04.000Z","updated_at":"2022-06-25T14:12:30.000Z","dependencies_parsed_at":"2023-06-02T20:45:23.147Z","dependency_job_id":null,"html_url":"https://github.com/evuez/ttyme","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"321fba3807a0a635421128ebf4055705dc46301b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/evuez/ttyme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fttyme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fttyme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fttyme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fttyme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evuez","download_url":"https://codeload.github.com/evuez/ttyme/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evuez%2Fttyme/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265607113,"owners_count":23797078,"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":["getharvest","hacktoberfest","harvest","time-tracking","timer","tui"],"created_at":"2024-10-02T09:11:42.023Z","updated_at":"2025-07-17T12:37:52.743Z","avatar_url":"https://github.com/evuez.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ttyme\n\nA TUI for [Harvest](https://www.getharvest.com/).\n\n![ttyme](screenshots/ttyme.png)\n\n## Usage\n\nPress...\n\n - `q` to quit\n - `r` to force a refresh\n - `a` to create a new time entry\n - `e` to edit a time entry\n - `Esc` to save edits\n - `k` to focus next entry\n - `j` to focus previous entry\n - `p` to pause a time entry\n - `dd` to delete a time entry\n - `-?[0-9]+[hm]` to update the time: `-1h` removes one hour, `23m` adds 23 minutes\n - `t` to cycle between tasks on a time entry\n - `l` to go to next day\n - `h` to go to previous day\n - `L` to go to next week\n - `H` to go to previous week\n - `n` to go to today\n\n## Install\n\nInstall [stack](https://docs.haskellstack.org/en/stable/README/) and run `make install`.\n\nYou'll then have to create a configuration file `~/.config/ttyme/ttyme.toml`:\n\n```toml\nharvest_token = \"TOKEN\"\nharvest_account = \"ACCOUNT ID\"\nproject_id = \"PROJECT ID\"\n```\n\nGo to the [developers](https://id.getharvest.com/developers) page on Harvest to get the `TOKEN` and `ACCOUNT ID`. `PROJECT ID` can be found by navigating to a project page from [Projects](https://julienmaisonneuve.harvestapp.com/projects) and looking at the URL for the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevuez%2Fttyme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevuez%2Fttyme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevuez%2Fttyme/lists"}