Skip to content

Feature: Exporting curseforge packs via the CLI - #53

Merged
objz merged 2 commits into
objz:masterfrom
aanthoonyy:master
Oct 23, 2026
Merged

objz merged 2 commits into
objz:masterfrom
aanthoonyy:master

Conversation

@aanthoonyy

Copy link
Copy Markdown
Contributor

AI assistance: ChatGPT helped write all the code. I made sure the end result worked as expected but I'm not sure if something could be done better code wise. However I did try to give the ai some guidance to attempt to clean things up but I wouldn't say I'm confident in its solution.

Feature

Added the ability to export curseforge packs via the cli

Reason for the PR

I create mods for Minecraft content creators and one of the creators wants curse forges made for each mod. I don't like curseforge, so I wanted an easy to way create and export the curseforge packs without curseforge.

For me it seems like extending rmcl is an easy way to do that, so I did it using AI.

I'm posting a PR in case you guys think it would be a good feature that other people would like to have.

How this can/should be extended in the future

Add support for other launchers like Prism, add support for exporting in the TUI and add tests.

Workflow example

Running

./target/debug/rmcl export "test instance" \
  --version "1.0.0" \
  --output "$HOME/Downloads/test-instance-1.0.0.zip" \
  --bundle-unmatched

Gives you test-instance-1.0.0.zip which can be imported into curseforge like so
image
Which once imports you can launch it from here
image
With all your mods :)
image

Feel free to give me feedback and I will do my best to get this through PR but also feel free to take this over from me

@objz

objz commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Thanks for being transparent about the AI usage. I’ll look into it tomorrow, especially since I intend to add support for other platforms as well as an option in the TUI.

@objz

objz commented Oct 22, 2026

Copy link
Copy Markdown
Owner

I had a deeper look, and this is a useful starting point. Could you reuse the existing portable-path validation and add tests for export/import round trips and overwrite protection? Currently, files like config/bad?.json export successfully but fail to import.

I’ll handle restructuring the exporter for the other formats and TUI support, so you don’t need to expand this PR’s scope. If you’d prefer to leave the remaining fixes to me too, that’s fine.

@aanthoonyy

aanthoonyy commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

Happy to hear its helpful. I made an attempt at the fixes you suggested. I think I'll pass the baton to you if you don't mind. I don't know Rust super well and I don't want to vibe code too hard into your repo :)

@objz

objz commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Thanks, the fixes and tests look good! I’ll fix some small issues and take it from here. Appreciate the contribution!

@objz
objz merged commit 1bc7325 into objz:master Oct 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants