recutils database of all the games i play http://tilde.town/~dozens/gamelog/
Go to file
Dozens B. McCuzzins 8c05ac2b3d schema refactor 2024-02-01 12:07:55 -07:00
bin game 2023-02-26 13:56:19 -07:00
db schema refactor 2024-02-01 12:07:55 -07:00
dist schema refactor 2024-02-01 12:07:55 -07:00
doc lots of tidying up and reorganizing 2022-02-11 17:49:13 -07:00
README.md game; docs, schema 2022-10-27 08:51:05 -06:00
justfile schema refactor 2024-02-01 12:07:55 -07: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

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