{"id":20333080,"url":"https://github.com/jaebradley/wakatime-cli","last_synced_at":"2025-04-11T21:33:11.158Z","repository":{"id":31279202,"uuid":"127223476","full_name":"jaebradley/wakatime-cli","owner":"jaebradley","description":"🖥 Visualize your daily WakaTime stats from the command line","archived":false,"fork":false,"pushed_at":"2022-06-08T20:07:38.000Z","size":1150,"stargazers_count":22,"open_issues_count":16,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T17:46:52.972Z","etag":null,"topics":["cli","nodejs","npm","wakatime","wakatime-api","wakatime-cli"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/wakatime-cli","language":"JavaScript","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/jaebradley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-29T02:07:31.000Z","updated_at":"2025-03-09T18:43:50.000Z","dependencies_parsed_at":"2022-09-16T15:00:52.594Z","dependency_job_id":null,"html_url":"https://github.com/jaebradley/wakatime-cli","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaebradley%2Fwakatime-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaebradley%2Fwakatime-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaebradley%2Fwakatime-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaebradley%2Fwakatime-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaebradley","download_url":"https://codeload.github.com/jaebradley/wakatime-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248483393,"owners_count":21111441,"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","nodejs","npm","wakatime","wakatime-api","wakatime-cli"],"created_at":"2024-11-14T20:29:15.734Z","updated_at":"2025-04-11T21:33:11.136Z","avatar_url":"https://github.com/jaebradley.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Wakatime CLI](https://github.com/jaebradley/wakatime-cli/workflows/Wakatime%20CLI/badge.svg)\n[![npm](https://img.shields.io/npm/v/@jaebradley/wakatime-cli.svg)](https://www.npmjs.com/package/@jaebradley/wakatime-cli)\n[![npm](https://img.shields.io/npm/dt/@jaebradley/wakatime-cli.svg)](https://www.npmjs.com/package/@jaebradley/wakatime-cli)\n\n# wakatime-cli\n\n- [wakatime-cli](#wakatime-cli)\n  - [Introduction](#introduction)\n  - [Installation](#installation)\n  - [Usage](#usage)\n    - [Setup](#setup)\n    - [Summary Options](#summary-options)\n    - [Section Filters](#section-filters)\n    - [Section Options](#section-options)\n    - [Today's Summary](#todays-summary)\n    - [Footnotes](#footnotes)\n\n## Introduction\n\n![waka-flocka-flame](https://media.giphy.com/media/4FRN8FpBdaJYA/giphy.gif)\u003csup\u003e[1](#waka-flocka-flame-footnote)\u003c/sup\u003e\n\nAs a mega-nerd (proven by my use of the term, \"mega-nerd\"), I am a big fan of [the `WakaTime` service](https://wakatime.com) for tracking my coding.\n\nBut I think it'd be pretty damn cool if I could see some of my stats in the `Terminal` via a CLI.\n\n![alt-text](https://imgur.com/nfJ4clj.png)\n\n## Installation\n\n```bash\nnpm install @jaebradley/wakatime-cli -g\n```\n\n## Usage\n\n### Setup\n\n```bash\nwaka setup\n```\n\n![setup](https://imgur.com/ygTGX4u.png)\n\nThe `wakatimecli` uses [the `WakaTime` API](https://wakatime.com/developers) to get data. One of the easiest ways to authenticate requests is by using your `WakaTime` API key, which can be retrieved by going to your `WakaTime` user profile.\n\nThen, use the `waka setup` command to set your API key for the `wakatimecli` project, which will store your key using [`node-keytar`](https://github.com/atom/node-keytar) (so in `Keychain` on OSX, for example).\n\n### Summary Options\n\n### Section Filters\n\nThere are a couple notable command line options for filtering summary data.\n\nHowever, filtering only impacts the summary data for the given section. So filtering by a particular project name will only change the output data for the `Projects` section and won't impact the `Editors` or `Languages` section.\n\nThis is primarily due to the output from the Wakatime `/summaries` endpoint which doesn't return linked data across editors, projects, and languages.\n\n- `-e \u003cSome Editors Filter\u003e` - filters the editors in the `Editors` section\n  - Supports regex, so `-e /vs co.*/i`, for example (which would match `VS Code`)\n- `-l \u003cSome Languages Filter\u003e` - filters the languages in the `Languages` section\n  - Supports regex, so `-l /java.*/i`, for example (which would match `Java` and `JavaScript`)\n- `-p \u003cSome Projects Filter\u003e` - filters the projects in the `Projects` section\n  - Supports regex, so `-p /waka.*/i`, for example (which would match `wakatime-cli` and `wakatime-client`)\n\n### Section Options\n\nYou might want to restrict the sections that are outputted (if you want to _only_ see your language statistics, for example).\n\nHere are the following ways to toggle specific sections. If no options are specified, **all sections** will be displayed.\n\n- `-E` - show the `Editors` section\n- `-L` - show the `Languages` section\n- `-P` - show the `Projects` section\n\nIf data is not available for a given section, it will _not_ be displayed even if that option was specified.\n\n### Today's Summary\n\n```bash\nwaka today\n```\n\n![alt-text](https://imgur.com/nfJ4clj.png)\n\nOutputs the summary stats (total time recorded, editors, languages, and projects) for the current day using [the `summaries` API](https://wakatime.com/developers#summaries).\n\n```bash\nwaka yesterday\n```\n\nLike [`Today's Summary`](#todays-summary) but, like, the day before.\n\n### Footnotes\n\n\u003ca name=\"waka-flocka-flame-footnote\"\u003e\u003csup\u003e1\u003c/sup\u003e\u003c/a\u003e Get it? Cause that's [Waka Flocka Flame](https://en.wikipedia.org/wiki/Waka_Flocka_Flame) and I like bad jokes. You get it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaebradley%2Fwakatime-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaebradley%2Fwakatime-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaebradley%2Fwakatime-cli/lists"}