pakker/docs/README.md
NotAShelf be3dc4689a
docs: detail basic behaviour; cleanup wording
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I31709798494a3180074f3a0ff81141766a6a6964
2026-05-03 13:06:13 +03:00

53 lines
1.9 KiB
Markdown

# Pakker
Fast, reliable multiplatform modpack manager for Minecraft, written in Rust.
Pakker manages Minecraft modpacks across CurseForge, Modrinth, and GitHub. It
handles project resolution, dependency linking, lockfile updates, exports, and
remote modpack workflows from a single CLI.
## Core Features
- Create and import modpacks
- Add, remove, update, and inspect projects
- Resolve dependencies across supported platforms with automatic cross-platform
project merging
- Manage pack configuration and per-project overrides
- Export CurseForge, Modrinth, and serverpack layouts
### New in Pakker
- Work with forked packs and remote repositories
- Interactively set, configure, and test API credentials
## Quick Start
1. Run `pakker init` to create a new modpack.
2. Use `pakker add` or `pakker add-prj` to add projects.
3. Run `pakker export` when you want distributable output.
## How It Works
Pakker maintains two files in your modpack directory:
- `pakker.json`: pack metadata, paths, overrides, and per-project settings
- `pakku-lock.json`: resolved project state with platform IDs, file URLs, and
dependency links
When you add a project, Pakker queries the supported platforms, merges results
into a single project record with cross-platform identifiers, resolves
dependencies recursively, and updates the lockfile. The resolver detects
circular dependencies and links related projects via `pakku_links`.
## Acknowledgments
[Pakku]: https://github.com/juraj-hrivnak/Pakku
Pakker is _greatly_ inspired by [Pakku], and commits to bringing similar
functionality with improved performance and additional features through a Rust
implementation. Pakku is by no means a bad project, but I found it difficult to
work with the Kotlin code.
[teksturepako]: https://github.com/juraj-hrivnak
Many thanks to [teksturepako] for Pakku, as well as his infinite patience, code
reviews and suggestions to bring Pakker to its current state.