openprose/prose

No description

687 stars59 forksUpdated Jan 24, 2026
npx skills add openprose/prose

README

OpenProse - A new kind of language for a new kind of computer

A long-running AI session is a Turing-complete computer. OpenProse is a programming language for it.

WebsiteLanguage SpecExamples

⚠️ Beta SoftwareRead before using


# Research and write workflow
agent researcher:
  model: sonnet
  skills: ["web-search"]

agent writer:
  model: opus

parallel:
  research = session: researcher
    prompt: "Research quantum computing breakthroughs"
  competitive = session: researcher
    prompt: "Analyze competitor landscape"

loop until **the draft meets publication standards** (max: 3):
  session: writer
    prompt: "Write and refine the article"
    context: { research, competitive }

Install

Claude Code

claude plugin marketplace add openprose/prose
claude plugin install open-prose@prose

Then launch Claude Code and try:

"run example prose program and teach me how it works"

OpenCode

git clone https://github.com/openprose/prose.git ~/.config/opencode/skill/open-prose

Then launch OpenCode and try:

"run example prose program and teach me how it works"

Amp

git clone https://github.com/openprose/prose.git ~/.config/agents/skills/open-prose

Then launch Amp and try:

"run example prose program and teach me how it works"

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

The Intelligent Inversion of Control

Traditional orchestration requires explicit coordination code. OpenProse inverts this—you declare agents and control flow, and an AI session wires them up. The session is the IoC container.

1. The Session as Runtime

Other frameworks orchestrate agents from outside. OpenProse runs inside the agent session—the session itself is both interpreter and runtime. It doesn't just match names; it understands context and intent.

2. The Fourth Wall (**...**)

When you need AI judgment instead of strict execution, break out of structure:

loop until **the code is production ready**:
  session "Review and improve"

The **...** syntax lets you speak directly to the OpenProse VM. It evaluates this semantically—deciding what "production ready" means based on context.

3. Open Standard, Zero Lock-in

OpenProse runs on any Prose Complete system—a model + harness combination capable of inducing the VM. Currently: Claude Code + Opus, OpenCode + Opus, Amp + Opus. It's not a library you're locked into—it's a language specification.

Switch platforms anytime. Your .prose files work everywhere.

4. Structure + Flexibility

Why not just plain English? You can—that's what **...** is for. But complex workflows need unambiguous structure for control flow. The AI shouldn't have to guess whether you want sequential or parallel execution.

Why not rigid frameworks? They're inflexible. OpenProse gives you structure where it matters (control flow, agent definitions) and natural language where you want flexibility (conditions, context passing).

Update

Claude Code

Enable auto-updates (recommended):

/plugin → Marketplaces → prose → Enable auto-update

Or update manually:

claude plugin update open-prose@prose

OpenCode

cd ~/.config/opencode/skill/open-prose && git pull

Amp

cd ~/.config/agents/skills/open-prose && git pull

Language Features

FeatureExample
Agentsagent researcher: model: sonnet
Sessionssession "prompt" or session: agent
Persistent Agentsagent captain: persist: true / resume: captain
Parallelparallel: blocks with join strategies
Variableslet x = session "..."
Contextcontext: [a, b] or context: { a, b }
Fixed Loopsrepeat 3: and for item in items:
Unbounded Loopsloop until **condition**:
Error Handlingtry/catch/finally, retry
Pipelinesitems | map: session "..."
Conditionalsif **condition**: / choice **criteria**:

See the Language Reference for complete documentation.

Examples

The examples/ directory contains 37 example programs:

RangeCategory
01-08Basics (hello world, research, code review, debugging)
09-12Agents and skills
13-15Variables and composition
16-19Parallel execution
20-21Loops and pipelines
22-23Error handling
24-27Advanced (choice, conditionals, blocks, interpolation)
28Gas Town (multi-agent orchestration)
29-31Captain's chair pattern (persistent orchestrator

...

Read full README

Publisher

openproseopenprose

Statistics

Stars687
Forks59
Open Issues6
LicenseMIT License
CreatedJan 3, 2026