---
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>`:```yamlversion: v2plugins:- remote: protos.rip/protocolbuffers/go:v1.36.5out: gen/goopt: paths=source_relative- remote: protos.rip/connectrpc/go:v1.18.1out: gen/goopt: paths=source_relative```
then run:
```bashbuf 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) use these fair-use concurrency and rate limits:
| plan | concurrent executions | monthly full-concurrency allowance | concurrency after allowance | burst limit / hourly refill |
|---|---|---|---|---|
| Anonymous (per IP) | shared per IP | n/a | n/a | 5 / 5 per hour |
| Free (signed in) | 1 | n/a | n/a | 5 / 5 per hour |
| Solo ($9/mo) | 4 | 2,000 | 1 | 150 / 150 per hour |
| Team ($49/mo) / OSS | 20 | 50,000 | 2 | 600 / 600 per hour |
### how fair-use limits work
- >no hard cutoffs or overage charges: monthly allowances on Solo and Team set the threshold for full concurrency. if you pass your monthly allowance,
`buf generate`keeps working at reduced concurrency for the rest of the UTC calendar month with no extra fees. - >continuous refill: burst capacity refills continuously rather than resetting on the hour (for example, Team refills 1 execution every 6 seconds, and Solo refills 1 every 24 seconds). this absorbs normal development and CI spikes while preventing runaway build loops.
- >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`).