Contributing
We welcome patches and contributions to this project.
Learn and Connect
Section titled “Learn and Connect”If you’d like to get involved in the AEP community, we’d love to have you! The following channels of communication are available:
- The #aep channel in the CNCF Slack. Sign up at https://slack.cncf.io.
- We hold a weekly project meeting on Fridays. See the AEP Google Calendar, to view any upcoming meetings for details. Options for other times, such as more EU-friendly meetings, can also be arranged.
Editing AEP Rules
Section titled “Editing AEP Rules”If you spot a minor issue that seems to be a mistake, such as a typo, please make an PR with a fix.
For any substantive change or new rule proposal, it is best to search the discussions for similar topics before opening a new one. Lighter weight discussions also happen in #aep channel in the CNCF Slack is another place or in our weekly Friday calls for quick validation of the concept.
Once there is a clear point of view articulated and some amount of support gathered, the next step would be to open a PR to reference the discussion and describe the work to be done. Any subsequent pull request should then reference the issue and will enter the queue for review.
Development Environment
Section titled “Development Environment”If you are contributing AEP content (rather than code) and want to be able to
view it in your browser, the easiest way to do so is to run
./scripts/serve.sh to:
- clone the site-generator project repository
- run the appropriate npm commands
- begin the dev server at port 4321
Updating examples
Section titled “Updating examples”The example files are code-generated by aepc and copied into this repository.
Specifically, the following files are copied over:
| aeps file | aepc file |
|---|---|
| ./aep/general/example.oas.yaml | example/bookstore/v1/bookstore_openapi.json |
| ./aep/general/example.proto | example/bookstore/v1/bookstore.proto |
Formatting
Section titled “Formatting”This repository uses prettier and a bespoke script scripts/fix.py. Please check the lint.yaml for the specific file.
Run the following to format the repository:
# nodejs and python3 must be installed.make lint