Website · Documentation · Getting Started
Dovetail is a language for business logic, with records, enums, validated newtypes, traits, classes, typed errors, and structured asynchronous work. It compiles to WebAssembly with garbage collection and WASI component imports.
The compiler and libraries are evolving. Use matching compiler/library versions; HTTP and TLS still need production hardening. Postgres and a full web framework are not provided yet. See the library guide for current scope.
Start with Getting Started for installation, VS Code setup, and a complete first program. Continue with the book, CLI guide, container image guide, and standard-library guide.
Coding assistants can discover Markdown chapters through llms.txt or read the complete book as Markdown. For local documentation development, see the website guide.
Install the prebuilt dovetail executable on macOS or Linux:
curl -fsSL https://dovetaillang.org/install.sh | shOn Windows (PowerShell):
irm https://dovetaillang.org/install.ps1 | iexThe installers verify SHA-256 checksums before installing. Follow their PATH
instructions, then run dovetail --version. Rust is only needed when installing
from source, including cargo install dovetail-lang --locked.
From this checkout, with a Rust toolchain installed:
cargo build
cargo run -- --helpFor language development and validation:
cargo run -- check
cargo run -- test
cargo test --workspace
python3 tools/check-book.pyBook validation requires Python 3.11+ and checks local links and marked complete
programs. See what CI validates. Use cargo run -- during
compiler development so validation uses the current source.
Contributor references: repository guidance, grammar, compiler architecture, and design documents. For publishing compiler versions, see the release guide.
Licensed under either the MIT license or the Apache License 2.0, at your option.