Getting Started
Repository Layout
apps/web/: private SvelteKit hosted democrates/: the tellegen engine and its wasm, server, CLI, and benchmark adapterspackages/engine/: public@tellegen/enginebrowser packagepackages/svelte/: public@tellegen/sveltecomponent packageexamples/browser-minimal/: minimal downstream Vite exampleexamples/svelte-minimal/: minimal Svelte example using the component packagescripts/: data staging and docs build helpersdeploy/: deployment compose files and proxy notesdocs/src/: mdBook documentation source
Prerequisites
- Rust from
rust-toolchain.toml, includingrustfmt,clippy, and thewasm32-unknown-unknowntarget - Node.js 22 or newer
wasm-pack0.15.x for browser WebAssembly builds- mdBook 0.5.x for local documentation builds
tellegen backend
cargo run -p tellegen-server
Set TELLEGEN_ALLOW_FALLBACK=1 to run without staged demo data:
TELLEGEN_ALLOW_FALLBACK=1 cargo run -p tellegen-server
WebAssembly Module
npm ci
npm run wasm
npm run build:engine
npm run build:svelte
tellegen frontend demo
npm ci
npm run wasm
npm run build:engine
npm run build:svelte
npm --workspace tellegen-frontend run dev
The Vite dev server proxies /api to http://localhost:8000. apps/web
resolves @tellegen/svelte through its built dist/, so build:svelte must
run before the dev server starts.
Framework Packages
Preview the package contents before publishing:
npm run pack:engine
npm run pack:svelte
Use @tellegen/svelte for the map, panels, local file flow, and solve card. Use
@tellegen/engine for apps that want case parsing and browser solves without
the tellegen UI. The hosted app is a private demo workspace that consumes
@tellegen/svelte like another Svelte app would.
Data
The ACTIVSg and CATS distributions are downloaded by the operator and are not
vendored. With the distributions under ~/Datasets:
scripts/stage-data.sh ~/Datasets
The script stages any complete case pairs it finds into data/. The backend
serves the staged subset; if nothing is staged, it exits unless
TELLEGEN_ALLOW_FALLBACK=1 is set. That fallback serves two pglib cases with
synthetic coordinates for CI and local smoke checks.
Docs
Install mdBook, then build the public docs:
scripts/build-docs.sh
CI pins mdBook to v0.5.3. For local work, any recent mdBook 0.5.x release
renders the book.