Installation
Install okengine, scaffold an app with create-oke, and open the Console.
This page gets you from zero to a running app. Prefer Bun throughout — the engine targets Bun ≥ 1.3.
Prerequisites
- Bun ≥ 1.3 (
bun --version) - A terminal and a code editor
Install the package
Add the framework (ships the oke CLI):
bun add okengineJSR
Library API only: bunx jsr add @omqkhafi/okengine. Prefer npm / bun add when you want the oke CLI on your PATH via the package.
Scaffold with create-oke
Pick a template by how much surface you want on day one:
bunx create-oke@latest my-app --template hello
bunx create-oke@latest my-app --template minimal
bunx create-oke@latest my-app --template full
bunx create-oke@latest my-notes --from-example notes| Template / flag | Purpose |
|---|---|
hello | Fastest “it works” — one flow, no Store |
minimal | Smallest shape you'd ship — Store + 1–2 flows |
standard | Full recommended layout, empty scaffolding (default) |
full | Every element wired, no business logic |
--from-example notes|linkly|provisions|skyport | Teaching apps with business logic + comments |
New to OKE?
Start with --from-example notes. The Basic Usage page walks the same files step by step.
Run the app
cd my-app
oke devThree ports come up together (mnemonic: O·K·E = 6·5·3):
| Port | Surface |
|---|---|
:6530 | Your app |
:6533 | Console |
:6535 | MCP |
Open the Console — flows, contracts, effects, and an architecture diagram are already there. Derived, not configured.
Want Postgres/Redis like production while the app stays on host Bun?
oke dev --stack # or: oke dev -sThat uses the stack driver profile in oke.config.ts (filled from prod when omitted). Compose files land under docker/; secrets under .env.stack.
Verify the install
Hit the app (path depends on the template) or open http://localhost:6533. If the Console lists your flows, the install worked.
Next steps
Continue to Basic Usage for your first flows, typed client, and tests — or jump into Notes for the full progressive path.