A minimal, cross-platform Markdown viewer with plan review comments and voice-to-text transcription. Powered by Tauri.
- GitHub Flavored Markdown rendering (tables, task lists, strikethrough, autolinks)
- Syntax highlighting for 190+ languages
- Sidebar outline navigation with smooth scrolling
- Live reload on file save
- Dark / light / system theme cycling
- Plan review comments — GitHub-style inline comments for markdown files with AI prompt generation
- Voice to text — Built-in speech transcription powered by OpenAI Whisper (offline, 4 model sizes)
arandu README.md— Open files from terminal- Fast IPC via Unix socket (instant file opening if app is running)
- Automatic fallback to traditional launch if app is closed
- Installable via Homebrew (macOS) or manual download
- Persistent tray icon with custom "A" glyph
- Click to show main window
- "Show Window" and "Quit" menu items
- Closing window hides to tray instead of quitting (macOS/Linux behavior)
brew install --cask devitools/arandu/aranduDownload the latest release for your platform from the GitHub Releases page:
| Platform | Format |
|---|---|
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Linux | .AppImage, .deb |
| Windows | .exe |
On first launch (macOS), the app offers to install the
aranduCLI automatically. It can also be installed later via the menu: Arandu → Install Command Line Tool…
arandu README.md # open a file
arandu doc1.md doc2.md # open multiple files
arandu *.md # open all .md files in the current directory
arandu # opens the file pickerAdd inline comments to markdown blocks, track unresolved feedback, and generate consolidated review prompts for AI coding assistants. Comments persist in .comments.json sidecar files alongside your markdown.
Usage:
- Cmd/Ctrl+Click blocks to select and comment
- Bottom panel shows all comments with block indicators (H2, P3, C4, etc.)
- Generate review prompts with quoted context for AI tools
Record audio and transcribe to text using OpenAI Whisper models (runs locally, no API keys needed).
Usage:
- Alt+Space to start recording (configurable)
- Choose model size: tiny (75MB, fastest) to medium (1.5GB, most accurate)
- Transcription automatically copies to clipboard
- Select audio input device from settings
cd apps/tauri
npm install # install dependencies
make dev # run in development mode- Backend: Rust (Tauri framework) in
apps/tauri/src-tauri/src/lib.rs- Core logic and Tauri commandsipc.rs- Unix socket server (CLI communication)tray.rs- System tray integrationwhisper/- Voice transcription module
- Frontend: Vanilla JS + HTML in
apps/tauri/src/- No build step or bundler - served directly
- Communicates with Rust via
window.__TAURI__.core.invoke()
Using Makefile (recommended):
cd apps/tauri
make dev # run in development mode (hot reload)
make build # production build
make build-dev # local dev build with git hash (e.g. Arandu_0.0.0-abc1234.dmg)
make install # install app to ~/Applications + CLI to /usr/local/bin
make clean # remove build artifacts
make help # show all available targetsUsing npm/npx directly:
cd apps/tauri
npx tauri dev # development mode
npx tauri build # production buildscripts/set-version.sh 0.3.0 # update version across all config filesFor detailed architecture documentation, build instructions, and codebase guidance, see CLAUDE.md.
Key points:
- The macOS native app (
apps/macos/) is deprecated - use Tauri version only - Frontend is vanilla JS with no build step
- Tauri commands in
lib.rsbridge JS and Rust - IPC socket enables fast CLI-to-app communication on Unix systems