Timoni is Apache 2.0 licensed and
accepts contributions via GitHub pull requests. This document outlines
some of the conventions on to make it easier to get your contribution
accepted.
We gratefully welcome improvements to issues and documentation as well as to
code.
Certificate of Origin
By contributing to this project you agree to the Developer Certificate of
Origin (DCO). This document was created by the Linux Kernel community and is a
simple statement that you, as a contributor, have the legal right to make the
contribution.
How to run the test suite
Prerequisites:
- go >= 1.21
- cue >= 0.6
- make >= 4.4
Run the test suite with:
make
Run manual tests using the locally built binary:
./bin/timoni <command>
How to render the docs locally
Prerequisites can be found and installed from ./hack/mkdocs/requirements.txt
:
python -m venv venv && source venv/bin/activate
pip install -r hack/mkdocs/requirements.txt
The docs can then be built and served locally with:
mkdocs serve
By default, MKDocs will be served at http://127.0.0.1:8000
Acceptance policy
These things will make a PR more likely to be accepted:
- a well-described requirement
- tests for new code
- tests for old code!
- new code and tests follow the conventions in old code and tests
- a good commit message (see below)
- all code must abide Go Code Review Comments
- names should abide What’s in a name
- code must build on Linux, macOS and Windows via plain
go build
- code should have appropriate test coverage and tests should be written
to work with go test
In general, we will merge a PR once one maintainer has endorsed it.
For substantial changes, more people may become involved, and you might
get asked to resubmit the PR or divide the changes into more than one PR.
Format of the Commit Message
For this project we prefer the following rules for good commit messages:
The following article
has some more helpful advice on documenting your work.