Mimir is an open source desktop terminal manager built with Go, Wails, Svelte, and xterm.js.
It focuses on local-first terminal workflows: local shells, SSH sessions, tmux-backed reconnects, command templates, notes, recordings, audit logs, and AI-assisted command workflows.
Mimir is pre-MVP software. Expect breaking changes while the terminal, SSH, recording, and update flows are hardened.
Current manual runtime testing is limited to:
Other Windows, Linux, and macOS versions may build or run, but they are not yet validated by the maintainer. Treat non-listed platforms as experimental.
Mimir is local-first by default.
~/.bashrc.agg GIF export downloads are pinned and SHA256-verified.See SECURITY.md and docs/security-notes.md.
Install Wails:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
Linux builds also need the Wails native dependencies. On Debian/Ubuntu:
sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev pkg-config build-essential
cd mimir
go mod tidy
cd frontend
npm install
cd ..
wails dev
Run tests:
go test ./...
cd frontend
npm run build
Local Windows + Linux release from PowerShell:
.\scripts\release-all.ps1 -Version 0.1.0 -UpdateRepository OWNER/REPO
Linux:
./scripts/release-linux.sh 0.1.0 --update-repo=OWNER/REPO
macOS:
./scripts/release-macos.sh 0.1.0 --update-repo=OWNER/REPO
Artifacts and checksums.txt are written to build/release/.
See docs/releasing.md.
The repository includes GitHub Actions for:
main and pull requestsv*To publish a release:
git tag v0.1.0
git push origin v0.1.0
.
├── app*.go # Wails backend bindings
├── terminal/ # Local and SSH terminal management
├── ssh/ # SSH profiles, keys, known hosts, secrets
├── template/ # Command templates
├── workflow/ # Workflow engine
├── aiflow/ # AI tool-flow policy and context handling
├── history/ # Optional command history
├── recording/ # Asciicast recording and GIF export
├── frontend/ # Svelte frontend
├── docs/ # Architecture, security, testing, release docs
└── scripts/ # Local release scripts
MIT. See LICENSE.