1.8 KiB
1.8 KiB
Contributing
Thanks for helping improve Cameradar. Please keep changes focused and aligned with the project goals.
Development setup
- Go 1.25 or later
- Docker (optional, for container testing)
Clone the repo and install dependencies using Go modules.
go mod download
Run tests
make test
Formatting and linting
Keep code idiomatic and consistent with existing style. By default, follow the Uber Go Style Guide and the guidelines from Effective Go.
make fmt
Dependency for linting
- golangci-lint
- see current version defined in
.github/workflows/test.yamlatjobs.tests.steps.["Run linter"] - configured in
.golangci.yml
- see current version defined in
make lint
Commit messages and PR titles
Use Conventional Commits for commit messages and pull request titles.
- Use the format:
type: subject - Write the subject in imperative mood:
add,update,remove,fix,refactor - Do not use gerunds in subjects: avoid
adding,updating,removing
Examples:
feat: add RTSP timeout flagfix: remove duplicate progress linedocs: update commit message guidelines
Reporting issues
Use the issue template in .github/ISSUE_TEMPLATE.md. Include the version, environment, and repro steps. Only scan authorized targets.
Pull requests
- Create a feature branch from
master. - Keep PRs focused and small.
- Update documentation when behavior changes.
- Add or update tests when possible.
- Ensure
make testpasses. - Try to bring as much test coverage as possible with your changes.
- Use a Conventional Commit-style PR title with an imperative subject.