⚠️ WORK IN PROGRESS: This project is currently under active development. Features and APIs are subject to change.
Modular tabletop RPG campaign and character management system.
A lightweight digital companion for tabletop play that replaces paper sheets while preserving the tabletop feel. Supports multiple TTRPG systems via plugins and uses an Entity Component System (ECS) runtime to model living character state.
TTRPG.Codex models characters and game state using an Entity Component System (ECS) pattern. It consists of a Blazor Server front-end and a modular plugin engine loaded via reflection. Data is persisted in an embedded RavenDB instance.
dotnet restore
dotnet build
dotnet run --project src/Codex.WebThe server will start at http://localhost:5000.
Drop compiled plugin .dll files implementing ICodexSystemPlugin into the /plugins directory. The engine will discover and load them on startup.
Run tests using:
dotnet testUse the scripts in /scripts to create single-file executables for Windows, Linux, and MacOS.
This project follows conventional commits and uses GitVersion to automatically version the application.
feat: <message>to trigger a minor version bumpfix: <message>to trigger a patch version bumpchore: <message>,docs: <message>,test: <message>, etc. for changes that don't affect the compiled artifact.
Releases are automated via GitHub Actions. By pushing a tag (e.g. v0.1.0), a pipeline triggers which calculates Semantic Versioning (SemVer), compiles binaries for Windows, Linux, and MacOS, and creates a GitHub Release linking these artifacts alongside an automatically generated changelog.
You can calculate the version locally by installing the GitVersion tool:
dotnet tool install --global GitVersion.Tool
dotnet-gitversion