Thank you for considering contributing to GitLab Sync! We welcome contributions from the community. Here are some guidelines to help you get started.
Before contributing, please ensure you have the following prerequisites:
- Clone the repository:
git clone https://github.com/boxboxjason/gitlab-sync.git - Install Go (see go.mod for the required version).
- Install Make (if not already installed).
- Install golangci-lint and gosec for static analysis and security checks.
- Install gotestsum to format test results.
- Optional: Install dependency-check for dependency vulnerability checks.
- Optional: Install Docker or Podman for building the Docker image.
- Create a new branch for your changes:
git checkout -b feature/my-feature - Make your changes and ensure they are well-tested.
- Run the tests to ensure everything is working correctly:
make test - Run the linter to check for code quality:
make lint - Run security checks to ensure there are no vulnerabilities:
make dependency-check - Submit a pull request with a clear description of your changes and why they are needed.
We follow the standard Go code style. Please ensure your code adheres to the following:
- Use
gofmtto format your code. - Use meaningful variable and function names.
- Write clear and concise comments where necessary.
- Ensure your code is well-tested with unit tests.
- Avoid unnecessary complexity; keep your code simple and readable.
- Use
golangci-lintto check for common issues and code smells. - Use
gosecto check for security issues in your code. - Use
gotestsumto format test results for better readability. - Use
dependency-checkto check for known vulnerabilities in your dependencies.