2026-04-27 22:12:21 -07:00
2026-04-27 22:12:21 -07:00
2026-04-27 17:14:49 -07:00
2026-04-26 08:50:47 -04:00
2026-04-27 17:14:49 -07:00

OpenProse - Engineer your agents

Contract-first, reactive software for agent workflows.

Website | Docs | Agent Onboarding | Why / When | Examples | Stdlib | Company as Code | Skill Spec

npx skills add openprose/prose


OpenProse is a programming language for agent workflows.

Write .prose.md contracts with typed inputs, typed outputs, effects, access rules, and optional execution blocks. OpenProse compiles them into IR, plans the graph, compares it to prior runs, materializes durable run records through the local graph VM, and packages the result for search, install, benchmarks, and hosted execution.

Start Here

Try The CLI

The local-first CLI covers authoring, graph inspection, local execution, package checks, install, and runtime confidence:

bun run prose compile examples/north-star/company-signal-brief.prose.md
bun run prose plan examples/north-star/lead-program-designer.prose.md \
  --input lead_profile='{"company":"Acme","pain":"manual agent handoffs"}' \
  --input brand_context="OpenProse is React for agent outcomes." \
  --target-output lead_program_plan
bun run prose graph examples/north-star/release-proposal-dry-run.prose.md \
  --input release_candidate="v0.11.0"
bun run prose handoff examples/north-star/company-signal-brief.prose.md \
  --input signal_notes="Customer teams want durable agent workflows." \
  --input brand_context="OpenProse is React for agent outcomes."
bun run prose run examples/north-star/company-signal-brief.prose.md \
  --input signal_notes="Customer teams want durable agent workflows." \
  --input brand_context="OpenProse is React for agent outcomes." \
  --output company_signal_brief="Hello from the local runtime."
bun run prose status .prose/runs
bun run prose trace .prose/runs/{run-id}
bun run prose package examples
bun run prose publish-check examples --strict
bun run prose install registry://openprose/@openprose/examples@0.1.0/company-signal-brief \
  --catalog-root . \
  --workspace-root /tmp/openprose-workspace
bun run measure:examples
bun run confidence:runtime
bun run smoke:live-pi

Single components can be exported as one-off handoffs:

bun run prose handoff examples/north-star/company-signal-brief.prose.md \
  --input signal_notes="Customer teams want durable agent workflows." \
  --input brand_context="OpenProse is React for agent outcomes."

A handoff is one component, one task, and no graph coordination. Reactive graphs run through Pi, with OpenProse coordinating one persisted node session at a time.

Inside a Pi node, openprose_subagent supports private child-session delegation. Child sessions write under node-private state and return refs to the parent; only the parent submits declared graph outputs.

Why OpenProse

Use OpenProse when an agent workflow starts to look like software:

  • more than one step or role
  • reusable enough to deserve a name
  • sensitive enough to need effects or approvals
  • big enough that provenance and debugging matter
  • structured enough that selective recompute is worth it

OpenProse adds:

  • a readable contract surface
  • a deterministic IR
  • typed ports for composition
  • effect declarations for safe planning
  • runs as universal materialization records
  • package metadata for install/search/publish discipline

Runtime Path

.prose.md source
  -> compile
  -> Prose IR
  -> plan / graph / manifest
  -> Pi-backed graph VM run materialization
  -> package metadata / install / publish-check / search
  -> hosted run + graph + approval surfaces

The docs, examples, package system, local runner, and hosted platform all use this same path.

Repository Map

Path What it is
docs/ guides for the language, runtime, and package model
examples/ compact examples that exercise the runtime
packages/std/ reusable primitives and standard-library components
packages/co/ company-operating-system starter patterns
skills/open-prose/ the OpenProse agent-skill router and onboarding surface
rfcs/ the design record for the reactive OpenProse architecture

Local Workflow

Install dependencies:

bun install

Typecheck and test:

bun run typecheck
bun run test

Try the examples:

bun run prose compile examples/north-star/company-signal-brief.prose.md
bun run prose plan examples/north-star/lead-program-designer.prose.md \
  --input lead_profile='{"company":"Acme","pain":"manual agent handoffs"}' \
  --input brand_context="OpenProse is React for agent outcomes." \
  --target-output lead_program_plan
bun run prose graph examples/north-star/release-proposal-dry-run.prose.md \
  --input release_candidate="v0.11.0"

Measure package health and reactive behavior:

bun run measure:examples
bun run confidence:runtime
bun run smoke:binary
bun run smoke:cold-start
bun run smoke:agent-onboarding
bun run evidence:launch
bun run smoke:live-pi

Build the distributable CLI:

bun run build:binary
./dist/prose help

The repository root package is marked private because it is the source workspace, not the install artifact. Run it with bun run prose ... while developing. The publishable package is generated in dist/ and contains the compiled prose binary plus its own package metadata.

smoke:live-pi skips by default. Set OPENPROSE_LIVE_PI_SMOKE=1 and Pi/OpenRouter credentials when you want opt-in model-backed evidence:

OPENPROSE_LIVE_PI_SMOKE=1 \
OPENPROSE_PI_API_KEY="$OPENROUTER_API_KEY" \
bun run smoke:live-pi -- --tier all --run-root .prose/live-pi-runs

Hosted Platform

The hosted platform uses the package, run, graph, approval, and artifact contracts in Public Surface.

Terms

By installing, you agree to the Privacy Policy and Terms of Service.

S
Description
Activate when the user types prose ..., opens a .prose.md file with kind: frontmatter, opens a .prose file, or asks for reusable…
Readme MIT 11 MiB
Languages
TypeScript 88.9%
Python 5.4%
Shell 3.5%
JavaScript 2.2%