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 344d34cbdd game; docs, schema 1 month ago
bin lots of tidying up and reorganizing 10 months ago
db game; docs, schema 1 month ago
dist game; docs, schema 1 month ago
doc lots of tidying up and reorganizing 10 months ago
templates more fix still 9 months ago
README.md game; docs, schema 1 month ago
justfile game + updates 3 months ago
package-lock.json initial commit 11 months ago
package.json initial commit 11 months ago

README.md

Game Log

RPGs I've played

About

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.

Dependencies

  • GNU recutils

  • node (optional)

  • just (optional)

  • csvkit (optional)

Considerations

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?

Schema

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.

Learnings

check out doc/learnings.md

Recsel examples

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

See justfile for more examples

Todo

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

Resources