Tauri 2 + Svelte 5 + xterm.js + portable-pty. Single full-window WSL terminal pane with clickable distro picker. M1 verified manually on Windows: window opens, xterm.js renders, claude TUI works, resize reflows cleanly. Graduated from ~/claude/ideas/wsl-mux/ per the approved plan at ~/.claude/plans/imperative-coalescing-feigenbaum.md. See memory.md for decisions, open TODOs, and the M2-M5 roadmap. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
1.9 KiB
Markdown
26 lines
1.9 KiB
Markdown
# Project: tiletopia
|
||
|
||
A Windows desktop app for running and arranging many WSL terminals at once. Built primarily to manage multiple `claude` sessions across projects in parallel; works for any multi-shell workflow.
|
||
|
||
## Working agreement
|
||
|
||
- This is a git repo with `origin` on Forgejo at `https://git.rdx4.com/megaproxy/tiletopia.git` (private). HTTPS auth uses the token in `~/.git-credentials` — pushes are non-interactive.
|
||
- Commit after each logical change with a one-line imperative message; `git push` after each commit (or at minimum before ending the session).
|
||
- Read `memory.md` at session start. Update it before ending the session.
|
||
- Never commit secrets — see `.gitignore` and the rules in `~/claude/CLAUDE.md`.
|
||
|
||
## Project-specific notes
|
||
|
||
- **Stack:** Tauri 2 + Svelte 5 + TypeScript + Vite + pnpm + xterm.js + `portable-pty`. Mirrors `~/claude/projects/claude-usage-widget/` for toolchain choices.
|
||
- **Build target:** Windows `.exe` only. Rust toolchain lives on the Windows host, not WSL.
|
||
- **Source location:** `D:\dev\tiletopia\` (Windows-native NTFS). Symlinked into WSL at `~/claude/projects/tiletopia` for editing convenience, but **all pnpm and cargo commands must run on the Windows host** against the `D:\` path — never the `\\wsl.localhost\...` UNC path (pnpm 11.x crashes inside `isDriveExFat`, and the underlying error gets swallowed).
|
||
- **Run:**
|
||
```powershell
|
||
cd D:\dev\tiletopia
|
||
pnpm install
|
||
pnpm tauri dev # iterate
|
||
pnpm tauri build # NSIS installer at src-tauri\target\release\bundle\nsis\
|
||
```
|
||
- **Validate in WSL:** `pnpm check` (svelte-check) runs in WSL and validates the Svelte/TS side without needing the Rust toolchain.
|
||
- **Plan reference:** `~/.claude/plans/imperative-coalescing-feigenbaum.md` — the approved plan that drove the scaffold and the full M0–M5 milestone roadmap.
|
||
- **Archived idea history:** the brainstorm phase + full session log lives at `~/claude/archive/ideas/wsl-mux/plan.md`.
|