Local-first CLI for turning tabletop RPG session exports into an Obsidian campaign vault
Project description
Chronicler
Chronicler is an AI agent that turns tabletop RPG session recordings into a living Obsidian campaign vault. Feed it session PDFs or transcripts, and it extracts NPCs, locations, factions, plot threads, and key events — then writes linked notes you can actually use at the table.
macOS only. The Obsidian integration depends on the macOS desktop app.
Install
pip install chronicler-ttrpg
Then run the setup wizard:
chronicler config init
chronicler init
See docs/installation.md for prerequisites and a step-by-step walkthrough.
Quick Start
# Add your player characters
chronicler party add --player "Alice" --character "Nyra" --class "Wizard"
# Ingest a session
chronicler ingest --session 1 /path/to/session-01.pdf
# Review the vault
chronicler review
chronicler ask
The Quick Start guide walks through your first session end-to-end.
Documentation
| Guide | Contents |
|---|---|
| Installation | Prerequisites, install options, initial config |
| Quick Start | First session walkthrough |
| Command Reference | Every command, flag, and example |
| Configuration | All settings and environment variables |
| Workflows | Backlog processing, active campaign, knowledge import |
| Troubleshooting | Common errors and fixes |
| Development | Dev environment, tests, contributing |
License
GNU AGPL v3 or later — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chronicler_ttrpg-0.1.0.tar.gz.
File metadata
- Download URL: chronicler_ttrpg-0.1.0.tar.gz
- Upload date:
- Size: 6.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d83b28d8642124a2d3f41f4c024884b42da4abe00feba0d2ac4169c496c4dabc
|
|
| MD5 |
e69f060c9636f9d4bdeda6dacbe7da0d
|
|
| BLAKE2b-256 |
3b03de69678577cb4700b2621ba75c636e9416817c9c31efd06f570847cdc89f
|
Provenance
The following attestation bundles were made for chronicler_ttrpg-0.1.0.tar.gz:
Publisher:
ci.yml on ScottSucksAtProgramming/chronicler
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chronicler_ttrpg-0.1.0.tar.gz -
Subject digest:
d83b28d8642124a2d3f41f4c024884b42da4abe00feba0d2ac4169c496c4dabc - Sigstore transparency entry: 1340781681
- Sigstore integration time:
-
Permalink:
ScottSucksAtProgramming/chronicler@d46a17f0de1ee001e8efe64d23e085211fab20dc -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ScottSucksAtProgramming
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@d46a17f0de1ee001e8efe64d23e085211fab20dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file chronicler_ttrpg-0.1.0-py3-none-any.whl.
File metadata
- Download URL: chronicler_ttrpg-0.1.0-py3-none-any.whl
- Upload date:
- Size: 92.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fddf2a409f0f0db464cf31520a99f668cff6cead09c81cc9683a28ca14e4fb30
|
|
| MD5 |
e0367f2299c5bac27b752a8070566073
|
|
| BLAKE2b-256 |
c9c319715561a33cf975cd170d59b2796357014110393cc5e40d97723357c633
|
Provenance
The following attestation bundles were made for chronicler_ttrpg-0.1.0-py3-none-any.whl:
Publisher:
ci.yml on ScottSucksAtProgramming/chronicler
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chronicler_ttrpg-0.1.0-py3-none-any.whl -
Subject digest:
fddf2a409f0f0db464cf31520a99f668cff6cead09c81cc9683a28ca14e4fb30 - Sigstore transparency entry: 1340781693
- Sigstore integration time:
-
Permalink:
ScottSucksAtProgramming/chronicler@d46a17f0de1ee001e8efe64d23e085211fab20dc -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ScottSucksAtProgramming
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@d46a17f0de1ee001e8efe64d23e085211fab20dc -
Trigger Event:
push
-
Statement type: