protobuf-grpc

A set of Rust rules for Protocol Buffers and gRPC. Protocol Buffers define structured messages, while gRPC lets services communicate using those messages.

In plain words
What is it for?
Use it when designing or implementing Rust protobuf and gRPC services with the prost and tonic libraries.
Why use it?
It gives developers consistent choices for generating code, separating service logic, validating messages, handling errors, testing services, and exposing gRPC reflection.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/tyrchen/cursor-rust-rules/protobuf-grpc
Clone the repo
git clone --depth 1 https://github.com/tyrchen/cursor-rust-rules

Made for: Cursor.

Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 8,430 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.08430
Opus 5 $0.00000 $0.04215
Sonnet 5 $0.00000 $0.01686
Haiku 4.5 $0.00000 $0.00843

Measured 2d ago against content hash 034e4034b866, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

protobuf-grpc scanned grade A with 0 findings against 26 rules in 11 categories โ€” prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency โ€” measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/rust/features/protobuf-grpc.mdc ยท 1,214 lines

How it starts

The opening of the file, as written. The whole thing โ€” 1,214 lines โ€” stays where its author put it; the contents beside it link to each section on GitHub.

๐Ÿ›œ RUST PROTOBUF & GRPC STANDARDS

TL;DR: Modern protobuf and gRPC patterns using prost/tonic 0.13+ with clean code generation, Inner data structures, MessageSanitizer trait, gRPC reflection, and simplified service implementations.

๐Ÿ” PROTOBUF & GRPC DESIGN STRATEGY

graph TD
    Start["gRPC Service Design"] --> ProtoDesign["Protocol Buffer Design"]

    ProtoDesign --> CodeGen["Code Generation"]
    CodeGen --> DataStructures["Data Structure Design"]

    DataStructures --> InnerTypes["Inner Types Pattern"]
    DataStructures --> Sanitization["Message Sanitization"]

    InnerTypes --> BusinessLogic["Business Logic Separation"]
    Sanitization --> BusinessLogic

    BusinessLogic --> ServiceImpl["Service Implementation"]
    ServiceImpl --> ErrorHandling["Error Handling"]

    ErrorHandling --> Testing["Service Testing"]
    Testing --> Reflection["gRPC Reflection"]
    Reflection --> Deployment["Service Deployment"]

    Deployment --> Monitoring["Monitoring & Observability"]
    Monitoring --> Production["Production gRPC Service"]

    style Start fill:#4da6ff,stroke:#0066cc,color:white
    style InnerTypes fill:#4dbb5f,stroke:#36873f,color:white
    style Sanitization fill:#ffa64d,stroke:#cc7a30,color:white
    style ServiceImpl fill:#d94dbb,stroke:#a3378a,color:white

๐ŸŽฏ PROTOBUF & GRPC FRAMEWORK REQUIREMENTS

Prost/Tonic Configuration

  • Use prost/tonic latest versions - Modern protobuf and gRPC implementation
  • Clean code generation - Organized pb module structure with proper imports
  • Inner data structures - Simplified, optional-free data structures for business logic
  • MessageSanitizer trait - Consistent data transformation patterns
  • Simplified service methods - Clean separation between gRPC and business logic

๐Ÿ“ฆ PROTOBUF & GRPC DEPENDENCIES

# Cargo.toml - Protobuf & gRPC dependencies
[dependencies]
# Core protobuf and gRPC
prost = "0.13"
prost-types = "0.13"
tonic = { version = "0.13", features = ["gzip", "tls", "tls-roots", "compression"] }

# Build-time dependencies
[build-dependencies]
prost-build = "0.13"
tonic-build = { version = "0.13", features = ["prost"] }

# Data structures and serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
typed_builder = "0.18"

# Error handling
anyhow = "1.0"
thiserror = "2.0"

# Async runtime
tokio = { version = "1.45", features = ["macros", "rt-multi-thread", "signal"] }
tokio-stream = { version = "0.1", features = ["net"] }

# Logging and tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }

# Optional: Additional features
tower = "0.4"                    # Middleware
tower-http = { version = "0.5", features = ["trace", "cors"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }

[dev-dependencies]
tonic-health = "0.13"           # Health check service
tonic-reflection = "0.13"       # gRPC reflection service

Read the full file on GitHub ยท 1,214 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen ยท 1,214 lines ยท 0 tokens per session scan A 034e4034b866

Subscribe to this mod's changes

protobuf-grpc is a cursor rule published in the GitHub repository tyrchen/cursor-rust-rules (27 stars, last pushed 1y ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 8,430 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.