Skip to content

SoHL Developer & API Documentation

The entry point for working on the Song of Heroic Lands (SoHL) system — for developers extending the API, contributors changing core, and anyone who needs a mental model of the code.

This documentation is developer- and API-facing only. Player- and GM-facing rules and play guides are not duplicated here — they live on the project site (see Player & GM rules below).

Start here

  1. Architecture Overview — the system’s mental model and a map of the src/ tree. Read this first.
  2. Getting Started — environment setup, codebase tour, and your first change.
  3. API Reference — generated TypeDoc, with a sidebar grouped to mirror the source: Core / Documents / Domain / Utility.

Security-critical change? If you are touching serialization, HTML rendering, actions/executors, or chat/cross-client flows, read Security Model & Guardrails first. Its keystone rule — data carries a reference to code (a __kind tag, a method name, a Macro UUID), never source; functions are never serialized — is the system’s top security constraint.

Concepts

Design and rationale — how and why the system is built the way it is.

How-to

Task-oriented guides for getting something done.

Reference

Contracts, catalogs, and specifications.

Contributing

How to contribute: standards, the development workflow, and maintainer/project-meta.

Player & GM rules (external)

Rules and play guides are maintained on the project site, not in this repo: