feat: add Oh My ZSH plugin for Muse (all six phases)
Domain-aware, agent-native ZSH integration spanning six implementation phases:
§0 Core detection — zero-subprocess file reads for HEAD, domain, merge state; single batched python3 call for JSON/TOML meta; $MUSE_* env var cache with chpwd/preexec/precmd hooks.
§1 Prompt — muse_prompt_info() with domain icons (♪ ⌥ ₿ ⬡), SemVer right- prompt, merge state (⚡ ← branch n-conflicts), agent session badge, and MUSE_AGENT_MODE=1 machine-parseable mode [domain|branch|dirty:N|merge].
§2 Completions — _muse companion file: ~50 top-level commands with descriptions; branch/tag/remote/SHA/file/config-key argument completion; all midi (25), code (28), coord (6), plumbing (12) subcommands with domain-specific descriptions; per-command flag completion.
§3 Aliases — 30+ m-prefixed shortcuts (mst, mcm, mco, mlg, mdf, mbr…) plus domain shortcuts (mmidi, mcode, mcoord, mplumb).
§4 Workflow functions — muse-new-feat/fix/refactor, muse-wip, muse-sync, muse-safe-merge (conflict list + editor launch), muse-quick-commit (domain-aware metadata prompts), muse-health, muse-who-last, muse-agent-blame.
§5 Agent-native — muse-context (--json/--toml/--oneline), $MUSE_CONTEXT_JSON always exported, muse-agent-session/end/commit, JSONL session logging (pure ZSH printf, no subprocess), muse-sessions list/replay.
§6 Visual tools — muse-graph (domain-colored ANSI, SemVer badges, agent markers), muse-timeline (vertical Unicode timeline), muse-diff-preview (bat/delta), muse-commit-browser/branch-picker/stash-browser (fzf).
§7 Powerlevel10k — prompt_muse_vcs + instant_prompt_muse_vcs segments.
§8 Keybindings — Ctrl+B branch picker, ESC-M commit browser, ESC-H health.
§9 Hook system — MUSE_POST_COMMIT/CHECKOUT/MERGE_CMD user callbacks.
Also: fix four pre-existing typing violations in tests/test_bitcoin_plugin.py (ScriptType/CoinCategory/CoinSelectAlgo as Literal params; _AnyBitcoinRecord union alias instead of object in _json_bytes).
No comments yet. Be the first to start the discussion.