Tags: amirlehmam/wmux
Tags
feat(config): add ~/.wmux/config.toml reader + 17 bundled themes Follow-up to issue #4. Ships: - Minimal hand-rolled TOML parser (src/main/toml-parser.ts) — zero deps so the OneDrive-path native-module trap can't break it. - User-config loader maps [terminal] + [terminal.colors] + [terminal.colors.schemes.*] onto TerminalPrefs; file-wins-at-startup, app-wins-at-runtime semantics. - IPC: config.getUserConfig / config.reloadUserConfig / broadcast event. V2 pipe: config.get / config.reload. - CLI: `wmux reload-config`, `wmux config show|reload|path`. - Renderer merges parsed config over Zustand terminalPrefs on startup and on reload; userColorSchemes MERGE (don't clobber app-defined schemes). - 17 new bundled presets: Ayu Dark/Mirage/Light, Cobalt 2, Material Dark, Monokai Pro, Palenight, Oceanic Next, Everforest Dark, Rose Pine, Kanagawa, Horizon, SynthWave 84, Zenburn, GitHub Dark, Night Owl, Nightfly. (Now 29 total.) - docs/config.md with full example and precedence rules. - Tests: 13 new unit tests for parser + mapper (all pass). Bumps to 0.7.2. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
fix(agent): validate cmd field and accept prompt alias in spawn handlers Agent spawn was sending "undefined" to terminal when batch JSON used "prompt" instead of "cmd" as the field name. Now both agent.spawn and agent.spawn_batch accept either field name, with clear error if neither is provided. Defense-in-depth validation added in AgentManager.spawn(). Bumps version to 0.7.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix(agent): wait for shell prompt before sending agent commands The agent spawn had a blind 800ms setTimeout before writing the command to the PTY. PowerShell with integration scripts takes 1-3s to initialize, causing commands to be silently lost — agents would spawn terminals but never launch Claude Code. Now uses PTY data listener to detect prompt patterns (PS C:\...>, $, #, >) before sending the command. Falls back to 5s timeout if no prompt detected. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat(links): open terminal and markdown links in wmux browser panel All links clicked in terminal and markdown panes now open in the wmux browser panel instead of the system browser. If no browser panel exists, one is auto-created (split right). Ctrl+Click forces the system browser. Replaces the previous localhost-only interception with a unified approach that works for all URLs. Shared utility in utils/open-in-browser.ts. Also bumps version to 0.6.8. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat(browser): auto-create browser panel when none exists All `wmux browser *` commands now auto-split a browser pane to the right instead of erroring with "Browser panel is not open". Polls CDP attachment with a 5s timeout after creating the surface. Also bumps version to 0.6.7. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat(orchestrator): grid layout, contract files, sidebar cockpit, pat…
…h fix
Major orchestrator upgrade addressing three pain points from the last run:
1. Intelligent pane layout
- New `wmux layout grid --count N` CLI + pipe handler that builds a balanced
cols × rows grid in one atomic split-tree mutation (cols = ceil(sqrt(N))).
- Anchor pane preserved as top-left, N-1 new panes returned in row-major.
- spawn-agents.sh rewritten to call it once instead of cascading splits,
producing clean grids for any agent count.
2. Cross-agent drift prevention
- Phase 4.5 in orchestrate skill: detect coupled agents (HTML+CSS,
schema+consumer, API client+server) and generate shared contract file
at {orch-dir}/wave-{N}-contract.md before spawning.
- "READ BEFORE WRITING ANY CODE" block injected into coupled agent prompts.
- Updated decomposition-guide with strong/weak/no-coupling categories and
a resolution flowchart (merge / sequence / contract file).
- Fixes the naming-drift class of bugs that required 510 lines of alias
CSS to reconcile on the last marketing-site run.
3. Live sidebar cockpit
- main process orchestration-watcher polls TMPDIR for wmux-orch-*
state.json files and broadcasts to all windows via ORCHESTRATION_UPDATE.
- New React OrchestrationPanel in the sidebar shows task, elapsed timer,
per-wave progress bars, animated agent state dots (amber pulse for
running, green for done, red for failed), tool counts, reviewer state.
- Sleek amber-accented styling with scan-line animation, tabular nums.
- Auto-hides when no active run; collapsible header.
4. Fallback mode dashboard
- dashboard-text.js: ANSI-art dashboard for non-wmux mode, printed into
Claude Code's conversation at wave transitions. Truecolor + box drawing.
5. Plugin path fix propagation
- winpath() in spawn-agents.sh converts MSYS /c/Users/... to Windows
C:/Users/... so Node.js in wmux agent spawn can resolve the launcher.
- Plugin version 0.1.0 → 0.1.1 to trigger cache re-install on next
wmux start.
Versions: wmux 0.6.1 → 0.6.2, wmux-orchestrator plugin 0.1.0 → 0.1.1.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>