Skip to content

SVDV/mimir

Repository files navigation

Mimir

macOS desktop app + standalone web server for monitoring daily dev infrastructure.

Mimir Dashboard

Current

  • Jenkins pipeline status, triggers, and build history
  • Endpoint health monitoring
  • Cloudflare WARP connectivity
  • CLI tool version checks

Planned

  • Jira issues
  • GitLab pipelines and merge requests

Jenkins UX

Mimir wraps the Jenkins API with a set of quality-of-life improvements that make daily pipeline management faster and less error-prone.

Trigger & Parameters

  • One-click build triggers with a parameter form that supports text, boolean, and choice inputs
  • Parameter descriptions surfaced as inline tooltips
  • CONFIRM_* fields auto-linked to their primary parameter — hidden by default, auto-populated on trigger, with a toggle chip to unlink and edit independently
  • Saved presets per job — recall, edit, or bulk-trigger multiple presets at once

Organization

  • Drag-and-drop job ordering within and across color-coded groups
  • Collapsible groups with pass/fail badges
  • Fuzzy search across all jobs (Cmd+K)

Status & Monitoring

  • Live build status indicators with 30-second polling
  • Staleness-aware timestamp that shifts color from green to amber as data ages
  • Desktop notifications for build started, failed, recovered, and succeeded — configurable per job

Pipeline Detail

  • Click any job to view the declarative pipeline stage graph
  • Parallel stage groups expand to show child stages
  • Stage durations, status badges, SCM info, and git changes at a glance
  • Auto-refreshes every 5 seconds while a build is running

Stack

  • Frontend: React 19 + TypeScript, Tailwind CSS (Catppuccin Mocha theme), Vite
  • Backend: Rust workspace — mimir-core (shared logic), src-tauri (Tauri 2 desktop), mimir-web (Axum web server)
  • Package manager: Bun (frontend), Cargo (Rust workspace)

Getting Started

cp .env.example .env
cp config/app-config.example.json config/app-config.json
bun install

Desktop app (Tauri)

bun run tauri dev

Web server (standalone)

cargo run -p mimir-web

Listens on 127.0.0.1:8080 by default. For remote access or a custom port:

cargo run -p mimir-web -- --host 0.0.0.0 --port 3000

Building

Desktop — Apple Silicon (arm64)

bun run tauri build

Output: src-tauri/target/release/bundle/dmg/Mimir_<version>_aarch64.dmg

Desktop — Universal (arm64 + x86_64)

rustup target add x86_64-apple-darwin
bun run tauri build --target universal-apple-darwin

Output: src-tauri/target/universal-apple-darwin/release/bundle/dmg/Mimir_<version>_universal.dmg

Web server — macOS

cargo build -p mimir-web --release

Output: target/release/mimir-web

Web server — Linux (cross-compile from macOS)

Requires Zig and cargo-zigbuild:

brew install zig
cargo install cargo-zigbuild
rustup target add x86_64-unknown-linux-gnu

Then build:

cargo zigbuild --release -p mimir-web --target x86_64-unknown-linux-gnu

Output: target/x86_64-unknown-linux-gnu/release/mimir-web

Testing

cargo test --workspace   # Rust
bun run test             # Frontend

About

macOS desktop app + web server for monitoring dev infrastructure — Jenkins, healthchecks, Cloudflare WARP, CLI tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors