Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

prismctl

Agent-friendly CLI for managing Prism Launcher instances.

What it does

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.

Status

Implemented and tested locally against a real Prism installation.

Implemented

  • 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

Current limitations

  • loader management is currently Fabric-only
  • pack export --format modrinth currently creates a Prism instance archive zip, not a canonical .mrpack manifest export yet
  • account login microsoft opens Prism so the user can complete the Microsoft auth flow in the GUI
  • launch status is heuristic process inspection, not a Prism RPC API

Install

From the repo root:

python -m pip install -e .

Then:

prismctl --help

Examples

List instances:

prismctl instance list --json

Create a Fabric instance:

prismctl instance create \
  --id minecraft-1.21.11-jsmacrosce \
  --mc-version 1.21.11 \
  --loader fabric \
  --loader-version 0.18.5

Add a mod from Modrinth:

prismctl mod add minecraft-1.21.11-jsmacrosce modrinth:jsmacrosce

Validate an instance:

prismctl instance validate minecraft-1.21.11-jsmacrosce --json

Launch through Prism:

prismctl launch minecraft-1.21.11-jsmacrosce

Inspect running status:

prismctl launch status minecraft-1.21.11-jsmacrosce --json

Why

Prism 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.

Spec

See SPEC.md.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages