Skip to content

Repository files navigation

Origami

A fullstack opinionated framework with a closed-vocabulary DSL (.ori files) that enforces design system compliance at compile time. (WIP, not ready for use)


Contents


What is Origami

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.json are valid
  • Compile-time type safety — the frontend–backend API contract is validated at build time via OpenAPI
  • One commandorigami dev is the only entry point for local development
  • LLM-first authoring — deterministic format, no ambiguity; compiler errors are the feedback loop

Status

Early development. Not usable yet.

Getting started

Not ready for use. This section will be filled in once the framework is usable.

Crates

Crate README Role
origami-lexer crates/origami-lexer .ori source → Vec<Token>
origami-parser crates/origami-parser Vec<Token>OriFile AST

Development

Requirements: Rust 1.89.0+

cargo build --workspace
cargo test --workspace
cargo clippy --workspace -- -D warnings

Run the CLI locally:

cargo run -p origami-cli -- --help

Versioning

All 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

About

A fullstack opinionated framework with a closed-vocabulary DSL that enforces design system compliance at compile time. (WIP, not ready for use)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages