Thanks for your interest in contributing. This document covers the basics.
-
Clone the repo:
git clone https://github.com/openconductorhq/openconductor.git cd openconductor -
Requirements:
- Go 1.24+
- golangci-lint (for
make lint) - At least one AI coding agent for end-to-end testing
-
Build and test:
make build # compile make test # run tests with race detector make lint # run linter make check # all of the above
- Fork the repo and create a branch from
master. - Make your changes. Add or update tests for any new behavior.
- Ensure all source files have the SPDX license header:
// SPDX-License-Identifier: MIT // Copyright (c) 2025 The OpenConductor Authors.
- Run
make checkto verify everything passes. - Open a pull request against
master.
Use short, descriptive commit messages. Prefix with a type when it makes sense:
feat:new featurefix:bug fixdocs:documentation onlytest:test additions or fixesrefactor:code changes that don't fix bugs or add featuresci:CI/CD changesdeps:dependency updates
- Follow standard Go conventions (
gofmt,go vet). - Keep packages focused. New functionality usually belongs in a new package
under
internal/. - Prefer table-driven tests.
- Avoid global state; pass dependencies explicitly.
Use the bug report template.
Include logs from ~/.openconductor/openconductor.log (run with --debug).
Use the feature request template. Describe the problem before proposing a solution.
By contributing, you agree that your contributions will be licensed under the MIT License.