Skip to the content.

Home | Getting Started | CLI Reference | Architecture | Roadmap | Contributing

Contributing

How to set up a development environment, conventions, and the pull request process.


Ways to contribute

Look for issues labeled good first issue or help wanted.


Development environment

Prerequisites

Optional:

Setup

git clone https://github.com/timkrebs/custos.git
cd custos
go mod download
make build
./bin/custos --help

Build targets

Target Purpose
make build Build the binary into ./bin/
make test Run tests with race detector
make test/cover Run tests and open HTML coverage report
make audit Run formatting, vet, staticcheck, govulncheck
make tidy Run go mod tidy, go fix, go fmt
make clean Remove build artifacts

Always run make audit before pushing. CI runs the same checks.


Coding standards


Commit messages

Use Conventional Commits as a guideline:

parser: support the `+` path glob introduced in Vault 1.16

The `+` glob matches a single path segment and is used in newer Vault
ACL policies. This change extends the matcher and adds table-driven
tests for both `*` and `+` semantics.

Fixes #42

Pull request process

  1. Fork and create a feature branch off main (feat/short-description, fix/short-description)
  2. Make small, logically scoped commits
  3. Run make audit and make test locally
  4. Update documentation when behavior changes
  5. Open a PR and fill in every section of the template
  6. Respond to review feedback with additional commits (don’t force-push during review)
  7. CI must be green before merge

License

custos is licensed under MPL-2.0. All contributions are accepted under the same license.