docs: add project README

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Steve Biedermann 2026-11-01 19:39:19 +01:00
parent 4c02c3a491
commit e388db9786
1 changed files with 52 additions and 0 deletions

52
README.md Normal file
View File

@ -0,0 +1,52 @@
# Runa — Rune Actors
Runa (short for **Rune Actors**) is an experimental project to build a
persistent, live programming world around isolated actors written in Rune.
The long-term vision combines an inspectable graphical environment with a
programmatic API and a VS Code extension, all connected to the same running
image.
## Status
Runa is at an early prototype stage. The current repository contains a minimal
Rust executable; the actor runtime, Rune integration, graphical world, and
development API described in the architecture spec are planned, not yet
implemented.
The first milestone is to evaluate Rune's embedding, async execution,
interruptibility, and debugging capabilities before building the actor kernel.
## Design goals
- Keep actor identity, mailbox, private state, behavior, and incarnation
separate.
- Use message passing rather than shared mutable state for actor interaction.
- Keep behavior implementations immutable and support safe, versioned updates.
- Expose the same runtime capabilities to in-world tools and external clients.
- Be explicit about execution, delivery, and persistence guarantees.
See [runa-spec-architecture.md](runa-spec-architecture.md) for the full vision,
architecture, roadmap, and open questions.
## Getting started
You need a Rust toolchain that supports the workspace's Rust 2024 edition.
Run the current executable from the repository root:
```sh
cargo run -p runa
```
At this stage, it prints `Hello, world!`.
## Project structure
```text
.
├── Cargo.toml
├── crates/
│ └── runa/
│ └── src/main.rs
└── runa-spec-architecture.md
```