Prometheus
Give an LLM a language, and it wields the world that language describes.
★ GitHub See it run ↓

An LLM is a language engine. So to give it a new ability, don't retrain it — hand it a small language for a domain, a deterministic engine that turns that language into effect, and a critic that tells good from bad. Every capability is the same four slots, so one critic loop drives any medium.

Grammar
the DSL the LLM writes
Executor
renders it — reuse three.js / D3 / Tone.js
Critic
an objective score + a rubric
Seed
worked examples

Capabilities — live

Click any card to run it in your browser. Same loop authored all three.

PYRE

🔥 PYRE three.js

The LLM describes a subject as 3D primitives (spline tubes + a smooth blend) → a rotatable point-cloud volume. Or drop a photo for a drone show.

PRISM

🔺 PRISM D3

Data → an animated chart. Critic gate = encoding fidelity: a chart that lies about the data fails.

LYRA

🎵 LYRA Tone.js

Text → music. Critic gate = in-key ratio: a melody that leaves its key fails. Press ▶ for sound.

PHALANX

🏀 PHALANX sim

Text → a basketball play, simulated vs a reactive defense. Critic gate = expected points: a play that doesn't get an open look fails.

Add your own language

bin/prometheus-new lyra music stamps a new capability from a template. Fill the four slots, and the universal loop already drives it. Read the contract.