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) use these fair-use concurrency and rate limits:
planconcurrent executionsmonthly full-concurrency allowanceconcurrency after allowanceburst limit / hourly refill
Anonymous (per IP)shared per IPn/an/a5 / 5 per hour
Free (signed in)1n/an/a5 / 5 per hour
Solo ($9/mo)42,0001150 / 150 per hour
Team ($49/mo) / OSS2050,0002600 / 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`).