CLI tool for generating a summary of recent github activity for people who are incredibly forgetful

Overview

recaphub

This is a quick helper CLI I wrote to help me track what I've been working on.

Setup

This tool requires that you setup a personal access token. You can create one by going to Settings > Developer Settings (this is on the bottom of the sidebar on the left) > Personal Access Tokens

For convenience this crate uses dotenv to allow you to persistently load your personal access token.

To use this, create a .env file containing GITHUB_TOKEN= .

Output

Here's a sample of the kind of output it generates. This output will change over time as I update it to be more comprehensive with its analysis. Off of the top of my head I'd like it to also check Zulip threads that I've participated in and PRs or issues that I've created. Maybe commits as well? I'm not sure, it's a work in progress. I'm open to suggestions!

cargo run -- --name yaahc --timeframe 7d
- rust-lang/rust: Add #[track_caller] support to `?`
  - https://github.com/rust-lang/rust/issues/77474#issuecomment-1074480790
- rust-lang/rust-clippy: invert check for `clippy::try_err` and disable it inside of try blocks
  - https://github.com/rust-lang/rust-clippy/issues/5757#issuecomment-1069533406
- rust-lang/rust: Tracking issue for `IntoFuture`
  - https://github.com/rust-lang/rust/issues/67644#issuecomment-1074497601
- rust-lang/rust: Unstably constify `impl
   
     IntoIterator for I`
   
  - https://github.com/rust-lang/rust/pull/90602#issuecomment-1072618654
  - https://github.com/rust-lang/rust/pull/90602#issuecomment-1073245869
  - https://github.com/rust-lang/rust/pull/90602#issuecomment-1073247688
  - https://github.com/rust-lang/rust/pull/90602#issuecomment-1074491176
- rust-lang/rust: Add ability to spawn Windows process with Proc Thread Attributes
  - https://github.com/rust-lang/rust/pull/88193#issuecomment-1072609119
- rust-lang/rust: add module-level documentation for vec's in-place iteration
  - https://github.com/rust-lang/rust/pull/87667#issuecomment-1072607965
- yaahc/eyre: Add must-install feature, so that a non-default handler can be the on…
  - https://github.com/yaahc/eyre/pull/52#issuecomment-1074453007
  - https://github.com/yaahc/eyre/pull/52#issuecomment-1074465302
- rust-lang/rust: Mark `uint::wrapping_next_power_of_two` as `#[inline]`
  - https://github.com/rust-lang/rust/pull/94517#issuecomment-1072670466
  - https://github.com/rust-lang/rust/pull/94517#issuecomment-1072873639
  - https://github.com/rust-lang/rust/pull/94517#issuecomment-1074501841
- rust-lang/rust: Add `Option::inspect_none` & minor example improvements to other new `inspect` methods
  - https://github.com/rust-lang/rust/pull/94317#issuecomment-1072877582
  - https://github.com/rust-lang/rust/pull/94317#issuecomment-1074442258
- rust-lang/rust: Let `try_collect` take advantage of `try_fold` overrides
  - https://github.com/rust-lang/rust/pull/94115#issuecomment-1072665477
- rust-lang/rust: Upgrade libc to fix `Instant + Duration` producing wrong result on aarch64-apple-darwin
  - https://github.com/rust-lang/rust/pull/94100#issuecomment-1072632579
- rust-lang/project-error-handling: no-panic as a language feature
  - https://github.com/rust-lang/project-error-handling/issues/49#issuecomment-1073156185
- rust-lang/rust: Create `NonZero` trait with primitive associated type
  - https://github.com/rust-lang/rust/pull/95155#issuecomment-1074460757
- rust-lang/rust: Clean up, categorize and sort unstable features in std.
  - https://github.com/rust-lang/rust/pull/95032#issuecomment-1071197976
  - https://github.com/rust-lang/rust/pull/95032#issuecomment-1071198181
- yaahc/color-eyre: Allow omitting location/track-caller via function
  - https://github.com/yaahc/color-eyre/issues/105#issuecomment-1071017358
  - https://github.com/yaahc/color-eyre/issues/105#issuecomment-1071051305
- yaahc/eyre: Integrating with actix-web
  - https://github.com/yaahc/eyre/issues/72#issuecomment-1068446864
  - https://github.com/yaahc/eyre/issues/72#issuecomment-1068449557

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
You might also like...
Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal
Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal

Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal. At its core, it is a terminal multiplexer (similar to tmux and screen), but this is merely its infrastructure layer.

Cork is a simple command-line calculator, mainly targeted towards people who deal with hex numbers
Cork is a simple command-line calculator, mainly targeted towards people who deal with hex numbers

Cork is a simple command-line calculator, mainly targeted towards people who deal with hex numbers. It deals only with integer arithmetic. Expressions may involve mixed bases (limited to decimal, hexadecimal, octal and binary numbers). The global output format may be set to a particular radix - by default it is hex.

