Fast terminal note logging to GitHub
Project description
makenote
Fast terminal note logging to GitHub. Log notes from your terminal and store them as JSONL files in a GitHub repo — no database, no server, just gh and Git.
Why
Developers do a lot — shipped features, fixed bugs, unblocked teammates, learned something new — and most of it goes unrecorded. Come performance review time, or when updating your resume, that work is hard to reconstruct.
makenote is a lightweight habit for capturing those moments as they happen. A two-second note from the terminal is low enough friction to actually stick. Over time, your notes become a running log of your progress and impact, stored in a GitHub repo you already own and can query however you like.
How it works
mn appends timestamped notes to notes/<subject>/notes.jsonl in a GitHub repo you configure. Notes are stored as newline-delimited JSON records and written directly via the GitHub Contents API (through the gh CLI).
Requirements
- Python 3.9+
- gh CLI — authenticated (
gh auth login) - A GitHub repo to store your notes in
Installation
Homebrew (recommended)
brew tap hfinchy12/tap
brew install makenote
pip
pip install makenote
Setup
On first run, mn launches an interactive config wizard:
mn
Or run it explicitly at any time:
mn config
You'll be prompted to set:
- GitHub repo — the
owner/repowhere notes will be stored - Subjects — categories for your notes (e.g.
work,ideas,todo) - Default subject — used by
mn dfor fast logging
Config is saved to ~/.config/makenote/config.json.
Usage
Interactive note (with subject picker)
mn
Prompts you to select a subject, then enter your note.
Quick note to default subject
mn d "your note here"
Or without an argument to be prompted:
mn d
List recent notes
mn list
Shows the 20 most recent notes across all subjects, sorted newest first.
To filter by a specific subject:
mn list --subject work
mn list -s ideas
Edit config
mn config
Version
mn --version
Contributing
Pull requests are welcome. For significant changes, please open an issue first to discuss the approach.
- Fork the repo
- Create a feature branch (
git checkout -b my-feature) - Make your changes
- Run the test suite (
pytest tests/ -x -q) - Open a pull request
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file makenote_cli-1.1.0.tar.gz.
File metadata
- Download URL: makenote_cli-1.1.0.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8971d73559d307ee986b653f8dcc9ce4955f8ae62e3443208b4e4b5fe0f10cbb
|
|
| MD5 |
ab0c3df5ffceba3537ed8272c4044c6f
|
|
| BLAKE2b-256 |
0290f9434c3080d0e3fa7b49a8db9c06d0be2ae37d4183d8df988f81b96683f9
|
File details
Details for the file makenote_cli-1.1.0-py3-none-any.whl.
File metadata
- Download URL: makenote_cli-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e8eda69ff16bf6403ca2219a85b907c2054bb5b8dde97545e6fbfef61f32a80
|
|
| MD5 |
a35d9846b58f458562cd8ea9a92190d0
|
|
| BLAKE2b-256 |
1f76860462261e9487b3cd7463a970ec14905299e7c0e9276e69f4b11ec7351c
|