Files
cameradar/CONTRIBUTING.md
2026-03-02 19:57:19 +01:00

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.yaml at jobs.tests.steps.["Run linter"]
    • configured in .golangci.yml
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 flag
  • fix: remove duplicate progress line
  • docs: 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

  1. Create a feature branch from master.
  2. Keep PRs focused and small.
  3. Update documentation when behavior changes.
  4. Add or update tests when possible.
  5. Ensure make test passes.
  6. Try to bring as much test coverage as possible with your changes.
  7. Use a Conventional Commit-style PR title with an imperative subject.