Quick Start
Prerequisites
Rust toolchain — Install via rustup
Node.js — v20 or later
pnpm — Package manager (
npm install -g pnpm)macOS — The app currently targets macOS only
Setup
Clone the repository and install dependencies:
git clone <repo-url>
cd zudo-text
pnpm installDevelopment
Start the Tauri dev server with hot-reload:
pnpm tauri:devThis runs both the Rust backend and the Vite dev server. The app window opens automatically. Frontend changes hot-reload instantly; Rust changes trigger a recompile.
First Launch
The app has no local workspace directory. On first launch it runs onboarding: sign in, then create an encrypted cloud workspace or connect one your account already owns. Everything the app manages lives in that workspace:
inbox/— Active notes (auto-managed)archives/— Archived messages, stored as numberedN.mdnotespins/— Pinned content directories.zudotext.settings.json— App configuration, synced across your devices
The binding that records which workspace this instance opens is the only local file: ~/. See Cloud-first onboarding for the flow, and Settings & Configuration for the layering.
For frontend-only work you can skip the workspace entirely — pnpm dev:mock runs the renderer against an in-memory backend with no Rust build and no sign-in.
App Layout
The main window is a frameset: a tree of splittable frames, each hosting one view.
+-------------------+-------------------+
| | |
| Editor | Preview |
| (markdown) | (rendered) |
| | |
+-------------------+-------------------+
Toolbar (top)Frames — Split horizontally or vertically; each frame hosts an editor, preview, note tray, board, AI assistant, or one of the other frame components
Toolbar — Header pins on the left (Inbox and Archives by default), layout controls and settings on the right
Layouts are not hardcoded: a header pin carries a whole frameset template and installs it in one click, and the live layout is saved in your synced settings. See Header pins and Frame/
Other Commands
# Build production .app bundle
pnpm tauri:build
# Run linting and formatting
pnpm check
# Start Storybook for UI component development
pnpm storybook
# Start documentation site dev server
pnpm start