Guides
Collaborate on a Modpack with Git
Set up a Git-based workflow for co-developing a modpack with multiple contributors.
Last updated on
Overview
This guide shows you how to set up a shared modpack repository where multiple people can collaborate on instance configuration, mod selection, and config tuning using Git.
Step 1: Initialize the Repository
One person creates the modpack:
- Create a new instance in Polymerium (e.g. "our-pack", Fabric 1.21.4).
- Add the initial mod list and configure everything.
- Initialize Git in the instance directory:
cd instances/our-pack
git init- Create
.gitignore:
build/
live/
persist/
data.lock.json- Commit:
git add profile.json import/ icon.png README.md CHANGELOG.md LICENSE.txt
git commit -m "Initial modpack setup"- Push to GitHub/GitLab:
git remote add origin git@github.com:yourname/our-pack.git
git push -u origin mainStep 2: Clone (For Collaborators)
Each collaborator:
- Clone the repo into their Polymerium
instances/directory:
cd ~/.trident/instances/ # or Windows equivalent
git clone git@github.com:yourname/our-pack.git- Open Polymerium — the instance appears in the sidebar.
- Deploy to build the game directory.
- Play and iterate.
Step 3: Iteration Workflow
For each change cycle:
Adding / Removing Mods
- Make changes in Polymerium's Setup tab.
profile.jsonis updated automatically.- Commit:
cd instances/our-pack
git add profile.json
git commit -m "Add Create mod and dependencies"
git pushTuning Configs
- Launch the game and tweak settings in-game.
- Changes land in
live/(untracked). - Open the Workspace tab to review diffs.
- Sync desired changes from
live/→import/. - Commit:
git add import/
git commit -m "Tweak performance configs for lower-end hardware"
git pushSyncing with Others
git pull
# Redeploy in Polymerium to pick up changesImportant: Close Polymerium before
git pullto avoid conflicts with the file watcher. Reopen after pulling, then redeploy.
Step 4: Resolve Conflicts
If two people edit profile.json simultaneously:
git pull— Git will flag the conflict.- Open
profile.jsonand resolve manually. The format is JSON — look for the conflicting package entries. - Reopen Polymerium, verify the mod list looks correct.
- Commit the resolution.
Step 5: Publish a Release
When you're ready to share the modpack publicly:
- Tag the release:
git tag -a v1.0.0 -m "First public release"
git push origin v1.0.0-
In Polymerium, export the instance:
- Export → Modrinth format (for Modrinth publishing)
- Export → CurseForge format (for CurseForge publishing)
- Export → Trident format (for Polymerium-to-Polymerium sharing)
-
Upload the exported file to your platform of choice.
Tips
- Use branches for experiments —
git checkout -b experiment/new-mod, test, merge or discard. - Don't track
live/orpersist/— these are personal and machine-specific. - Use the workspace for promoting
live/changes toimport/— it shows exactly what changed. - Keep a
CHANGELOG.mdin the instance directory — update it with each release.