This is the official documentation for RomM, the beautiful, powerful self-hosted ROM manager and player. Here you'll find everything you need to know about setting up, configuring, and using RomM.
We use uv
to build the documentation. To install it, run:
curl -LsSf https://astral.sh/uv/install.sh | sh
Then install python and the required dependencies:
uv install python
uv sync --all-extras --dev
Finally run the following command to serve the documentation from a local server:
uv run mkdocs serve [-a ip:port] --livereload
We welcome all types of contributions, from simple typo fixes to new content. If you'd like to contribute, please read our code of conduct.
We use Trunk for linting, which combines multiple linters with sensible defaults and a single configuration file. You'll need to install the Trunk CLI to use it.
curl https://get.trunk.io -fsSL | bash
Alternative installation methods can be found here. On commit, the linter will run automatically. To run it manually, use the following commands:
trunk fmt
trunk check
We use mike to build and deploy documentation versions. Manually deploy a version needs to update and push the specific version (or a new one if creating a new version) with the following command:
uv run mike deploy --push <version> [alias]
This will update the gh-pages
branch and automatically deploys the version with the fix/update to https://docs.romm.app
Join us on Discord, where you can ask questions, submit ideas, get help, showcase your collection, and discuss RomM with other users.