Osy#betaRun it on Osyrin: osyrin.com

Getting started

From an empty folder to a running application.

Build with the AI agent you already use. Run locally without an account. Put the same application in production when you’re ready.

Local development · free Osyrin Cloud · osyrin.com Self-hosting · coming

The whole path

See it before you install it.

This is the entire path from an empty folder to a running application.

mkdir my-tasks && cd my-tasks
osy init --agent claude

“Build a task tracker with tasks, owners, statuses and due dates.”Your agent writes the data model, the pages and the tests — then checks its own work with the toolchain before handing it back.

osy check
osy launch

Your application is running on your machine. No cloud account, no database to set up, no connection string.

Built from an empty folder in 11 minutes.

One prompt. The same Osy# tooling and documentation you get when you install it.

Watch the complete build Browse the source

The application shown here is the unmodified result of the recorded session.

The evidence

Don’t take any of it on faith.

The application above, the session that built it, and every file it left behind — all from the same run, on this machine, with the toolchain you install.

One session, start to finish.

An empty folder, one prompt, and the agent working with the same compiler, linter, test runner and documentation that osy installs on your machine.

Built—
FromAn empty directory and osy init hello --agent claude
InstructionOne prompt, given once — see Prompt
AgentClaude Code v2.1.278 · Opus 5 (1M context)
Osy#0.9.0 (11662a0c), built 2026-09-20
Produced—
Verdict—

The whole instruction.

This is everything the agent was told. There was no follow-up, no correction and no second prompt.

“Build a task tracker with tasks, owners, statuses and due dates.”

What it knew about Osy# it read from the project osy init had just written — the CLAUDE.md brief — and from asking the toolchain: osy docs, osy kit, osy validate. You get the same files and the same commands.

Everything the agent wrote.

Every file the agent created or changed in the recorded session, exactly as it left them. Nothing has been cleaned up, reformatted or rewritten for the demo. It also deleted the three sample files osy init had written, and left five scaffold files untouched; those are not listed here.

  • Loading…

Choose a file.

Open model/pages/board.osy: the overdue badge is worked out from the due date every time a row renders, so it is computed behaviour and not stored demo data. The agent wrote down why, in its own words. // OVERDUE IS DERIVED, never stored — a stored flag is wrong the moment midnight passes.

What the toolchain said about it.

osy check runs validation, the production lint and the agent’s own tests, and gives one verdict. This is the last thing in the recording.

# loading the recorded output…

The whole build. Nothing cut out.

Watch the agent create the application, run the compiler, respond to its feedback, fix what it finds and leave behind the application shown above.

Thirteen minutes end to end — the agent’s own timer reads 11m 01s. It runs at twice speed with the agent’s nine thinking pauses collapsed, so the clock counts recorded seconds and the whole thing is over in under six minutes. Nothing the agent did is cut; the only thing removed is the stretch where the recording rig sat on a dead screen after it had finished.

Ready to try it? Start with an empty folder.

  1. Apply for the beta

    The toolchain goes out to the people in the beta first. Tell us what you want to build and we will send you everything you need to start: the download, and how to use it with your agent.

    Apply for the beta

  2. Give your agent a project it understands

    This is the step that makes the rest work. osy init writes a minimum working app and the brief your agent reads — CLAUDE.md for Claude Code, or AGENTS.md with --agent agent. The agent does not have to guess the language: the rules, the vocabulary and the commands that answer its questions are already in the repository.

    osy init --agent claude
    ✓ CLAUDE.md
    ✓ .claude/settings.local.json
    ✓ osyrin.json
    ✓ .vscode/launch.json
    ✓ .vscode/extensions.json
    ✓ app.osy
    ✓ model/theme.osy
    ✓ model/greeting.osy
    ✓ model/pages/home.osy
    ✓ tests/hello.test.osy
    ✓ icons/sparkle.svg

    That is the whole application: a function, a page, a theme, an icon and a test — and no entity at all, because nothing is stored yet. No package.json, no migrations folder, no API layer, no framework configuration — because nothing downstream of your model is yours to write.

    Or start from a starter instead of the minimum: sign-in and roles already wired, and an empty page for each area for your agent to fill in — members, booking, shop or site.

    osy init --starter members --agent claude

    Complete applications to read and take apart are on the samples page: Kanban · Chat room · File manager · Approvals · Ember.

  3. Let your agent build it

    Describe what you want. Your agent writes Osy# — one language for the data, rules, security, workflows and screens. The local toolchain gives it the reference, validation and answers it needs as it works.

    What your agent can ask

    osy validate
    # Is this code legal? parse, resolve and emit — no server, no database
    osy kit Card
    # What is the exact signature of this control?
    osy docs "hash a password"
    # How do I use this API?
    osy explain
    # Who can read and write this data?

    That is the difference between an agent producing plausible code and an agent producing code the compiler has already agreed with.

  4. Know it’s ready

    osy check runs validation, the production lint and your tests, and gives one verdict:

    osy check
    ✓ validate
    ✓ lint — 1 SHOULD, 1 CONSIDER
    ✓ test — 2 passed
    ✓ check passed

    You get more than pass or fail: it names what is weak and exactly how to fix it. Here, on the app you just scaffolded, it spots a page that no test ever opens —

    Home — 'Home' is a page at '/', and no test ever opens it — so nothing proves it renders at all.fix: Add a [Test] that does Ui.Visit("/") and asserts something the page is FOR.

    Your agent reads that and fixes it. That is the point of putting the maturity rules in the toolchain instead of in a style guide nobody opens.

    See the full output
    osy check
    ✓ validate
    ✓ lint — 1 SHOULD, 1 CONSIDER
    SHOULD (1)
    • Home — 'Home' is a page at '/', and no test ever opens it — so
    nothing proves it renders at all. A page that throws on its first
    paint, or one whose query was never wired, looks exactly like a
    page nobody wrote a test for.
    model/pages/home.osy:16:1
    testing-page-never-driven · fix: Add a `[Test]` that does
    `Ui.Visit("/")` and asserts something the page is FOR.
    CONSIDER (1)
    • Home — the routed page 'Home' declares no title — no `[Title("…")]`
    and no `meta { title = … }`. A screen reader announces the page by
    its title on navigation … without one the page is a nameless tab
    and an accessibility gap.
    model/pages/home.osy:19:11
    ui-page-no-title · fix: name it — `[Title("…")]`
    ✓ test — 2 passed
    ✓ check passed — validate, lint and test agree, and lint's 2 advisory
    finding(s) above are open.
  5. Run the real application locally

    osy launch

    That’s the application. Real PostgreSQL, real runtime, real security enforcement — all on your machine. There is no local prototype that gets rebuilt for production.

    Change a file and run it again. When something goes wrong, osy inspect shows what actually happened when the code ran, and osy logs --tail follows client and server lines under one correlation id.

  6. Put it in production

    The application you have been running locally is the application that goes to Osyrin Cloud. There is no container, database, deployment pipeline or infrastructure project to create.

    osyrin login
    osyrin app create
    osyrin app compile
    osyrin app launch

    That is it — we operate everything underneath it: the running application, the backups, the upgrades and the infrastructure. Running workflows continue on the version that started them while the next version rolls out, and you can see which versions are still in flight.

    Osyrin Cloud, at osyrin.com

Build something.

Local development is free and needs no account.

Apply for the beta Browse the samples

Ready to put it online? That is osyrin.com