a minecraft modpack management tool https://packwitch.info/
  • Kotlin 97.3%
  • Shell 2.7%
Find a file
2026-03-23 14:31:00 -06:00
.idea [manager] fix connector detection on update command 2026-03-23 14:31:00 -06:00
agent de-objectify all data classes and configuration 2026-02-15 18:56:37 -07:00
art [art] smol 2026-01-09 18:16:48 -07:00
buildSrc version at compile-time 2026-02-03 20:46:50 -07:00
core [manager] fix connector detection on update command 2026-03-23 14:31:00 -06:00
gradle bump gradle ig 2026-02-22 07:56:38 -07:00
manager [manager] fix connector detection on update command 2026-03-23 14:31:00 -06:00
.gitignore egegh 2026-03-08 03:09:53 -06:00
CHANGELOG.md CHANGELOG.md 2026-03-10 02:50:18 -06:00
gradle.properties 0.2b 2026-03-08 04:04:44 -06:00
gradlew bump gradle ig 2026-02-22 07:56:38 -07:00
gradlew.bat bump gradle ig 2026-02-22 07:56:38 -07:00
license.md switch to agpl 2026-02-20 04:32:31 -07:00
PublishRelease.sh ewf 2026-03-08 04:04:04 -06:00
readme.md Update readme.md 2026-03-02 12:16:25 +01:00
settings.gradle.kts meow :3 2026-02-06 02:19:05 -07:00

Packwitch is a minecraft modpack creation, management, and distribution tool.

Create modpacks via a cli application (graphical interface is planned), the Manager; and update/maintain the modpack on the user end via a Java agent (or just run standalone!) aptly named the Agent, or your choice of Unsup or Packwiz agents respectively. So if you cant tell by now, it's heavily inspired by both.

Mirrors:
Codeberg | ForgeJo

Note

Currently under heavy development

As such, currently only the CLI Manager is being worked on, and once its finished I will work on the Agent. For now I will only be working on Packwiz/Unsup agent support.

You can see the progress in the Kanban/Issues & Milestones.


Index:


Requirements:

  • Java 21 (Manager), Java 8+ (Agent)

Installing:

note: if you are experiencing any issues in the current release, its worth trying an install based on the latest commit, it may have already been fixed!

if you package this for another linux distro or OS, be sure to open an issue and let me know so i can add it here!

Linux:
Windows/Mac/Other:

Right now you'll just have to download the latest release, unzip it, and run the corresponding file in packwitch/bin

Building:

Manager:

Run ./gradlew :manager:assembleDist

you will find the compressed release in manager/build/distributions/


Usage:

Usage: packwitch [-fhvV] [-e=<environment>] [COMMAND]
  , __             _  _                       _
 /|/  \           | |(_|   |   |_/o          | |
  |___/ __,   __  | |  |   |   |    _|_  __  | |
  |    /  |  /    |/_) |   |   |  |  |  /    |/ \
  |    \_/|_/\___/| \_/ \_/ \_/   |_/|_/\___/|   |_/


-e, --env, --environment=<environment> Path to project directory.
-f, --force     Force operation, skipping checks. WARNING: this can cause issues!
-h, --help      Show this help message and exit.
-v, --verbose   Verbose logging mode.
-V, --version   Print version information and exit.
Commands:
add, a        add a mod/file to the project
convert, c    convert the project of a given directory to packwitch
init, i       initialize the project and config.
list, ls      return a list of files in project.
pin           pin a project
unpin         unpin a project
refresh, ref  refresh the index.
release, rel  package pack for release and use with prismlauncher.
remove, rm    remove project with given slug/id
update, up    update project with given slug/id or update all projects
serve, host   serve the pack on a local server

Notable Features:

  • Sinnytra Connector detection
  • Unsup Agent support
  • TODO: finish this list lol

Contributing (?)

the project is split into 3 (4) sub-modules: manager, agent and core, buildSrc.

  • core is a shared library between agent and manager, to simplify common functions.
  • manager is the cli (gui eventually) for managing the pack.
  • agent is the planned client facing component, meant to update the pack on the user side.
  • buildSrc, which is for unifying build dependencies and scripts between the modules.

there is also art, for containing any art related to the project.

it is preferred that you have gpg key commit signing set so commits are verifyably by you, but not required. see


License:

Packwitch is licensed under the AGPLv3


Special Thanks:

  • elke, for the fantastic name, and letting me bounce ideas.
  • Exa, for creating Unsup.
  • comp500, for creating Packwiz.
  • Modrinth, for having a very usable api with good docs.
  • The Modding Community, for being so cool....

Spare change?

hi im broke, if you have a lil disposable income and like packwitch, id be grateful if you sent some snack/gas money my way!