{"id":29142379,"url":"https://github.com/bufbuild/buf-plugin-protovalidate-strict","last_synced_at":"2026-04-03T08:32:54.457Z","repository":{"id":301790606,"uuid":"1008601425","full_name":"bufbuild/buf-plugin-protovalidate-strict","owner":"bufbuild","description":"A Buf check plugin for strictly enforcing Protovalidate annotations.","archived":false,"fork":false,"pushed_at":"2025-06-28T20:20:42.000Z","size":22,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-10T08:20:28.138Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bufbuild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-25T19:55:43.000Z","updated_at":"2025-07-17T13:33:54.000Z","dependencies_parsed_at":"2025-06-28T21:26:28.142Z","dependency_job_id":"30444308-3362-42e8-a73c-9ac8126f39f1","html_url":"https://github.com/bufbuild/buf-plugin-protovalidate-strict","commit_stats":null,"previous_names":["bufbuild/buf-plugin-protovalidate-strict"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bufbuild/buf-plugin-protovalidate-strict","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bufbuild%2Fbuf-plugin-protovalidate-strict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bufbuild%2Fbuf-plugin-protovalidate-strict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bufbuild%2Fbuf-plugin-protovalidate-strict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bufbuild%2Fbuf-plugin-protovalidate-strict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bufbuild","download_url":"https://codeload.github.com/bufbuild/buf-plugin-protovalidate-strict/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bufbuild%2Fbuf-plugin-protovalidate-strict/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274675175,"owners_count":25328995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-30T19:37:27.277Z","updated_at":"2026-04-03T08:32:54.400Z","avatar_url":"https://github.com/bufbuild.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# buf-plugin-protovalidate-strict\n\nAn experimental [Buf check plugin](https://buf.build/docs/cli/buf-plugins) for [Protovalidate](https://buf.build/docs/protovalidate) that enforces:\n\n- Protovalidate annotations are not added to existing fields and messages without Protovalidate annotations.\n- Existing Protovalidate annotations are never modified or removed.\n- New fields on existing messages do not get added with [`required`](https://buf.build/docs/reference/protovalidate/rules/field_rules/#required).\n\nThis plugin only allows Protovalidate annotations to be added to new fields.\n\nThis guarantees safety in Protovalidate annotation evolution via the strictest means possible. Generally, this level of strictness is not required and is not even desirable.\n\nThe single rule `PROTOVALIDATE_STRICT` must be added to `buf.yaml` to enable this check:\n\n```\nversion: v2\nbreaking:\n  use:\n    - FILE # Or whatever your existing rules are\n    - PROTOVALIDATE_STRICT\nplugins:\n  - plugin: buf-plugin-protovalidate-strict\n```\n\nThen, install this plugin locally:\n\n```bash\ngo install github.com/bufbuild/buf-plugin-protovalidate-strict@latest\n```\n\nYou can also [publish this plugin to your enterprise BSR instance](https://buf.build/docs/cli/buf-plugins/publish) and use it without installing it locally.\n\n## Status: Alpha\n\nbuf-plugin-protovalidate-strict is an experimental plugin and is in active development. It may be changed or archived without notice.\n\n## Legal\n\nOffered under the [Apache 2 license](https://github.com/bufbuild/buf-plugin-protovalidate-strict/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbufbuild%2Fbuf-plugin-protovalidate-strict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbufbuild%2Fbuf-plugin-protovalidate-strict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbufbuild%2Fbuf-plugin-protovalidate-strict/lists"}