Oxygen is a voice journal and audio analysis toolkit for people who want to change the way their voice comes across.

Oxygen Voice Journal Oxygen is a voice journal and audio analysis toolkit for people who want to change the way their voice comes across. Or rather, i

Programming language made by me to learn other people how to make programming languages :3
Programming language made by me to learn other people how to make programming languages :3

Spectra programming language Programming language made for my tutorial videos (my youtube channel): Syntax Declaring a variable: var a = 3; Function

xyz is a chat platform where people sign up, play a matching game, and say goodbye
xyz is a chat platform where people sign up, play a matching game, and say goodbye

xyz is an asynchronous chat and web service What you need Docker Desktop 🐳 Cargo (Rust package manager) 📦 Clone our project Follow the steps below t

A command line tool for easily generating multiple versions of a configuration file from a single template

MultiConf A command line tool for easily generating multiple versions of a configuration file from a single template. Why? I'm a big fan of the i3 win

Mac App/CLI that automatically adds project logos to your locally cloned GitHub repos
Mac App/CLI that automatically adds project logos to your locally cloned GitHub repos

Download the app Automatically adds project logos to your locally cloned GitHub repos. Youtube Video This repository contains the source code for the

BoilerFiles is a CLI for downloading your boilerplate files from a public GitHub template repo.

BoilerFiles Available on crates.io. BoilerFiles is a CLI for downloading your boilerplate files from a public GitHub template repo. Features Are you t

A simple cli to clone projects and fetch all projects in a GitHub org..

stupid-git A simple cli to clone projects and update all projects. get all repository from GitHub clone all pull all with git stash Usage create sgit.

Comments
  • Bucket activity by day?

    Bucket activity by day?

    When I was planning on improving git standup, something I realized I'd want is to re-build the state by looking at my activity by when it happened.

    I think my ideal view would be something like

    $ recaphub --name epage --timeframe 7d
    Friday
    - ...
    Monday
    - ...
    Wednesday
    - ...
    

    (with the days colored to help distinguish them)

    For days within the last week, my thought is to show the day of the week but then switch to dates past that (maybe still include the day of week though)

    enhancement help wanted 
    opened by epage 5
Owner
Jane Lusby
Error Handling Project Group Lead, Rust Foundation Project Director of Collaboration, Libs Team member, and Principal Rust Open Source Engineer @ Futurewei Tech
Jane Lusby
A lightweight but incredibly powerful and feature-rich BitTorrent tracker. Supports UDP + HTTP(S) and a private tracker mode.

Torrust Tracker Project Description Torrust Tracker is a lightweight but incredibly powerful and feature-rich BitTorrent tracker made using Rust. Feat

Torrust 162 Dec 31, 2022
🚩 Show sensitive command summary when open a new terminal

?? Show sensitive command summary when open a new terminal ?? Clear sensitive commands from shell history ?? Stash your history command before present

Rusty Ferris Club 161 Dec 26, 2022
Track activity time from terminal.

Time Tracker This is a command-line time-tracking tool that allows you to manually or automatically time-track your activity. Manual tracking In order

Mario Dujić 4 Mar 14, 2023
A simple cli tool for generating quotes in your terminal from Kanye west. Start the day out strong.

Kanyey A simple cli tool for generating quotes in your terminal from Kanye West. Install Just do cargo install kanyey and be blessed. Bonus: throw it

null 3 Sep 29, 2023
A command line tool for people of transgender experience to replace their deadname within a Git repo.

chowndn (Change Owner from Dead Name) A command line tool for people of transgender experience to replace their dead name within a Git repo. See chown

Christi Miller 23 Dec 6, 2022
Mafa is a command-line tool that helps people interact with online websites in a terminal(tty).

Table of Contents A Small Demo Installation Prerequisite Option 1: Cargo install (recommended) Option 2: Build from source Option 3: Prebuilt binaries

Michael Lee 6 Jul 10, 2023
Mafa is a command-line tool that helps people interact with online websites in a terminal(tty).

A Small Demo Installation Prerequisite Option 1: Cargo install (recommended) Option 2: Build from source Option 3: Prebuilt binaries Mafa is for me? W

Michael Lee 6 Jul 23, 2023
A cli tool to download specific GitHub directories or files

cloneit A cli tool to download specific GitHub directories or files. Installation From git git clone https://github.com/alok8bb/cloneit cd cloneit car

Alok 54 Dec 20, 2022
Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs.

Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs. Installation Homebrew (only macOS) $ brew tap Ryu0118/Ku

Ryu 103 Jun 18, 2023
Rust crate and CLI for generating Diceware passphrases.

⁙ diceware Rust crate and CLI for generating strong Diceware passphrases. CLI usage As of now you can install it globally via cargo (assuming you have

Vladislav Mamon 5 Oct 26, 2022