micasa
Your house is quietly plotting to break while you sleep -- and you're dreaming about redoing the kitchen. micasa tracks both from your terminal.
Single SQLite file. No cloud. No account. No subscriptions.
Features
- When did I last change the furnace filter? Maintenance schedules, auto-computed due dates, full service history.
- What if we finally did the backyard? Projects from napkin sketch to completion -- or graceful abandonment.
- How much would it actually cost to... Quotes side by side, vendor history, and the math you need to actually decide.
- Is the dishwasher still under warranty? Appliance tracking with purchase dates, warranty status, and maintenance history tied to each one.
- Who did we use last time? A vendor directory with contact info, quote history, and every job they've done for you.
Keyboard driven
Vim-style modal keys: nav mode to browse, edit mode to change things. Sort by any column, jump to columns with fuzzy search, hide what you don't need, and drill into related records.
See the full keybinding reference.
Install
Requires Go 1.25+:
go install github.com/cpcloud/micasa/cmd/micasa@latest
Or grab a binary from the latest release.
Linux, macOS, and Windows binaries are available for amd64 and arm64.
micasa --demo # poke around with sample data
micasa # start fresh with your own house
micasa --print-path # show where the database lives
One SQLite file. Your data, your machine. Back it up with cp.
Need Nix or container install options? Use the full installation guide.
Documentation
Full docs at micasa.dev/docs -- start with Installation and First Run, then use the Guide and Reference.
Development
Pure Go, zero CGO. Charmbracelet + GORM + SQLite. Entirely vibe-coded with Claude via Cursor -- an experiment in AI-assisted development.
PRs welcome -- including AI-assisted ones, as long as you've reviewed and curated the code. See the contributing guide for details. The repo uses a Nix dev shell with pre-commit hooks for formatting, linting, and tests:
nix develop # enter dev shell
go test -shuffle=on -v ./... # run tests
License
Apache-2.0 -- see LICENSE.