|
|
|
|
|
by clevengermatt
61 days ago
|
|
Hi HN. OpenBindings is an open spec for describing what a service does once and binding it to any protocol. You define operations with input/output schemas, then point at your existing OpenAPI doc, proto file, MCP server, or whatever else. The spec doesn't replace any of them. They're inputs. The short version of why: programming languages have had interfaces and duck typing forever. You code to a shape, not an implementation. The web never got a successful equivalent at the network boundary. OpenBindings is an attempt at that. What's here today:
- The spec (v0.1.0): https://openbindings.com/spec
- ob CLI: https://github.com/openbindings/ob
- Go SDK: https://github.com/openbindings/openbindings-go
- TypeScript SDK: https://github.com/openbindings/openbindings-ts
- Binding executors for different protocols Fastest way to try it:
brew install
openbindings/tap/ob
ob demo That starts a coffee shop service on six protocols. `ob op exec localhost:8080 getMenu` calls it. The CLI discovers the OBI (OpenBindings Interface) at /.well-known/openbindings and handles the rest. Full writeup on how I got here: https://openbindings.com/blog/one-interface-every-protocol Would love feedback on the spec design. |
|