Operations
Migration and Upgrade Guide
How to Upgrade
# 1. Pre-upgrade check
# 2. Pull latest changes
&&
# 3. Apply with diagnostics
# 4. Post-upgrade verification
Version History
v0.2.501 (Current)
- Wallpaper-driven theme engine — themes auto-generated from wallpapers via K-Means in CIELAB color space (no hand-crafted themes)
- Dynamic HEIC support — custom wallpapers ship as Apple-compatible single-file dynamic HEIC; macOS auto-switches dark/light
- System wallpaper discovery — pulls themes from
/System/Library/Desktop Pictures/(macOS) and/usr/share/backgrounds/(Linux) dot theme rebuild— parallel K-Means generation (4 jobs), mtime-based caching, orphan cleanup- WCAG AAA enforcement — all generated themes pass 7:1 contrast for fg/bg, accent_text/accent, c15/bg
- macOS accent from wallpaper hue —
dot-theme-syncreadsmacos_accentfrom themes.toml and forces UI refresh - HEIC → PNG auto-conversion on Linux for non-HEIC-aware desktops
- Build artifact redirection — Cargo, Go, pip, uv, Zig caches →
/tmp/builds/(cleared on reboot) - CI dedup —
ci-enforced.ymlreusesreusable-shell-lint.ymlandreusable-test-suite.yml
v0.2.500
- Added AI CLIs: Autohand Code, Mistral Vibe, Qwen Code, ZAI
- Removed Cline CLI (broken upstream dependency)
- Interactive mise installer for missing AI providers
- Mise-first provisioning for all AI tools
- User extension points: rc.d.local, modules.d, custom dot commands
- SSH config hardening template
- Ghostty and WezTerm terminal configs
- Modern CLI tools: delta, fd, dust, bottom, lazygit, lazydocker, tldr
- Auto-prewarm after dot apply
- Expanded Atuin history filters
v0.2.497
- Theme system with Catppuccin integration
- Linux desktop parity (Niri, Waybar, Fuzzel)
- AI tooling expansion (Kiro, OpenCode)
- Coverage contracts and QA docs
v0.2.496
- Verified chezmoi installer
- Shell startup optimization
- Property-based tests
Breaking Changes
If you are upgrading from v0.2.501 or earlier, note these changes:
themes.tomlis now generated — do not hand-edit. Rundot theme rebuildto regenerate from wallpapers- Theme names changed — old hand-crafted names (e.g.
catppuccin-mocha,macos-tahoe-darkwith hardcoded palettes) are replaced by wallpaper-derived names. The picker only shows paired wallpaper themes. - Wallpaper format — custom wallpapers should be dynamic HEIC (single file, both appearances). Use
bash scripts/theme/merge-wallpaper.shto merge separate dark/light pairs. - Build caches relocated — Cargo/Go/pip/uv/Zig now write to
/tmp/builds/. Restart your shell after upgrade somise [env]picks up the new paths.
If you are upgrading from v0.2.501 or earlier:
- Cline CLI removed — if you used
dot cline, switch to a different AI CLI - AI tools now install through mise — run
mise installto set up AI providers - SSH config hardening — check
~/.ssh/configafter apply, as it may change your current settings
Rollback
If something goes wrong after an upgrade:
# Quick rollback to previous state
# Rollback to specific backup
# Git-based rollback
Before You Upgrade
- Run
dot doctor— make sure everything is healthy - Run
dot diff— review any pending changes - Back up custom configs:
dot rollback backup - Read CHANGELOG.md for breaking changes
After You Upgrade
- Run
dot doctor— make sure the upgrade worked - Run
dot prewarm— rebuild shell caches - Restart your shell:
exec zsh - Test AI tools:
dot ai