Your Azure DevOps. Without the noise.
A fast, native desktop client for Azure DevOps β built for developers who want quick access to work items, pipelines, pull requests, and releases without the browser overhead.
Dashboard β Sprint overview with stats (tasks, reviews, running pipelines), recent work items, and pipeline status at a glance.
My Work β All your assigned work items with status grouping, type filtering (Task, Bug, PBI, Feature, Epic), sorting, and full-text search.
Work Item Details β View and update status with validated state transitions, edit titles, copy git branch names, and browse related items.
Pipelines β Monitor build pipelines with live status indicators, progress bars for running builds, and definition-based filtering.
Pull Requests β Review PRs directly from the app β approve, reject, filter by status (Active, Draft), search by title or author, and filter by repository.
Releases β Track release pipelines with environment deployment status, and approve or reject deployments with comments.
AI Standup Summary β Generate a standup summary from your recent activity using OpenAI. Configurable lookback period, one-click copy to clipboard.
Notifications β Polls Azure DevOps for PR reviews, pipeline failures, and work item mentions. Native OS notifications with sound support.
Themes β 9 dark themes: Midnight, Phosphor, Dracula, Monochrome, Crimson, Catppuccin, Sunburn, Claude, and Red Dead.
| Layer | Technology |
|---|---|
| Desktop framework | Tauri 2.0 (Rust) |
| Frontend | React 19, TypeScript 5.8 |
| Styling | Tailwind CSS 4, Radix UI, custom design tokens |
| State | Zustand 5 (global), TanStack Query 5 (server) |
| Forms | React Hook Form + Zod |
| Animations | Motion |
| HTTP | reqwest (Rust β PAT never exposed to frontend) |
| AI | OpenAI API (via Rust backend) |
| Package manager | Bun |
| Build tool | Vite 7 |
- Bun (package manager)
- Rust (for native builds)
- An Azure DevOps organization with a Personal Access Token (PAT)
git clone https://github.com/YuriPerro/riva-app.git
cd riva
bun install# Frontend only (no Rust required) β runs on port 1420
bun dev
# Full native app (requires Rust)
bun tauri dev# Frontend bundle
bun run build
# Native app (.dmg / .exe / .AppImage)
bun tauri buildbunx tsc --noEmit # Type check
bun run lint # ESLint
bun run lint:fix # ESLint autofix
bun run format # Prettier format
bun run format:check # Prettier checkβββββββββββββββββββββββββββββββββββββββββββ
β React 19 Frontend β
β (webview β no direct HTTP to Azure) β
β β
β invoke('command', { args }) β
ββββββββββββββββββββ¬βββββββββββββββββββββββ
β IPC
ββββββββββββββββββββΌβββββββββββββββββββββββ
β Tauri 2.0 / Rust β
β β
β #[tauri::command] handlers β
β Azure DevOps REST API (reqwest) β
β OpenAI API integration β
β Secure credential storage β
βββββββββββββββββββββββββββββββββββββββββββ
All Azure DevOps API calls go through Rust. The PAT token is stored securely and never exposed to the webview layer.
src/
βββ pages/ # Dashboard, Tasks, Pipelines, Pull Requests, Releases, Settings
βββ components/ # Shared UI components (shadcn/ui based)
βββ store/ # Zustand stores (auth, theme, notifications, openai)
βββ hooks/ # Global custom hooks
βββ lib/ # Core infra (Tauri invoke wrapper, theme manager)
βββ types/ # Shared TypeScript types (azure, work-item, pipeline, release)
βββ utils/ # Helpers (formatters, mappers, search)
βββ styles/ # Global CSS with design tokens and themes
βββ routes/ # Route configuration
src-tauri/src/
βββ main.rs # Entry point
βββ lib.rs # Tauri command registration (35+ commands)
βββ azure.rs # Azure DevOps API client
βββ openai.rs # OpenAI integration
- PAT tokens are stored in the Rust backend and never sent to the webview
- All Azure DevOps HTTP requests go through Rust (reqwest)
- No direct API calls from the frontend
Private project. All rights reserved.