Protorip
---
site: protos.rip
page: remote-generation
---

# remote code generation

run `buf generate` against hosted community plugins on `protos.rip` without installing local compilers, runtimes, or generator binaries.

## how it works

point plugin entries in `buf.gen.yaml` to `protos.rip/<scope>/<plugin>`:
```yaml
version: v2
plugins:
- remote: protos.rip/protocolbuffers/go:v1.36.5
out: gen/go
opt: paths=source_relative
- remote: protos.rip/connectrpc/go:v1.18.1
out: gen/go
opt: paths=source_relative
```
then run:
```bash
buf generate
```
each remote plugin runs the upstream generator release for that version in an isolated container sandbox and returns the generated files to your workspace. cached generations return existing output immediately without consuming monthly allowances or rate limits.
for general `buf.gen.yaml` configuration options, flags, and managed mode settings, see the [official Buf remote plugins documentation](https://buf.build/docs/generate/remote-plugins/).

## supported plugins and versions

protorip hosts standard community plugins across Go, TypeScript, JavaScript, Python, Rust, Java, Kotlin, Swift, C++, C#, PHP, and Ruby under the same `<scope>/<plugin>` paths used across the Buf ecosystem (such as `protocolbuffers/go`, `connectrpc/es`, and `grpc/python`).
browse the [plugin registry](/plugins) to check supported plugins, available versions, upstream source links, and copyable `buf.gen.yaml` snippets.
new upstream plugin releases are added continuously. we maintain current and recent releases for active plugins rather than backfilling every historical version or deprecated package (such as legacy `bufbuild/connect-*` plugins replaced by `connectrpc/*`). if your project needs a plugin or older version listed as unavailable, email [hello@protos.rip](mailto:hello@protos.rip) and we can enable it.

## execution limits

each uncached plugin invocation runs with per-request resource limits:
  • >timeout: 20 seconds by default, extended up to 60 seconds for heavier language runtimes (such as JVM and Node.js plugins).
  • >output size: up to 400 MiB of generated files per invocation.
if a large schema graph hits timeout or output limits, email [hello@protos.rip](mailto:hello@protos.rip).

## rate limits and concurrency

cached results are unlimited on all plans and do not count toward rate limits or monthly allowances.
uncached executions (when schemas, plugin versions, or options change) run with these concurrency and fair-use allowances:
planconcurrent executionsuncached allowance
Anonymous (per IP)shared per IP5 per hour (rolling)
Free (signed in)15 per hour (rolling)
Solo ($9/mo)42,000 full-concurrency / mo
Team ($49/mo) / OSS2050,000 full-concurrency / mo

### how fair-use limits work

  • >no hard monthly cutoffs or overage charges: monthly allowances on Solo, Team, and OSS act as fair-use controls for full-speed concurrency rather than hard caps. if you pass that threshold in a UTC calendar month, `buf generate` keeps running with no extra fees at reduced concurrency (1 on Solo, 2 on Team and OSS). if your legitimate workflow needs higher sustained concurrency, email [hello@protos.rip](mailto:hello@protos.rip).
  • >runaway CI safety limits: paid and OSS plans also enforce conservative rolling hourly limits purely as a safety guard against broken or looping CI pipelines. if those limits ever obstruct a legitimate use case, email [hello@protos.rip](mailto:hello@protos.rip) and we can adjust them for your account.
  • >authentication: anonymous limits are shared by IP address. signed-in Free limits apply per user across your API keys and sessions. run `buf registry login protos.rip` to use your account capacity.

## remote plugins vs generated sdk registries

remote plugin generation runs during `buf generate` and writes generated files directly into your repository, where you commit or build them as part of your project.
protorip does not currently host generated SDK package registries (installing pre-built packages via npm, PyPI, Go module proxy, or Maven without running `buf generate`).