Agent-friendly CLI for managing Prism Launcher instances.
prismctl is a thin automation layer on top of Prism Launcher. It understands Prism's on-disk instance format, uses Prism metadata, talks to Modrinth, and delegates actual game launching back to prismlauncher.
Implemented and tested locally against a real Prism installation.
- instance listing / inspect / create / clone / rename / delete / validate
- Fabric loader inspect / set / clear / version listing
- Modrinth mod search / add / remove / update / list
- account list / inspect / use / refresh
- account login handoff to Prism GUI
- launch / launch status / log reading
- component resolution
- Prism metadata sync
- pack import handoff to Prism
- pack export as a Prism instance archive zip
- loader management is currently Fabric-only
pack export --format modrinthcurrently creates a Prism instance archive zip, not a canonical.mrpackmanifest export yetaccount login microsoftopens Prism so the user can complete the Microsoft auth flow in the GUI- launch status is heuristic process inspection, not a Prism RPC API
From the repo root:
python -m pip install -e .Then:
prismctl --helpList instances:
prismctl instance list --jsonCreate a Fabric instance:
prismctl instance create \
--id minecraft-1.21.11-jsmacrosce \
--mc-version 1.21.11 \
--loader fabric \
--loader-version 0.18.5Add a mod from Modrinth:
prismctl mod add minecraft-1.21.11-jsmacrosce modrinth:jsmacrosceValidate an instance:
prismctl instance validate minecraft-1.21.11-jsmacrosce --jsonLaunch through Prism:
prismctl launch minecraft-1.21.11-jsmacrosceInspect running status:
prismctl launch status minecraft-1.21.11-jsmacrosce --jsonPrism Launcher already has useful command-line flags for launching and importing, but many important workflows are still GUI-oriented. prismctl is intended to be a practical machine-facing control layer rather than a replacement for Prism itself.
See SPEC.md.