recutils database of all the games i play
Go to file
dozens 43b68daeed game 2023-08-22 19:18:34 -06:00
bin game 2023-02-26 13:56:19 -07:00
db game 2023-08-22 19:18:34 -06:00
dist game 2023-08-22 19:18:34 -06:00
doc lots of tidying up and reorganizing 2022-02-11 17:49:13 -07:00
templates more fix still 2022-03-04 16:01:03 -07:00 game; docs, schema 2022-10-27 08:51:05 -06:00
justfile game + updates 2022-08-30 07:17:56 -06:00
package-lock.json initial commit 2021-12-23 15:12:56 -07:00
package.json initial commit 2021-12-23 15:12:56 -07:00

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