Warning
DeepWiki is currently stale
Important
This project is under active development and incomplete. Everything may change. Contact 4rcadia.0@gmail.com or join the QQ group to contribute or stay updated.
⭐️ Star if you like this!
Turn your server into stable, manageable, and reproducible workspaces. Manage mods and plugings with just one command. Make mass deployment of Minecraft servers faster and easier than ever before.
cd your-server
lucy init # Set up Lucy in this workspace (server)
lucy add fabric/lithium@stable # Resolve exact version + dependencies
lucy install # Sync managed scope from the lock fileWarning
We do not recommand using pre-beta versions in production environments.
go install github.com/mclucy/lucy@latest # native
brew install --HEAD mclucy/tap/lucy # homebrewmkdir my-server && cd my-server
lucy init # Take over this directory
lucy add fabric/fabric-api@stable # Add a mod — dependencies resolve automatically
lucy status # See what's detected
lucy install # Sync managed packages from the lock fileCreate manifest and lock file. Existing servers are respected.
lucy init| Flag | Description |
|---|---|
-y, --yes |
Skip prompts, accept defaults |
--game-version |
Game version for non-interactive init (default: 1.21) |
Add anything to your server.
lucy add fabric-api
lucy add fabric/lithium@stable
lucy add folia
lucy add mcdr/example-plugin@beta| Flag | Description |
|---|---|
-f, --force |
Skip version, dependency, and platform warnings |
--with-optional |
Include optional upstream dependencies |
--no-optional |
Skip optional dependencies (default) |
Remove packages from the manifest. Prunes unused transitive dependencies from the lock.
lucy remove fabric/lithiumApply the lock file to the managed runtime. Uses exact lock data when current, falls back to manifest intent when stale.
lucy installSearch across sources with filtering and sorting.
lucy search fabric/carpet
lucy search modrinth:carpet --index downloads --platform fabric| Flag | Description |
|---|---|
-i, --index |
Sort: relevance, downloads, newest |
-c, --client |
Include client-only mods |
--platform |
Filter: fabric, forge, neoforge, bukkit |
-l, --long |
Show full output |
--json |
Print raw JSON |
Display what Lucy detects in the current directory: game version, server core, platform, topology, runtime activity, risk signals, and installed packages.
lucy status
lucy status --json --longRender the detected server runtime topology as an ASCII diagram.
lucy topology
lucy topology --long
lucy topology --json| Flag | Description |
|---|---|
-l, --long |
Show role, capabilities, and risk level inside each node |
Get metadata, description, authors, and version history for a package.
lucy info fabric/fabric-api@stable --long| Flag | Description |
|---|---|
-l, --long |
Full output |
Display the dependency tree.
lucy tree --live --depth 2| Flag | Description |
|---|---|
--live |
Probe running server instead of lock file |
--depth |
Limit depth (0 = unlimited) |
--json |
Raw JSON |
List packages with no dependents. Use this to find what's safe to remove.
lucy leaves --live| Flag | Description |
|---|---|
--live |
Probe running server instead of lock file |
--json |
Raw JSON |
lucy cache ls # List cached downloads
lucy cache clear # Clear all cached downloads
lucy cache slugs ls # List slug-to-package-ID mappings
lucy cache slugs clear # Clear slug mappings| Subcommand | Flags |
|---|---|
ls, list |
--json |
clear, rm |
|
slugs ls |
--json |
slugs clear |
lucy bisect start # Start a binary-search session
lucy bisect good # Mark current midpoint as good (bad mod is in right half)
lucy bisect bad # Mark current midpoint as bad (bad mod is in left half)
lucy bisect status # Show the active bisect session
lucy bisect reset # Abort the session and re-enable modsRegistered but not yet implemented:
| Command | Planned |
|---|---|
doctor |
Diagnose server environment risks |
export |
Export config or generate client |
upgrade |
Upgrade installed packages |
| Flag | Description |
|---|---|
--debug |
Show debug logs |
--log-file |
Print path to logfile |
--print-logs |
Print logs to console |
--no-style |
Disable colored output |
[platform/]name[@version]
Only the name is required. Omit the platform and Lucy infers it from the environment. Omit the version to get @any (latest compatible version, any stability).
fabric/fabric-api@1.2.3
↑ ↑ ↑
platform name version
@any is the default and selects the latest compatible version regardless of release type. @stable selects the latest compatible release only. @beta allows compatible pre-releases.
Platforms accepted in the manifest: none, fabric, forge, neoforge, mcdr
The type system also knows bukkit, sponge, velocity, and bungeecord for topology detection, but you can't set these as the primary platform yet.
Data sources: modrinth, curseforge, github, mcdr (hangar and spiget are defined but not yet wired into the resolver).
Intent and config live in lucy.yaml. Resolved facts (versions, hashes, install paths, provenance) live in lucy-lock.yaml.
Lucy builds a graph of your server's runtime. Each node (Fabric, Forge, Paper, MCDR, Geyser, Velocity) carries a role, a set of capabilities (fabric_mods, bukkit_plugins, mcdr_plugins), and a risk level. Edges describe how nodes relate: one adapts another, one bridges to another. This graph powers lucy status, init discovery, and compatibility resolution.
Note
Logo and axolotl pixel art are copyright Mojang AB. Original replacements in progress.
