Built for engineers working alongside AI.
Most frameworks bolt AI tooling on after the fact. Openora.ai starts from contracts an agent can actually read - the same structure that keeps humans safe keeps agents safe too.
codegen steps between a contract and its typed client
modules ship an AGENTS.md playbook on day one
typed HTTP routes on the composed contract
Same problem, structured differently.
- Docs and code drift apart the moment either one changes
- Codegen scripts nobody wants to touch, let alone debug
- Onboarding takes weeks per engineer, longer per agent
- Agents guess at business rules from stale comments
- Manual sync between API types and frontend types
- Contracts are the single source of truth, always
- Zero-codegen, fully inferred typed SDK
- Every module ships an AGENTS.md playbook
- Agents scaffold real modules against real contracts
- New engineers and agents ship safely on day one

Focused engineering, not fighting a vendor's black box
Six pieces that make it AI-native.
None of these are bolted on after the fact - they're the framework.
AI-Readable Code
Every gaming domain is fully contract-driven, so LLMs and AI agents map, extend and debug your code natively - no guesswork, no stale docs.
AGENTS.md Playbooks
Domain rules, invariants and safe edit boundaries, written for the agent before it touches a line - and for the next engineer who joins.
One-command scaffolders
pnpm gen module, adapter, plugin, route, event or job-worker - each generates the contract, service, plugin, tests and docs in a single, agent-friendly pass.
MCP Dev Server
Point Claude, Cursor or any MCP client at the dev server to inspect modules, routes and Drizzle schemas, propose table changes, and run verification within guardrails.
Zero-Codegen SDK
The typed client is fully inferred from the contract. No `any`, no drift, nothing to regenerate after a change.
Boundaries, Enforced
Two independent gates - fast import lint plus a whole-graph dependency check - fail the build when an agent (or a human) crosses a domain boundary.
An agent ships a module, not just a snippet.
> add a tournaments feature $ pnpm gen plugin tournaments ✓ extensions/tournaments/ └─ plugin.ts $ pnpm gen adapter ✓ your vendor, bound over the shipped mock → registered in extensions.config.ts · 0 files forked
Contract, service, plugin and an agent playbook - generated in one pass, registered with the plugin host, zero files forked.
Build it. Evolve it.
Own it.
Whether you're building from scratch, extending a legacy platform or planning a gradual migration, the framework gives you the freedom to evolve without vendor lock-in.