A Linear-inspired, keyboard-first desktop client for Jira Cloud, built with Tauri 2 + React 19 + TypeScript. macOS-first, with native window vibrancy, system tray, and Keychain-backed credential storage.
Dash is an unofficial, third-party client. Not affiliated with or endorsed by Atlassian. Jira is a registered trademark of Atlassian.
- Keyboard-first navigation and
Cmd+Kcommand palette - Kanban board with drag & drop, backlog view, and personal "My Work" view
- Slide-over issue detail panel and quick issue creation modal
- Dark / light theme
- Workstream tagging (
[FRONTEND],[BACKEND], etc.) with default-tag auto-prepend - Local SQLite cache for issues/sprints
- Background polling and native macOS notifications
- Credentials stored in macOS Keychain — never on disk
| Frontend | Backend (Rust) |
|---|---|
| React 19, Vite 7, Tailwind 4 | Tauri 2, reqwest, rusqlite (bundled) |
| TanStack React Query | keyring (macOS Keychain) |
| Zustand | tokio, serde |
| Framer Motion | window-vibrancy |
| dnd-kit | tauri-plugin-notification / log / global-shortcut |
| Radix UI Select, cmdk |
- macOS
- Bun (package manager)
- Node.js 20+
- Rust toolchain (
rustup) - Xcode Command Line Tools
bun install
npm run tauri:devThis launches the Vite dev server, opens the Tauri window, and compiles the Rust backend.
For a production macOS bundle (.app + .dmg under src-tauri/target/release/bundle/):
npm run tauri:buildFor detailed setup, troubleshooting, and team-internal distribution notes, see KURULUM.md (Turkish).
| Script | Description |
|---|---|
npm run dev |
Vite dev server only (frontend) |
npm run build |
Type-check + Vite production build (frontend) |
npm run tauri:dev |
Full app — Vite + Tauri window + Rust backend |
npm run tauri:build |
Build macOS bundle |
npm run tauri |
Raw Tauri CLI passthrough |
src/ React frontend (features, stores, api, layout, components)
src-tauri/ Rust backend (commands, jira client, db, keyring)
spec.md Product specification
docs/ Design guidelines
For architecture details and conventions, see CLAUDE.md and AGENTS.md.
This project does not ship an auto-updater. Releases are built and distributed manually. Team-internal distribution flow is documented in KURULUM.md.
For public distribution, the .app should be code-signed and notarized with an Apple Developer ID — otherwise users will hit Gatekeeper warnings. Signing is not configured in this repo.
Dash runs entirely on your local machine. No telemetry, no analytics, no third-party servers. See PRIVACY.md.
MIT — see LICENSE.