Polymerium
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:

  1. Create a new instance in Polymerium (e.g. "our-pack", Fabric 1.21.4).
  2. Add the initial mod list and configure everything.
  3. Initialize Git in the instance directory:
cd instances/our-pack
git init
  1. Create .gitignore:
build/
live/
persist/
data.lock.json
  1. Commit:
git add profile.json import/ icon.png README.md CHANGELOG.md LICENSE.txt
git commit -m "Initial modpack setup"
  1. Push to GitHub/GitLab:
git remote add origin git@github.com:yourname/our-pack.git
git push -u origin main

Step 2: Clone (For Collaborators)

Each collaborator:

  1. Clone the repo into their Polymerium instances/ directory:
cd ~/.trident/instances/  # or Windows equivalent
git clone git@github.com:yourname/our-pack.git
  1. Open Polymerium — the instance appears in the sidebar.
  2. Deploy to build the game directory.
  3. Play and iterate.

Step 3: Iteration Workflow

For each change cycle:

Adding / Removing Mods

  1. Make changes in Polymerium's Setup tab.
  2. profile.json is updated automatically.
  3. Commit:
cd instances/our-pack
git add profile.json
git commit -m "Add Create mod and dependencies"
git push

Tuning Configs

  1. Launch the game and tweak settings in-game.
  2. Changes land in live/ (untracked).
  3. Open the Workspace tab to review diffs.
  4. Sync desired changes from live/import/.
  5. Commit:
git add import/
git commit -m "Tweak performance configs for lower-end hardware"
git push

Syncing with Others

git pull
# Redeploy in Polymerium to pick up changes

Important: Close Polymerium before git pull to avoid conflicts with the file watcher. Reopen after pulling, then redeploy.

Step 4: Resolve Conflicts

If two people edit profile.json simultaneously:

  1. git pull — Git will flag the conflict.
  2. Open profile.json and resolve manually. The format is JSON — look for the conflicting package entries.
  3. Reopen Polymerium, verify the mod list looks correct.
  4. Commit the resolution.

Step 5: Publish a Release

When you're ready to share the modpack publicly:

  1. Tag the release:
git tag -a v1.0.0 -m "First public release"
git push origin v1.0.0
  1. 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)
  2. 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/ or persist/ — these are personal and machine-specific.
  • Use the workspace for promoting live/ changes to import/ — it shows exactly what changed.
  • Keep a CHANGELOG.md in the instance directory — update it with each release.

On this page