Thank you for your interest in contributing to Launchrail! We welcome contributions from the community to help make this project better.
-
Fork the repository and clone your fork locally:
git clone https://github.com/bxrne/launchrail.git cd launchrail -
Create a new branch for your feature or bugfix:
git checkout -b my-feature-branch
-
Install dependencies and ensure the project builds:
go build ./...
-
Write tests for your changes and run them:
go test ./... -v -
Lint your code before submitting:
golangci-lint run ./...
-
Use Conventional Commits with Commitizen for all commits:
cz commit
- This project uses Commitizen and Conventional Commits to automate semantic versioning (see
.cz.toml). - Install Commitizen:
pip install commitizenornpm install -g commitizen
- This project uses Commitizen and Conventional Commits to automate semantic versioning (see
-
Push your branch and open a Pull Request (PR) against
main.- Fill out the PR template and describe your changes clearly.
- Reference any related issues in your PR description.
- Follow Go best practices and idiomatic Go style.
- Keep cognitive complexity low; prefer readable, maintainable code.
- Write clear comments and documentation for public APIs.
- All code must pass tests and linting before review.
- If your change affects Docker or CI, ensure the Docker build passes:
DOCKER_BUILDKIT=1 docker build -t launchrail:latest . - The project publishes images to GitHub Container Registry (GHCR).
Thank you for helping make Launchrail awesome!