We'd love to accept your patches and contributions to this sample. There are just a few small guidelines you need to follow.
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 Google Developers CLA 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.
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.
This project follows Google's Open Source Community Guidelines.
If you are new to contributing to open source, you can find helpful information in this contributor guide.
You may follow these steps to contribute:
- Fork the official repository. This will create a copy of the official repository in your own account.
- Sync the branches. This will ensure that your copy of the repository is up-to-date with the latest changes from the official repository.
- Work on your forked repository's feature branch. This is where you will make your changes to the code.
- Commit your updates on your forked repository's feature branch. This will save your changes to your copy of the repository.
- Submit a pull request to the official repository's main branch. This will request that your changes be merged into the official repository.
- Resolve any linting errors. This will ensure that your changes are formatted correctly.
- For errors generated by check-spelling, go to the Job Summary to read the errors.
- Fix any spelling errors that are found.
- Forbidden Patterns are defined as regular expressions, you can copy/paste them into many IDEs to find the instances. Example for Visual Studio Code.
- Add false positives to
.github/actions/spelling/allow.txt
. Be sure to check that it's actually spelled correctly!
- For errors generated by check-spelling, go to the Job Summary to read the errors.
Here are some additional things to keep in mind during the process:
- Read the Google's Open Source Community Guidelines. The contribution guidelines will provide you with more information about the project and how to contribute.
- Test your changes. Before you submit a pull request, make sure that your changes work as expected.
- Be patient. It may take some time for your pull request to be reviewed and merged.
If you're a Google employee, as a requirement, please follow the steps outlined in the Google Cloud Platform Generative AI repository's contributing guide for processes and requirements.
To ensure code quality, we utilize automated checks. Before submitting a pull request, please run the following commands locally:
make install
This installs development dependencies, including linting tools.
Then, execute the following Make command:
make lint
This command runs the following linters to check for code style, potential errors, and type hints:
- codespell: Detects common spelling mistakes in code and documentation.
- ruff: A fast Python linter and formatter, it checks for errors, coding standards, and enforces style consistency.
- mypy: Performs static type checking to catch type errors before runtime.
make test
This command runs the test suite using pytest, covering both unit and integration tests:
Your pull request will also be automatically checked by these tools using GitHub Actions. Ensuring your code passes these checks locally will help expedite the review process.