Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Readme to use absolute links #208

Merged
merged 5 commits into from
May 6, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 24 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![The Buf logo](./.github/buf-logo.svg)
![The Buf logo](https://raw.githubusercontent.com/bufbuild/protovalidate/main/.github/buf-logo.svg)

# protovalidate

Expand All @@ -25,22 +25,24 @@ consistency and integrity across the network without requiring generated code.

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`
- [Examples](examples): example `.proto` files using `protovalidate`
- [Conformance testing utilities](docs/conformance.md): for acceptance testing of `protovalidate` implementations
- [The API definition][validate-proto]: used to describe validation constraints
fyockm marked this conversation as resolved.
Show resolved Hide resolved
- [Documentation][docs]: how to apply `protovalidate` effectively
- [Migration tooling][migrate]: incrementally migrate from `protoc-gen-validate`
- [Examples][examples]: example `.proto` files using `protovalidate`
- [Conformance testing utilities][conformance]: for acceptance testing of `protovalidate` implementations

### Implementations

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

- Go: [`protovalidate-go`][pv-go] (beta release)
- C++: [`protovalidate-cc`][pv-cc] (beta release)
- Java: [`protovalidate-java`][pv-java] (beta release)
- Python: [`protovalidate-python`][pv-python] (beta release)
- TypeScript: `protovalidate-ts` (coming soon)
- Go: [`protovalidate-go`][pv-go] (beta release)
- C++: [`protovalidate-cc`][pv-cc] (beta release)
- Java: [`protovalidate-java`][pv-java] (beta release)
- Python: [`protovalidate-python`][pv-python] (beta release)
- 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).
[Contributing Guidelines][contributing].

## Usage

Expand Down Expand Up @@ -183,11 +185,11 @@ For more advanced or custom constraints, `protovalidate` allows for CEL expressi
}
```

Check out [`examples`](examples) for examples on both standard constraints and custom CEL constraints.
Check out [`examples`][examples] for examples on both standard constraints and custom CEL constraints.

### Validate Messages

Once the messages are annotated with constraints, use one of the [supported language libraries](#language-support) to validate; no additional code generation necessary.
Once the messages are annotated with constraints, use one of the [supported language libraries](#implementations) to validate; no additional code generation necessary.

## Documentation

Expand Down Expand Up @@ -224,7 +226,7 @@ for custom code generation, and the new ability to describe complex constraints
`protovalidate`'s constraints very closely emulate those
in `protoc-gen-validate` to ensure an easy transition for developers. To
migrate from `protoc-gen-validate` to `protovalidate`, use the
provided [migration tool](https://github.com/bufbuild/protovalidate/blob/main/tools/protovalidate-migrate) to
provided [migration tool][migration-tool] to
incrementally upgrade your `.proto` files.

## Ecosystem
Expand All @@ -242,12 +244,19 @@ Offered under the [Apache 2 license][license].
[buf]: https://buf.build
[cel-spec]: https://github.com/google/cel-spec
[ci]: https://github.com/bufbuild/protovalidate/actions/workflows/ci.yaml
[conformance]: https://github.com/bufbuild/protovalidate/blob/main/docs/conformance.md
[contributing]: https://github.com/bufbuild/protovalidate/blob/main/.github/CONTRIBUTING.md
[docs]: https://github.com/bufbuild/protovalidate/blob/main/docs
[examples]: https://github.com/bufbuild/protovalidate/tree/main/examples
[file-bug]: https://github.com/bufbuild/protovalidate/issues/new?assignees=&labels=Bug&template=bug_report.md&title=%5BBUG%5D
[file-feature-request]: https://github.com/bufbuild/protovalidate/issues/new?assignees=&labels=Feature&template=feature_request.md&title=%5BFeature+Request%5D
[license]: https://github.com/bufbuild/protovalidate/blob/main/LICENSE
[migrate]: https://github.com/bufbuild/protovalidate/blob/main/docs/migrate.md
[migration-tool]: https://github.com/bufbuild/protovalidate/blob/main/tools/protovalidate-migrate
[pgv]: https://github.com/bufbuild/protoc-gen-validate
[pv-go]: https://github.com/bufbuild/protovalidate-go
[pv-cc]: https://github.com/bufbuild/protovalidate-cc
[pv-java]: https://github.com/bufbuild/protovalidate-java
[pv-python]: https://github.com/bufbuild/protovalidate-python
[slack]: https://buf.build/links/slack
[validate-proto]: https://buf.build/bufbuild/protovalidate/docs/main:buf.validate