cloudflare/capnweb

JavaScript/TypeScript-native, low-boilerplate, object-capability RPC system

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 6 minutes ago
Added to GitGenius on September 17th, 2026
Created on June 8th, 2025
Open Issues & Pull Requests: 31 (+0)
GitHub issues: Enabled
Number of forks: 143
Total Stargazers: 3,987 (+0)
Total Subscribers: 18 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.8 hours
Mean response time: 11.0 days
90th percentile: 41.6 days
Tracked items: 60

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Roughly one issue in five opened in the past year never receives a reply. 48% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. 68% of issues opened in the past year have been closed, leaving a working backlog. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 25
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 137 days
Stale 30+ days: 18
Stale 90+ days: 11

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (6)
  • documentation (4)
  • large (3)
  • PRs welcome (1)
  • dependencies (1)

Detailed Description

Cap'n Web is a JavaScript-native RPC system that implements an object-capability protocol without requiring schemas or boilerplate.

The tool solves the problem of building efficient, expressive RPC systems for the web by adopting the object-capability model from Cap'n Proto but removing the schema requirement entirely. It works like the JavaScript-native RPC system in Cloudflare Workers, using JSON as its serialization format with minimal preprocessing. The approach enables bidirectional calling, passing functions and objects by reference, promise pipelining to chain dependent calls into a single network round trip, and capability-based security where holding a reference grants permission to use it. This design allows developers to write RPC code with almost no boilerplate while maintaining type safety through TypeScript integration.

Cap'n Web suits projects where you want RPC expressiveness without the overhead of schema definition and code generation. It works across all major browsers, Cloudflare Workers, Node.js, Bun, Deno, and other modern JavaScript runtimes, and supports HTTP, WebSocket, and postMessage transports out of the box. The tool compresses to under 16 kilobytes with no dependencies, making it lightweight for browser environments. The README compares it against tRPC, JSON-RPC, GraphQL, and Cap'n Proto, positioning it as more expressive than most other RPC systems due to its object-capability model while being simpler than Cap'n Proto for web use cases.

The project receives issues from both core team members and outside users, indicating adoption beyond the maintainers without an overwhelming external support burden. Maintainers typically respond to new issues and pull requests within a day. Work in the issue tracker is dominated by enhancement, documentation, and large-scope items.