Contributing

July 23, 2026 ยท View on GitHub

If you would like to contribute to this project you can do so through GitHub by forking the repository and sending a pull request. Please make note of the following:

  • If you are a new contributor see: Steps to Contribute

  • If you have a trivial fix or improvement, go ahead and create a pull request and the Maintainers will review it.

  • If you plan to do something more involved, first discuss your ideas on our slack channel, #trickster, on the CNCF Slack Instance. This will avoid unnecessary work and surely give you and us a good deal of inspiration.

  • Relevant coding style guidelines are the Go Code Review Comments and the Formatting and style section of Peter Bourgon's Go: Best Practices for Production Environments.

  • Before your contribution can be accepted, you must sign off your commits to signify acceptance of the DCO.

Use of AI-Assisted Development Tools

This project permits the use of AI-assisted tools to author code and other contributions, provided the following requirements are met:

  • Disclosure: Contributors must clearly disclose the use of AI-assisted tools in the Pull Request description.

  • Human Submission: All contributions, regardless of their origin, must be submitted as a Pull Request by a human contributor.

    • Automated bots with explicit permission to aid in project maintenance (e.g., Dependabot, GitHub Copilot) are excepted
  • Sign-off Affirmation: By signing off on the contribution, the submitter affirms that they:

    • have fully reviewed and understand the impact of all changes in the contribution, including any that are generated by AI or other automated tooling
    • take responsibility for the contribution
    • can defend the contribution under reasonable technical scrutiny
  • Maintainer Review: AI-generated contributions, whether disclosed or suspected, may be subject to additional scrutiny by Maintainers to ensure compliance with these requirements. Maintainers reserve the right to reject any contribution deemed to be out of compliance with these requirements, regardless of its technical merit.

  • AI Slop/Spam: Spamming the project with multiple AI-generated PRs without adherence to these requirements will result in the contributor's GitHub account being blocked from making further contributions.

Reporting Feature Requests, Bugs, Vulnerabilities and other Issues

If you find a bug in Trickster, please file a detailed report as an Issue. We currently do not utilize an Issue template, but please be as thorough as possible in your report. There is no such thing as too much information.

Likewise, if you have a Feature Request, please file a detailed Issue, explaining the feature's functionality and use cases. Features should be useful to the broader community, so be sure to consider that before filing.

If you find a security vulnerability in Trickster, please follow the instructions in SECURITY.MD.

Steps to Contribute

Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on it. This is to prevent duplicated efforts from contributors on the same issue.

If you have questions about one of the issues, please comment on them and one of the maintainers will clarify it. For a quicker response, contact us on the #trickster slack channel.

For quickly compiling and testing your changes do:

# For building
make build

# For testing.
make lint test data-race-test

We offer a Docker Compose to help bootstrap your developer environment. See the Developer Environment Documentation

Pull Request Checklist

  • Branch from the main branch and, if needed, rebase to the current main branch before submitting your pull request. If it doesn't merge cleanly with main you may be asked to rebase your changes.

  • Commits should be as small as possible, while ensuring that each commit is correct independently (i.e., each commit should compile and pass tests).

  • If your patch is not getting reviewed or you need a specific person to review it, you can @-reply a reviewer asking for a review in the pull request or a comment, or you can ask for a review on slack channel #trickster.

  • All new code must include accompanying unit tests for as near to 100% coverage as possible. Our coverage rate for the project is approximately 90%, so all contributions should attain that level or higher. We may ask you to commit additional tests as required to ensure coverage is maintained before we merge the PR.