Skip to main content

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-cli

Or, using pipx (recommended for CLI tools):

pipx install makenote-cli

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/repo where notes will be stored
  • Subjects — categories for your notes (e.g. work, ideas, todo)
  • Default subject — used by mn d for 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.

  1. Fork the repo
  2. Create a feature branch (git checkout -b my-feature)
  3. Make your changes
  4. Run the test suite (pytest tests/ -x -q)
  5. 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

makenote_cli-1.1.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makenote_cli-1.1.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file makenote_cli-1.1.1.tar.gz.

File metadata

  • Download URL: makenote_cli-1.1.1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for makenote_cli-1.1.1.tar.gz
Algorithm Hash digest
SHA256 cf38e2521ad66bcfe5e6382bf0fbc1049247df2f0132148b539e5ba7eaf7166f
MD5 fa92eaadcc0bcf13b557649068c0da9e
BLAKE2b-256 1c1cbb5abe9c258e9e426c535617244b819e8d0e38f4f7f6eb43cc4211d7a27a

See more details on using hashes here.

File details

Details for the file makenote_cli-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: makenote_cli-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for makenote_cli-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa9f12ef1ec3c20a09d718999f5a29c03a6415568b9e5f72f933925fa9b783c5
MD5 983497a38f3a7d31bf3476a05f7748cf
BLAKE2b-256 5108e740eb6d34b804070df77f34dea3cc896e3ac426088f2166852475d83ae3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page