Experimental - This project is under active development. It's not yet ready for production use, and will not be for a while.
This repository is a Rust implementation of the next version of Quarto. The goal is to replace parts of the TypeScript/Deno runtime with a unified Rust implementation.
Release binaries are experimental, like everything else here — they exist so the team and early testers don't need a full Rust + Node toolchain.
curl -fsSL https://raw.githubusercontent.com/quarto-dev/q2/main/install.sh | bashOn Windows (PowerShell):
irm https://raw.githubusercontent.com/quarto-dev/q2/main/install.ps1 | iexThe installer downloads the release archive for your platform, verifies
its SHA-256 checksum and its Ed25519 signature (minisign,
required — brew install minisign / apt install minisign), and
installs q2 to ~/.local/bin (override with --dest or
Q2_INSTALL_DIR). The signing public key, pinned in install.sh:
RWR2A9ILpZX1kVF3Q6uk5TRus8FDM25H2F+KKKHEuqlxv+JJSLyPalvN
To verify a manually downloaded archive:
minisign -Vm q2-<version>-<platform>.tar.gz -P RWR2A9ILpZX1kVF3Q6uk5TRus8FDM25H2F+KKKHEuqlxv+JJSLyPalvNThe trusted comment should name exactly the file you downloaded.
q2 mcp (the Quarto Hub MCP server) additionally needs
Node.js 24+ at runtime; release binaries come
with the MCP server and quarto-hub.com connection defaults built in, so
no further configuration is needed. Private hub operators can still
point elsewhere via the QUARTO_HUB_MCP_CLIENT_ID,
QUARTO_HUB_MCP_CLIENT_SECRET, and QUARTO_HUB_SERVER environment
variables, which always win over the built-in defaults.
To register it with an MCP client, add an entry that launches q2 mcp
(run q2 mcp --print-config to print this snippet):
{
"mcpServers": {
"quarto-hub": {
"command": "q2",
"args": ["mcp"]
}
}
}For a non-canonical hub, append the server flag:
"args": ["mcp", "--server", "wss://your-hub/ws"]. Run q2 mcp --help
for the full launcher + server option list, and q2 mcp --launcher-info
to diagnose the embedded bundle and Node.js discovery.
Requires Rust nightly (edition 2024).
# Installs nodejs dependencies for the vite/WASM dependencies
npm install
# Build all Rust crates and binaries and test; build hub-client and its TS test suite
cargo xtask verify
# Just build everything instead (use --release for optimized binaries)
cargo xtask build-all
# Run tests (uses nextest)
cargo nextest runWe welcome discussions about the project via GitHub issues. However, the Quarto team will be working on this codebase internally before we're ready to accept outside contributions or make public binary releases/announcements. Please feel free to use the discussions page for questions and suggestions.
This is experimental software. All API should be considered unstable and may completely change.
MIT - See LICENSE for details.