https://github.com/thumbrise/op
Typed operation model for Go
https://github.com/thumbrise/op
generator go model operation
Last synced: 3 months ago
JSON representation
Typed operation model for Go
- Host: GitHub
- URL: https://github.com/thumbrise/op
- Owner: thumbrise
- Created: 2026-04-16T01:53:04.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-16T04:24:04.000Z (3 months ago)
- Last Synced: 2026-04-16T05:36:20.468Z (3 months ago)
- Topics: generator, go, model, operation
- Homepage: https://thumbrise.github.io/op/
- Size: 333 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# op
Transport-agnostic, language-agnostic application-layer protocol for describing operations. Solves the Expression Problem with traits.
**Status:** forming. No public API yet.
## What is this
Op (Operations Protocol) is a decentralized interface for operations. An operation is `func(Input) → (Output, error)` — a name, a description, an input type, an output type, and the possibility of failure. Nothing more.
Traits extend operations without changing the core: HTTP routes, gRPC services, authentication, CLI flags — all are namespaced key-value extensions that producers add and consumers read. The core never changes. The ecosystem expands infinitely.
Instructions — versioned, fully resolved units — flow between **producers** (DSL adapters, scripts, handwritten JSON) and **consumers** (code generators, loggers, diagram tools, database migrators) through any transport: stdin, files, HTTP, gRPC, or carrier pigeon.
Op is not a framework, not a compiler, not a DSL. It is the missing layer between business logic and the infinite projections the industry demands.
Read the [devlog](https://thumbrise.github.io/op/devlog/) for the full story.
## License
[Apache 2.0](LICENSE)