Skip to content

Getting Started

Reeshav Sinha edited this page Jun 20, 2026 · 4 revisions

Getting Started

This page gets you from zero to a running, simulating machine.

1. Install the desktop app (recommended)

  1. Go to the latest release.
  2. Under Assets, download the installer for your platform:
    • Windows.msi or .exe (NSIS) installer.
    • macOS.dmg (universal/Apple‑Silicon depending on the build).
    • Linux.AppImage or .deb.
  3. Run the installer and launch AutomataLab.

Auto‑updates are supported from v1.0.2 onward. Newer versions download and install over the air, so you only need to install manually once. (Builds v1.0.0/v1.0.1 cannot self‑update and must be upgraded manually.)

macOS / Windows security prompts

The app is signed for updates but may not be notarized/code‑signed for the OS gatekeeper. If your OS warns about an unidentified developer, allow it via System Settings → Privacy & Security (macOS) or More info → Run anyway (Windows SmartScreen).

2. Try it in the browser

Prefer not to install anything? A web build runs at https://automata-lab-sim.vercel.app. The simulation engine is identical to the desktop app; only native features (OS file dialogs, auto‑update) differ — in the browser, saving/loading uses file download/upload instead.

3. Build from source

You need Node.js (LTS), npm, and the Rust toolchain plus the Tauri v2 prerequisites for your OS.

# Clone
git clone https://github.com/reeshavsinha/AutomataLab.git
cd AutomataLab

# Install JS dependencies
npm install

# Run the desktop app in dev mode (hot reload)
npm run tauri:dev

# …or run just the web frontend
npm run dev

Useful scripts:

Command What it does
npm run tauri:dev Desktop app with hot reload
npm run dev Web frontend only (Vite dev server)
npm run build Type‑check (tsc) + production web build to dist/
npm run tauri:build Build native installers for the current OS
npm test Run the unit test suite (Vitest)

See Architecture for a tour of the codebase.

4. Your first machine (a 60‑second DFA)

  1. Pick a machine type in the toolbar — leave it on DFA.
  2. Press N (or the Add state tool in the left rail) to drop a state. Add a second one.
  3. Mark the first state as start and the second as accept via right‑click → ... on each node.
  4. Hover a state until the connection dot appears, then drag to another state to create a transition. In the editor that pops up, type the symbol(s) it reads (e.g. a).
  5. Type an input string in the input bar at the bottom.
  6. Press Space to play, or S / to step. Watch the active state light up; the status badge shows Accepted / Rejected when the input is consumed.

Next, read the User Guide for the full editor, or jump to Machine Types to learn the models.

Clone this wiki locally