Skip to content

A CLI to log what you do throughout the day without having to keep track of the files. Allows you to tag various entries and produce md, csv, and gist reports.

License

Notifications You must be signed in to change notification settings

brighton1101/todayi

Repository files navigation

todayi

Currently this project is in its early stages. Remote functionality is weak, especially with regards to backing files up. Use at your own discretion.

A cli that lets you keep track of what you do throughout the day with a single command:

🌴🌴🌴 todayi (master) $ todayi "Did something more with xyz and terraform" -t xyz terraform

This writes an entry to a backend (by default SQLite), with your entry's content Fixed a bug with terraform/gcp setup as well as two tags: terraform and xyz. Then, you can query for content using filters:

🌴🌴🌴 todayi (master) $ todayi show --with-tags "terraform,xyz" -a 12/21/2020
+-------------------------------------------+------------+----------------+
|               What was done:              |   When:    |     Tags:      |
+-------------------------------------------+------------+----------------+
| Did something more with xyz and terraform | 2020-12-21 | terraform, xyz |
+-------------------------------------------+------------+----------------+

You can also generate a markdown report with the following using the same filters:

🌴🌴🌴 todayi (master) $ todayi report md -o ~/Desktop/example.md --with-tags "terraform,xyz" -a 12/21/2020

Contents of the report:

## 12-21-2020:
- 12:23 - Did something more with xyz and terraform - Tags: terraform, xyz

You can even post the report as a gist to Github

🌴🌴🌴 todayi (master) $ todayi report md -o example-report --with-tags "terraform,xyz" -a 12/21/2020 --gist --public

See here for what was generated.

You can back it up to a configured 'remote' with the following (by default GCS)

🌴🌴🌴 todayi (master) $ todayi remote push

And you can pull from a remote just as easily...

🌴🌴🌴 todayi (master) $ todayi remote pull

Note that limited backup functionality is currently implemented for remotes using the -B or --backup flag

You can set configuration simply as well...

🌴🌴🌴 todayi (master) $ todayi config set github_auth_token "AUTH_TOKEN_HERE"

And then you can view that configuration easily.

🌴🌴🌴 todayi (master) $ todayi config get remote
gcs

Motivation:

tl;dr: Log what you do throughout the day so

  • you're prepared for standups
  • you're prepared for performance reviews
  • you can remember what you did that intense week six months ago
  • you have a record of all the actionable things you're proud of And
  • you won't have to spend time formatting reports

Available Backend Implementations:

  • sqlite

Available Remote Implementations:

  • gcs
  • git (experimental)

Available Report Formats:

  • md
  • csv
  • gist (which will post either a markdown or csv report, depending on what is specified)

Note that all of the above is extremely easy to add on to

Development:

  • clone the repo, and cd into the root of the directory
  • ensure python version 3.7+ is installed
  • create virtual env: python3 -m venv venv
  • activate virtual env: source venv/bin/activate
  • run pip3 install -e .
  • run pip3 install -r dev-requirements.txt
  • run pre-commit install
  • test pre-commit by running pre-commit run --all-files

About

A CLI to log what you do throughout the day without having to keep track of the files. Allows you to tag various entries and produce md, csv, and gist reports.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages