This repository adheres to the following project policies:
- Code of Conduct - How we should act with each other.
- Contributing - General contributing standards.
- Security - Reporting security concerns.
- Support - Getting support.
We welcome contributions to this repository! To get a sense of what the team is currently focusing on, check out our milestones. Issues labeled good first issue and issues in our docs repo are great places to get started, but you are welcome to work on any issue that interests you. For issues requiring a greater degree of coordination, such as those labeled status/needs-discussion
or that are part of larger epics, please reach out in the #implementation channel in Slack.
Aside from the policies above, you may find DEVELOPMENT.md helpful in developing in this repository.
Here are some topics that might be helpful in further understanding the lifecycle:
- Cloud Native Buildpacks platform api spec
- Cloud Native Buildpacks buildpack api spec
- The Open Container Initiative (OCI) and OCI image spec
- Questions to deepen understanding:
- What are the different lifecycle phases? What is the purpose of each phase?
- What is a builder? Is it required to run the lifecycle?
- What is the untrusted builder workflow? Why do we have this flow?
- What is the launcher? Why do we have a launcher?
- What does a buildpack do? Where does it write data? How does it communicate with the lifecycle?
- What does a platform do? What things does it know about that the lifecycle does not? How does it communicate with the lifecycle?
- What is a stack? Who produces stacks? Why is the stack concept important for the lifecycle?