| .. | ||
| app | ||
| components | ||
| lib | ||
| public | ||
| src-tauri | ||
| .gitignore | ||
| biome.json | ||
| next.config.ts | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| tsconfig.json | ||
| turbo.json | ||
supermemory
supermemory desktop app — a Tauri v2 shell around the
Supermemory web UI (Next.js static export), talking to api.supermemory.ai.
Design docs live in /.context/desktop-app-*.md (spec, roadmap, architecture).
Develop
# from this directory — launches the native window and spawns `next dev` on :3003
bun run tauri dev
bun run dev on its own just starts the Next dev server on :3003 (no native window).
In development, the desktop UI and Rust auth commands default to the local API at
http://localhost:8787. Set NEXT_PUBLIC_BACKEND_URL / SUPERMEMORY_API_URL
if you need a different API.
Manual onboarding verification
Run the API locally on localhost:8787, then start the desktop app:
bun run tauri dev
Use this path before shipping auth or onboarding changes:
- Clear
localStorage["supermemory-desktop-onboarding-v1"]if you need a fresh first-run state. - Sign in with Google or email from the desktop login page.
- Confirm the browser callback returns to the desktop app and the first
authenticated route is
/onboarding, not the web console. - In the tools step, rescan and confirm Claude Code, Codex, and Cursor show detected paths when installed or configured.
- Preview each tool connection and verify the diff targets the expected config:
~/.claude.json,$CODEX_HOME/config.tomlor~/.codex/config.toml, and~/.cursor/mcp.json. - Apply one connection and confirm the app writes the MCP server, creates a
.smbakbackup when the config already existed, and reports the tool as connected after refresh. - Mount or skip the filesystem step, finish onboarding, relaunch the app, and confirm completed or skipped onboarding does not appear again.
SMFS integration uses the first available binary in this order:
SUPERMEMORY_DESKTOP_SMFS_BIN- bundled sidecar in
src-tauri/binaries smfsonPATH
The desktop-managed filesystem space uses container tags with the fixed
sm_fs_ prefix. The default development tag is sm_fs_desktop.
Build
bun run build # Next static export -> ./out (no Rust needed)
bun run build:native # copy local smfs sidecar, then build native .app / .dmg
Prerequisites for the native build
- Rust toolchain (
rustup) + Xcode Command Line Tools. - SMFS installed locally (
curl -fsSL https://smfs.ai/install | bash) forbun run build:native, or a pinned sidecar copied intosrc-tauri/binariesby CI. - App icons in
src-tauri/icons/— generate once withbun run tauri icon <path-to-1024px.png>.