Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaebradley/wakatime-cli
🖥 Visualize your daily WakaTime stats from the command line
https://github.com/jaebradley/wakatime-cli
cli nodejs npm wakatime wakatime-api wakatime-cli
Last synced: 2 months ago
JSON representation
🖥 Visualize your daily WakaTime stats from the command line
- Host: GitHub
- URL: https://github.com/jaebradley/wakatime-cli
- Owner: jaebradley
- License: mit
- Created: 2018-03-29T02:07:31.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-08T20:07:38.000Z (over 2 years ago)
- Last Synced: 2024-10-28T13:57:24.472Z (3 months ago)
- Topics: cli, nodejs, npm, wakatime, wakatime-api, wakatime-cli
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/wakatime-cli
- Size: 1.1 MB
- Stars: 21
- Watchers: 4
- Forks: 2
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Wakatime CLI](https://github.com/jaebradley/wakatime-cli/workflows/Wakatime%20CLI/badge.svg)
[![npm](https://img.shields.io/npm/v/@jaebradley/wakatime-cli.svg)](https://www.npmjs.com/package/@jaebradley/wakatime-cli)
[![npm](https://img.shields.io/npm/dt/@jaebradley/wakatime-cli.svg)](https://www.npmjs.com/package/@jaebradley/wakatime-cli)# wakatime-cli
- [wakatime-cli](#wakatime-cli)
- [Introduction](#introduction)
- [Installation](#installation)
- [Usage](#usage)
- [Setup](#setup)
- [Summary Options](#summary-options)
- [Section Filters](#section-filters)
- [Section Options](#section-options)
- [Today's Summary](#todays-summary)
- [Footnotes](#footnotes)## Introduction
![waka-flocka-flame](https://media.giphy.com/media/4FRN8FpBdaJYA/giphy.gif)[1](#waka-flocka-flame-footnote)
As 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.
But I think it'd be pretty damn cool if I could see some of my stats in the `Terminal` via a CLI.
![alt-text](https://imgur.com/nfJ4clj.png)
## Installation
```bash
npm install @jaebradley/wakatime-cli -g
```## Usage
### Setup
```bash
waka setup
```![setup](https://imgur.com/ygTGX4u.png)
The `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.
Then, 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).
### Summary Options
### Section Filters
There are a couple notable command line options for filtering summary data.
However, 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.
This is primarily due to the output from the Wakatime `/summaries` endpoint which doesn't return linked data across editors, projects, and languages.
- `-e ` - filters the editors in the `Editors` section
- Supports regex, so `-e /vs co.*/i`, for example (which would match `VS Code`)
- `-l ` - filters the languages in the `Languages` section
- Supports regex, so `-l /java.*/i`, for example (which would match `Java` and `JavaScript`)
- `-p ` - filters the projects in the `Projects` section
- Supports regex, so `-p /waka.*/i`, for example (which would match `wakatime-cli` and `wakatime-client`)### Section Options
You might want to restrict the sections that are outputted (if you want to _only_ see your language statistics, for example).
Here are the following ways to toggle specific sections. If no options are specified, **all sections** will be displayed.
- `-E` - show the `Editors` section
- `-L` - show the `Languages` section
- `-P` - show the `Projects` sectionIf data is not available for a given section, it will _not_ be displayed even if that option was specified.
### Today's Summary
```bash
waka today
```![alt-text](https://imgur.com/nfJ4clj.png)
Outputs the summary stats (total time recorded, editors, languages, and projects) for the current day using [the `summaries` API](https://wakatime.com/developers#summaries).
```bash
waka yesterday
```Like [`Today's Summary`](#todays-summary) but, like, the day before.
### Footnotes
1 Get it? Cause that's [Waka Flocka Flame](https://en.wikipedia.org/wiki/Waka_Flocka_Flame) and I like bad jokes. You get it.