### Install Pre-commit Hooks Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Installs pre-commit hooks using uv, required for maintaining repository standards. ```bash uvx pre-commit install ``` -------------------------------- ### Update CHANGELOG.md entry Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Example format for adding a new feature entry to the Unreleased section of the changelog. ```markdown - Added new `UserService` for managing user data. ``` -------------------------------- ### Changelog version section format Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Example structure for a versioned section in the CHANGELOG.md file. ```markdown ## [v1.0.0] - 2023-10-15 ### Added - Added new `UserService` for managing user data. ### Changed - None. ### Fixed - None. ### Removed - None. ``` -------------------------------- ### Clone the Repository Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Initial step to download the repository to a local machine. ```bash git clone https://github.com/xai-org/xai-proto.git cd xai-proto ``` -------------------------------- ### Build Proto Files Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Verifies that the proto files compile correctly without issues. ```bash buf build ``` -------------------------------- ### Run Buf Linting Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Checks all .proto files for compliance with configured linting rules. ```bash buf lint ``` -------------------------------- ### Prepare changelog update branch Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Commands to sync with main and create a new branch for updating the changelog after a release. ```bash git checkout main git pull origin main git checkout -b chore/update-changelog-v1.0.0 ``` -------------------------------- ### Format Proto Files Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Reformats all .proto files in place according to Buf standards. ```bash buf format -w ``` -------------------------------- ### Create and push a git tag Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Commands to create a semantic version tag on the main branch and push it to the remote. ```bash git checkout main git pull origin main git tag -a v1.0.0 -m "Release version 1.0.0 with new API service" ``` ```bash git push origin v1.0.0 ``` -------------------------------- ### Commit local changes Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Use these commands to stage and commit your local changes to the repository. ```bash git add . git commit -m "feat: add new service to API definition" ``` -------------------------------- ### Generate code with Buf CLI Source: https://github.com/xai-org/xai-proto/blob/main/README.md Executes code generation based on the configuration defined in buf.gen.yaml. ```bash buf generate ``` -------------------------------- ### Create a New Branch Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Creates a new branch for implementing changes. ```bash git checkout -b ``` -------------------------------- ### Commit and push changelog updates Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Commands to commit the updated changelog and push the changes to the remote repository. ```bash git add CHANGELOG.md git commit -m "chore: update changelog for v1.0.0 release" git push origin chore/update-changelog-v1.0.0 ``` -------------------------------- ### Push branch to remote Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Command to push your local branch to the remote repository. ```bash git push origin ``` -------------------------------- ### Check for Breaking Changes Source: https://github.com/xai-org/xai-proto/blob/main/CONTRIBUTING.md Detects breaking changes against a specified reference to ensure backward compatibility. ```bash buf breaking --against ``` ```bash buf breaking --against .git#branch=main ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.