I'm working on a rolodex
command line tool, to help
manage a set of Markdown files that each represent some
contact information about a person or organization.
This is mostly to jog my mind about how I know people.
With the pandemic going on, it's harder than ever to casually meet people in person. I find that my notes often have a brief record of where we met and what we ate. Those opportunities are increasingly scarce, so I'm spending the time preserving memories.
The data structure I'm starting with is a set of Markdown files with names like "Firstname-Lastname.md" in a Git repository. I'd like to preserve that on-disk data structure, rather than represent documents in a database of some kind, for maximum portability among all of the other tools that I'm using.
Markdown files have front matter and free text. At least one of the command line options should be able to read a field or set of fields from the front matter and print it out in a structured format that lets me feed it into something else. There should also be a way to update the front matter in place. The front matter is essentially a key value store.
So far I have a 100+ line shell script that implements the following verbs:
edit address callsign twitter grep spin recent push pull status diff lint help bugs
I'm not trying to be super fancy with any of this, and the script has some rough edges and emergent behavior that isn't yet particuarly well documented. But it is helpful so far.