RLPlugins architecture
This page is the public source of truth for how the launcher, the RuneLite manager plugin, the backend release control, and the Kraken runtime fit together.
Stable remains the default channel and the safe choice for normal users.
Kraken runtime updates are published separately from the RuneLite release pipeline.
Kraken becomes the shared runtime and the canonical API surface for docs and MCP.
The MCP server should search the Kraken docs first, then help blueprint the plugin work.
Keep the moving parts separate.
Each layer has one job. That keeps the product easier to reason about and easier to test when the runtime changes.
Stable-only boot flow
The launcher always resolves stable metadata and carries the stable session snapshot into the child JVM and session bootstrap.
Manifest-first plugin loading
The RuneLite manager plugin reads the launcher session snapshot, requests the signed stable manifest, and keeps the managed plugin set isolated from manual runtime work.
Signed release control
The backend signs manifests, publishes the stable RuneLite bundle automatically, and keeps rollback paths available for launcher, client, manager, and runtime releases.
Kraken-backed shared runtime
The shared runtime is moving from the Ethan/PacketUtils bundle to Kraken-backed support code. The packaging changes, but the runtime-first contract stays the same.
Stable
This is the only public lane. It is what users get by default.
Internal alias
The backend can keep a compatibility alias behind the scenes while the public UI stays stable-only.
Manual Kraken
Kraken runtime releases stay separate from the RuneLite client pipeline and are published only when intentionally approved.
Kraken docs and MCP are the two references the team should use first.
If the code or the design disagrees with the docs, the docs win until the runtime has been deliberately changed.
Read the canonical shared-runtime API surface before writing or reviewing plugin code.
Use the AI docs endpoint when you want a model to search the Kraken docs, blueprint a plugin, or scaffold starter code.
The rollout stays smooth when each lane does one job.
That means stable is the public lane, the shared runtime is separate, and Kraken updates happen only when intentionally approved.
