- We welcome any Pull Requests that help the Apigee community. Our focus is:
- reference code that can be used by others to solve a specific problem
- labs that are intended to teach others about specific features
- tools that automate a specific task or improve productivity
- Projects must not exclusively support products managed via Apigee Edge Management APIs (api.enterprise.apigee.com) but can optionally support these platforms
- Projects accepted to this repository should be considered a recommendable best practice by the field engineers, customers, community and product management
- Projects should be small and simple
- Projects should not duplicate an existing implementation within the Apigee GitHub org. We should be building on top of previous ideas, rather than branching out and duplicate aspects of it
- For very large pull requests (e.g. rewrite of a large portion or entire project), please first propose changes via a new GitHub issue and discuss with the community before raising the PR.
- We follow the Google Open Source Community Guidelines
- We pride ourselves on the high quality of this repository. Therefore we ask
each contribution to have accompanying tests with thorough coverage to help
meet this goal (see
PIPELINES.md
).
- Fork the repository and make your contribution - please don't make changes to multiple projects in the same Pull Request!
- Ensure that your project has a
pipeline.sh
in the root of your project - see here for more - Put the Apache 2.0 license header in your source files (you might automate this!)
- New projects, need a line in the CODEOWNERS file to declare ownership
- Create a Pull Request with a description of your contribution
- At this stage, CI will run the below Pull Request Checks and we will do code reviews
- Once any issues found are resolved, your change will be merged!
- Linter Mega Linter
- Apache 2.0 License checks
- All projects are listed in CODEOWNERS and README
- Contributor License Agreement
- In Solidarity
- Pipelines
- Commit messages follow Conventional Commits standards to tell the release automation which SemVer version increase is intended.