Armarium
A system-general starter for tabletop roleplaying knowledge bases in Obsidian.
See vaults/example for a fleshed-out toy vault that follows and demonstrates this repository's conventions.
Create a vault
With Python 3.14+ and uv, install Armarium from this checkout and create a vault:
uv tool install .
armarium init ../my-vault
If armarium is not on your PATH, run uv tool update-shell and restart your
terminal. To reinstall after updating this checkout, use
uv tool install --reinstall-package armarium ..
Open the new folder in Obsidian and edit
campaigns/campaign_1/reference/Campaign.md. See Creating a vault
for details.
Add campaigns and records with armarium add; see
Adding to a vault.
Requires Obsidian 1.13.7+ with Bases and Frontmatter Markdown Links enabled.
Layout
| Folder | Purpose |
|---|---|
content/ |
Shared setting content. |
campaigns/campaign_1/ |
Campaign content, clues, sessions, and reference material. |
reference/ |
Templates, type descriptions, schemas, statuses, and shared reference material. |
assets/ |
Maps, images, and handouts. |
Use armarium add or copy a file from
reference/templates/ to create a record. Records
describes what every record shares and Types the fields, body
and rules of each type.
The starter is preconfigured for a single campaign. The example includes two campaigns sharing setting Content, with independent campaign state and combined Clue and appearance lists. Vault layout states the full required skeleton and where each record type lives.
.obsidian/ holds the settings the records rely on and is part of the vault;
only Obsidian's workspace files are ignored. .scratch/ is ignored working
space; .gitkeep files preserve empty directories in Git. The copied vault can
be its own Git repository.
For schema integration and testing, see Schema development.
Planned work is tracked in the issues.
MIT licensed. See the changelog and release process.
Validate records
Validate a record or a whole vault:
armarium validate path/to/record.md
armarium validate ../my-vault
See Validation for the command's options, what is checked and how findings are reported.
Metadata
Release files for armarium 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| armarium-0.1.0.tar.gz | 165.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| armarium-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 248.3 kB
Release files / armarium-0.1.0.tar.gz
| Download URL | armarium-0.1.0.tar.gz |
|---|---|
| Size | 165.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7b416d2e13b5ce1fcc3791766dc3b76478de054f48935c6760d03f925b73bc5
|
|
BLAKE2b-256 checksum How to use checksums |
c49edc7582de95db500c68a25ed99890fcdf7a93a3c666adaac501294d7203f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / armarium-0.1.0-py3-none-any.whl
| Download URL | armarium-0.1.0-py3-none-any.whl |
|---|---|
| Size | 82.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e2088bc714733bdbfa2282aec970418f7d149787150f8db4d4b8c181b6667b0d
|
|
BLAKE2b-256 checksum How to use checksums |
9730a87880ae13e07b0b82b43804326fed6bc427f7aef1530017ac9dfd794b5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|