A fullstack opinionated framework with a closed-vocabulary DSL (.ori files) that enforces design system compliance at compile time. (WIP, not ready for use)
Origami is built around a single idea: the design system is the type system. Components that violate it cannot compile.
You write .ori files. The compiler (written in Rust) validates them, enforces the design system, and generates a Nuxt/Vue application. You never touch the generated code.
Key properties:
- Closed vocabulary — only the components and props defined in
tokens.jsonare valid - Compile-time type safety — the frontend–backend API contract is validated at build time via OpenAPI
- One command —
origami devis the only entry point for local development - LLM-first authoring — deterministic format, no ambiguity; compiler errors are the feedback loop
Early development. Not usable yet.
Not ready for use. This section will be filled in once the framework is usable.
| Crate | README | Role |
|---|---|---|
origami-lexer |
crates/origami-lexer | .ori source → Vec<Token> |
origami-parser |
crates/origami-parser | Vec<Token> → OriFile AST |
Requirements: Rust 1.89.0+
cargo build --workspace
cargo test --workspace
cargo clippy --workspace -- -D warningsRun the CLI locally:
cargo run -p origami-cli -- --helpAll crates share a single workspace version. Releases are managed with cargo-release:
cargo release minor # 0.1.0 → 0.2.0
cargo release patch # 0.1.0 → 0.1.1