Add your description here
Project description
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rimpack-0.2.1.tar.gz.
File metadata
- Download URL: rimpack-0.2.1.tar.gz
- Upload date:
- Size: 102.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc0343fc8c1fcf1a8c053a7ba8ab2b08ead2e6cf08f6163ce3522db42d7d1115
|
|
| MD5 |
9fdaee9ab2362fbf90438dc2176e914a
|
|
| BLAKE2b-256 |
62901f95680007678c649d030a4d3020fd29baa2d3a6b3ed271498849c24099b
|
File details
Details for the file rimpack-0.2.1-py3-none-any.whl.
File metadata
- Download URL: rimpack-0.2.1-py3-none-any.whl
- Upload date:
- Size: 50.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c94d8a39424e40a73289f584d05ce49902aae0c70416d099a95ae7fdd143a960
|
|
| MD5 |
e13ec46625a578a7fc061919d9833f79
|
|
| BLAKE2b-256 |
1ce76c4f68454c9c56fb2c89163e99f0c705a60165edcd81ff7fe4c86b15d5b8
|