recutils database of all the games i play
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dozens 027d3b0eb6
1 month ago
bin game 2 months ago
db game 1 month ago
dist game 1 month ago
doc lots of tidying up and reorganizing 1 year ago
templates more fix still 1 year ago game; docs, schema 5 months ago
justfile game + updates 7 months ago
package-lock.json initial commit 1 year ago
package.json initial commit 1 year ago

Game Log

RPGs I've played


This is a log of all the games I've played starting in 2021. I'm keeping this log in anticipation of writing a "Every game I played in 2021" blog post in 2022.

I decided to use recutils for this because, why not.

Getting Started

You don't need to install anything if you don't want to. You can just edit the rec file.

But if you want to use the TUI, then npm i and just new (or node bin/cli.js) to create a new entry using the interative prompt.


  • GNU recutils

  • node (optional)

  • just (optional)

  • csvkit (optional)


What kind of stuff am I interested in keeping track of?

  • Role: Player or DM?
  • Format: In person? (Ha, one day.) Roll20/Discord? Play by post?
  • Length: One-shot, adventure, campaign?
  • Crew: Who did I play with?


You should probably just read the recfile because that will always be the source of truth, but at the time of this writing, the schema is as follows.

%rec: Game
%doc: a ttrpg game I have played or am playing
%key: Id
%type: Id int
%type: System,Module,Format line
%type: Updated,Started date
%typedef: Role enum DM Player
%typedef: Length enum Campaign Adventure Oneshot
%typedef: Status enum Ongoing Complete Hiatus Dead
%auto: Id Updated
%mandatory: Id System Module Format Notes Updated Started Role Length Status

Note: Notes (arguably the most important field) does not have a type because there is no valid type for multi-line entries in recfiles. Thus is remains untyped, uncheckable by recins, and undocumented in the schema. I consider this a bug of the recutils.


check out doc/

Recsel examples

  • recsel -e "Role = 'Player'" games.rec

See justfile for more examples


  • Add types/enums
  • tui? run just new (or node bin/cli.js)
  • add Update to CLI