Skip to content

blackhu0804/MimiDesk

MimiDesk

English | 简体中文

MimiDesk is a tiny desktop companion that keeps useful reminders close without turning your day into another dashboard.

It lives on your desktop as a small pixel pet, reminds you to drink water, keeps lightweight TODO reminders, and also ships with a terminal command for quick updates from your shell.

Status: early preview. MimiDesk is usable today, but packaging, signing, and release automation are still evolving.

MimiDesk desktop pet screenshot

Why MimiDesk?

Most reminder tools either disappear into a notification center or grow into a full productivity system. MimiDesk is intentionally smaller:

  • visible enough to be noticed
  • calm enough to stay out of the way
  • local-first by default
  • usable from both the desktop and the terminal

It is built for people who want a gentle nudge, not another inbox.

Features

  • Always-on-top desktop pet with pixel character styles
  • Click-to-open control panel for reminders, TODOs, and character switching
  • Hydration reminders with fixed interval presets and active hours
  • TODO reminders with quick presets, completion, deletion, and snooze actions
  • Native system notifications
  • Tray menu for show, hide, and quit
  • Terminal CLI that reads and writes the same local data
  • Local JSON storage with automatic migration from the old ~/.desktop-pet data directory

Installation

Prerequisites

MimiDesk is a Tauri application, so local development requires:

  • Node.js
  • pnpm
  • Rust and Cargo
  • macOS for the current desktop bundle

Install from source

git clone git@github.com:blackhu0804/MimiDesk.git
cd MimiDesk
pnpm install
pnpm install:local

The local installer builds the Tauri app and installs the mimidesk command into:

~/.local/bin/mimidesk

If your shell cannot find mimidesk, add this to your shell profile:

export PATH="$HOME/.local/bin:$PATH"

Usage

Start the desktop pet:

mimidesk start

Open the panel by clicking the pet. Drag the pet to place it where you want it.

CLI

The CLI is useful when you want to update MimiDesk without opening the panel.

mimidesk status
mimidesk data-path
mimidesk water every 45 --start 09:00 --end 22:00
mimidesk water now
mimidesk todo add "Write meeting notes" --due 2026-05-18T15:00:00Z
mimidesk todo list
mimidesk todo done <id-or-prefix>

Data And Privacy

MimiDesk stores data locally on your machine:

~/.mimidesk/app-data.json

There are no accounts, cloud sync, or telemetry. The app uses native notifications only for reminders you configure.

If you used an earlier build that stored data at ~/.desktop-pet/app-data.json, MimiDesk will migrate that data automatically the first time the new data file is missing.

Development

Run the desktop app in development mode:

pnpm dev

Run the web-only checks:

pnpm test:web

Run Rust tests:

pnpm test:rust

Run the full test suite:

pnpm test

Build release artifacts:

pnpm build

The macOS app and DMG are generated under:

src-tauri/target/release/bundle

Project Structure

MimiDesk
├── src/                  # React UI and frontend behavior
├── src/lib/              # Frontend helpers and tests
├── src-tauri/            # Rust/Tauri desktop app and CLI
├── scripts/              # Local installation helpers
├── package.json          # Node scripts and frontend dependencies
└── README.md

Tech Stack

  • Tauri 2
  • Rust
  • React
  • TypeScript
  • Vite
  • Vitest

Roadmap

See docs/ROADMAP.md for the current roadmap.

Near-term themes:

  • signed macOS release builds
  • easier installation
  • more character animations
  • import/export for local data
  • better recurring TODO support
  • optional break reminders and focus modes

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for setup notes and PR guidelines.

Good first areas include:

  • character sprites and animations
  • reminder presets
  • packaging and release automation
  • accessibility polish
  • documentation and screenshots

Before opening a pull request, run:

pnpm test

License

MimiDesk is released under the MIT License.

Security

Please see SECURITY.md for vulnerability reporting guidance.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors