rimpack
rimpack is a Python CLI for building, validating, and launching RimWorld modpacks from
human-authored project files.
It treats a modpack as a normal project directory:
pack.tomlis the root manifest.mods/*.listfiles define authored mod intent.rules/contains optional activation and ordering rules.generated/contains outputs that can be regenerated.- launch state stays machine-local instead of mutating the real RimWorld install.
The repository is spec-driven. The authoritative behavior and file-format definitions live in
specs/.
Current Capabilities
Today, rimpack can:
- initialize a new modpack project with
rimpack init - inspect RimWorld mods with
rimpack load-mods - resolve Steam Workshop items with
rimpack resolve steam - copy a Workshop mod into the current pack's
local/modswithrimpack localize - subscribe and unsubscribe Workshop mods
- add mod references to a declared
.listfile withrimpack add - append ordering rules with
rimpack add-ordering-rule - validate a modpack before launch with
rimpack validate - launch a modpack through a symlinked runtime tree with
rimpack launch
Activation rule files are supported by the project format and validation pipeline, but there is not yet a dedicated CLI command to author them.
Install
The project uses Python 3.12+ and uv.
uv sync --dev
uv run rimpack --help
You can also run the console script directly after syncing:
rimpack --help
First Run
Running rimpack with no command creates a user-local config file if one does not already exist.
That config stores absolute machine-local paths such as:
- the RimWorld install directory
- the Steam Workshop content directory for app
294100
You can also provide them through environment variables:
RIMWORLD_FOLDERSTEAM_WORKSHOP_FOLDER
Quick Start
Initialize a new pack:
uv run rimpack init .\MyPack
Add a Workshop mod to the @libraries list:
uv run rimpack add @libraries steam:2009463077
Copy a Workshop mod into the current pack's local/mods directory:
uv run rimpack localize steam:2009463077
Validate the pack:
uv run rimpack validate
Leave temporarily resolved Workshop mods subscribed after validation:
uv run rimpack validate --no-clean
Launch it:
uv run rimpack launch
Documentation
Browsable project documentation lives in docs/:
A GitHub Actions workflow publishes those docs to GitHub Pages on pushes to main.
Development
The expected local checks are:
uv run ruff check .
uv run basedpyright
uv run pytest
Metadata
Release files for rimpack 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rimpack-0.2.3.tar.gz | 103.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rimpack-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 154.8 kB
Release files / rimpack-0.2.3.tar.gz
| Download URL | rimpack-0.2.3.tar.gz |
|---|---|
| Size | 103.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d02ab2514dd9e7e5086a9f764a1976aa4730d5344b10fb29da83b0ba32ae889
|
|
BLAKE2b-256 checksum How to use checksums |
2c0cf9ea2024959f38261934511dcbf1fc5a1c6db00d17b2d7395f121a5e3fbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|
Release files / rimpack-0.2.3-py3-none-any.whl
| Download URL | rimpack-0.2.3-py3-none-any.whl |
|---|---|
| Size | 51.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a80a2e7042c1121d16a3f60b8a87cbafb4571564de5f2df9ec8bdb57bc0155e
|
|
BLAKE2b-256 checksum How to use checksums |
80e47d58d86fe7a5318c6d7a45baae914e479a7e4acb50468ac7bd6c07ff80b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|