docsreference

Getting Started

Go from a fresh clone to a running grid: install the prerequisites, run 13x in dev mode, and walk through your first launch — pick a path, choose a shell count, configure a rig, launch it, and save it. 13x is local-first: no accounts, no sign-in, no network calls in this flow. Everything stays on your machine.

Prerequisites

You need three things installed before 13x will run. Rust crates are fetched automatically on the first cargo / tauri invocation, so you do not need to install them by hand.

  • Node.js 18+ and npm — for the React + TypeScript frontend (Vite).
  • Rust stable (1.77+) with the Tauri prerequisites for your OS. On Windows that means the WebView2 runtime and the MSVC build tools.
  • PowerShell 7 (pwsh) — every slot runs PowerShell. On Windows, 13x falls back to the built-in powershell.exe if pwsh is missing; on macOS and Linux you must install it first (e.g. brew install --cask powershell on macOS).
  • Because pwsh is cross-platform, 13x runs the same bootstrap and agent tracking unchanged on Windows, macOS, and Linux. If pwsh can't be found, the app surfaces install guidance rather than failing silently.

macOS / Linux PATH note

Apps started from Finder, Dock, or Spotlight inherit a minimal PATH. 13x repairs it at startup from your login shell (plus Homebrew / Microsoft / snap dirs) so pwsh and your agent CLIs resolve. If a non-standard or very slow (>3s) shell profile still hides a tool, launch 13x from a terminal, or put the directory in a standard rc file.

Install

From the repo root, run npm install. This installs the frontend dependencies. Rust crates are resolved lazily the first time you build or run the Tauri side, so the first dev run will take longer while Cargo compiles the backend.

Run in dev mode

Start the app with Vite + Tauri and hot reload using npm run tauri dev. The first launch compiles the Rust backend, so expect a wait before the window opens; subsequent runs are fast.

  • npm run tauri dev — start the app with hot reload.
  • npm run typecheck — runs tsc --noEmit for the frontend.
  • cargo check --manifest-path src-tauri/Cargo.toml — type-check the Rust side.

Build a production bundle

To produce an installable, optimized bundle, run npm run tauri build. If you ever need to regenerate the app icons from a source PNG, run npm run tauri icon app-icon.png.

First run: a walkthrough

Once the window is open, this is the path from empty grid to a saved, running rig. Defaults work at every step — you can skip straight from step 2 to step 4 if you just want shells.

  • Pick a PATH. Click PATH in the top bar and choose a project folder with the native picker. Every slot you launch is rooted in this folder. Loading an existing rig from the sidebar sets the path for you.
  • Choose a shell count. Pick 2 / 4 / 6 / 8 / 10 / 12. With no rig loaded, this creates default TERMINAL 1..N slots (role SHELL, no startup command), so launching behaves like a plain multi-terminal grid.
  • Open the RIG editor (optional). Click RIG to name the rig, set a layout, and configure each slot: a name, a role (SHELL / DEV / TEST / GIT / AGENT / LOG / SCRATCH), an optional startup command, and whether it auto-starts. Startup commands are stored visibly in the rig and run only for slots you mark auto — 13x never runs hidden commands. AGENT slots can attach Code Map context. Close with CANCEL/Esc to discard, or commit by saving or launching.
  • LAUNCH. Click LAUNCH (or Ctrl + L). All auto-start slots come up in the chosen folder and run their startup commands; other slots render empty with an activity picker so you can start them on demand. A slot that fails to spawn is reported individually while the rest keep running.
  • Use the per-card actions. Type into any terminal; each card header gives you FOCUS, RESTART, STOP, and CLEAR.
  • SAVE. Click SAVE (or Ctrl + S) to store the current setup as a rig. If it's unsaved you'll be prompted for a name; otherwise the active rig is updated in place.

Per-card actions

Each terminal card exposes its own controls so you can manage one shell without touching the rest.

  • FOCUS — maximize this terminal; the others keep running in the background. Ctrl + 1..9 focuses a terminal by number, and BACK TO GRID returns.
  • RESTART — kill and relaunch this shell in place, re-running its startup command.
  • STOP — terminate this shell.
  • CLEAR — clear this terminal's screen. Ctrl + L is reserved globally for Launch, so use CLEAR instead.
  • KILL ALL (Ctrl + K) tears down the whole grid after a confirm.

Keyboard shortcuts

  • Ctrl + L — Launch grid
  • Ctrl + K — Kill all (opens confirm)
  • Ctrl + S — Save rig (prompts if unsaved)
  • Esc — Close editor / back to grid
  • Ctrl + 1..9 — Focus terminal 1..9

Where rigs are stored

Rigs persist as a single JSON file in the app config directory — no cloud, no accounts. Saving updates the active rig in place, or prompts you for a name if it is unsaved.

Where to go next

  • Rigs — save your whole terminal workspace as a named rig and launch it in one click. This is the backbone the other features attach to.
  • Code Map — scan your repo into a local symbol graph and feed compact, local-only context to your agent slots.
  • Rig Resume — bring your whole grid back from a local checkpoint, with a plan shown before anything runs.
  • For the bigger picture, see Architecture and Security & Privacy.