Contributing
Contributions, bug reports, and feature requests are welcome. This guide covers how to build, test, and work on Minecart locally.
Development setup
To build and test Minecart locally, you will need:
- Go (version specified in
go.mod, currently Go 1.27) - Java (any recent JRE/JDK if you want to run a Minecraft server process locally)
- Node.js 22+ (required for building or previewing the VitePress documentation)
Clone the repository and fetch the Go module dependencies:
git clone https://github.com/harrisonablack/minecart.git
cd minecart
go mod downloadBuild and test
Use the standard Go toolchain to run tests, format code, and build the binary:
# Run all unit tests
go test ./...
# Format source files (enforced by CI)
gofmt -w .
# Compile the minecart binary
go build -o minecart ./cmd/minecartCI also runs golangci-lint. If you have it installed locally, run golangci-lint run before opening a pull request.
Pull Request titles
Pull request titles are checked by CI and must follow the Conventional Commits specification (for example, feat: add curseforge provider or fix: handle empty properties file).
Contributing to the docs
The documentation lives in docs/ and is built with VitePress.
To run the local development server with hot reload:
npm install
npm run docs:devTo test the production documentation build:
npm run docs:build