Skip to content

Commit

Permalink
Add "What's this repo?" section to README (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
rodaine authored May 31, 2023
1 parent ac046e9 commit f0ee190
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 10 deletions.
1 change: 1 addition & 0 deletions .github/buf-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 24 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# [![](.githubuf-logo.svg)][buf] protovalidate
# [![](.github/buf-logo.svg)][buf] protovalidate

[![CI](https://github.com/bufbuild/protovalidate/actions/workflows/ci.yaml/badge.svg?branch=main)][ci]
[![Slack](https://img.shields.io/badge/Slack-Buf-%23e01563)][slack]
[![BSR](https://img.shields.io/badge/BSR-Module-0C65EC)][buf-mod]

**_Update: The next generation of `protoc-gen-validate`, now called
`protovalidate`, is available in beta for Golang! We're hard at work on C++,
Java, TypeScript, and Python implementations as well. To learn more, check out
our [blog post][announce]. We value your input in refining our products, so
don't hesitate to share your feedback on `protovalidate`._**

`protovalidate` is a series of libraries designed to validate Protobuf messages at
runtime based on user-defined validation rules. Powered by Google's Common
Expression Language ([CEL][cel-spec]), it provides a
Expand All @@ -14,13 +20,22 @@ consistency and integrity across the network without requiring generated code.
> `protovalidate` is the spiritual successor to `protoc-gen-validate`. Looking
for `protoc-gen-validate`? Checkout the original [repository][pgv].

## Language support
## What is this repository?

This repository is the core of the `protovalidate` project. It contains:

- [The API definition](proto/protovalidate/buf/validate/validate.proto): used to describe validation constraints
- [Documentation](docs): how to apply `protovalidate` effectively
- [Migration tooling](docs/migrate.md): incrementally migrate from `protoc-gen-validate`
- [Conformance testing utilities](docs/conformance.md): for acceptance testing of `protovalidate` implementations

Runtime implementations of `protovalidate` can be found in their own repositories:

- [x] [Go][pv-go] (beta release)
- [ ] C++ (coming soon)
- [ ] Java (coming soon)
- [ ] Python (coming soon)
- [ ] Typescript (coming soon)
- Go: [`protovalidate-go`][pv-go] (beta release)
- C++: `protovalidate-cc` (coming soon)
- Java: `protovalidate-java` (coming soon)
- Python: `protovalidate-py` (coming soon)
- TypeScript: `protovalidate-ts` (coming soon)

Interested in adding support for another language? Check out our
[Contributing Guidelines](https://github.com/bufbuild/protovalidate/blob/main/.github/CONTRIBUTING.md).
Expand Down Expand Up @@ -211,17 +226,16 @@ incrementally upgrade your `.proto` files.
## Ecosystem

- [Buf][buf]
- [CEL Go][cel-go]
- [CEL Spec][cel-spec]
- [CEL Specification][cel-spec]

## Legal

Offered under the [Apache 2 license][license].

[announce]: https://buf.build/blog/protoc-gen-validate-v1-and-v2/
[buf-deps]: https://buf.build/docs/configuration/v1/buf-yaml/#deps
[buf-mod]: https://buf.build/bufbuild/protovalidate
[buf]: https://buf.build
[cel-go]: https://github.com/google/cel-go
[cel-spec]: https://github.com/google/cel-spec
[ci]: https://github.com/bufbuild/protovalidate/actions/workflows/ci.yaml
[file-bug]: https://github.com/bufbuild/protovalidate/issues/new?assignees=&labels=Bug&template=bug_report.md&title=%5BBUG%5D
Expand Down

0 comments on commit f0ee190

Please sign in to comment.