Skip to content

Latest commit

 

History

History
64 lines (50 loc) · 2.75 KB

CONTRIBUTING.md

File metadata and controls

64 lines (50 loc) · 2.75 KB

Contributing to GenC

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.

Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.

Community Guidelines

This project follows Google's Open Source Community Guidelines.

Code placement

While the code is evolving and the structure of the repo may change, here are a handful of example pointers for common scenarios and general orientation:

  • If you'd like to provide a runtime setup for a new environment, please read the section about extensibility APIs in api.md, and the included tutorials, and review the example setups we provided for use with the tutorials/examples included in this repo.

  • If you'd like to add support for a new backend, custom operator, etc., please likewise read the section about extensibility APIs in api.md, and the tutorials, and review some of the examples of existing operators as well as the supporting backend interop code. Also note that many simpler uses can be supported by defining a custom function (as shown in the tutorials).

  • If you'd like to add support for a new frontend SDK, or expand support for an existing one (like LangChain), please read the section on authoring in api.md and the documentation on architecture and intermediate representation, and review the existing examples (e.g., the existing LangChain interop code) to see how we use the native authoring surface under the hood.

If the type of contribution you're interested in isn't listed above, or if you have any questions or suggestions, please contact us! See also README.md for the general instructions and pointers to the key docs.