Skip to content

Conventions for consumers

Short rules when using @franksauvag/rpg-commons in an application.

Library boundaries

  • No routing in the library — inject links via asChild or linkComponent props.
  • No import.meta.env — pass apiBaseUrl and config from the app.
  • No hardcoded user-facing strings in components — use app i18n.

SRD data

  • Prefer createSrdRuntime — one instance per app.
  • Do not import src/srd/transform/* (internal).
  • Use published entry points: @franksauvag/rpg-commons/srd, ./character.

Versioning

Follow Release: publish lib first, then bump consumers on the registry.

Maintainers

Full governance (monorepo, stack, audits) lives in docs-internal/contributing/guidelines.md in the repository.

Agents: see Library contract and root AGENTS.md.