NTM v1.11.0
Named Tmux Manager - Orchestrate AI coding agents in tmux sessions with beautiful TUI interfaces.
Quick Install
# One-liner install (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/ntm/main/install.sh | bash
# Homebrew (macOS/Linux)
brew install dicklesworthstone/tap/ntm
# Go install
go install github.com/Dicklesworthstone/ntm/cmd/ntm@v1.11.0Shell Integration
Add to your shell rc file:
eval "$(ntm shell zsh)" # for zsh
eval "$(ntm shell bash)" # for bash
eval "$(ntm shell fish)" # for fishChangelog
Features
- dbfd08c: feat(agent): add Canonical() method for centralized agent type normalization (@Dicklesworthstone)
- a1fa218: feat(agent): improve parser accuracy and add NeedsDoubleEnter agent trait (@Dicklesworthstone)
- dcc6377: feat(agentmail): add direct GetMessage fetch with inbox-scan fallback (@Dicklesworthstone)
- 6042558: feat(robot): add Ollama agent counting, fix pane-agent mapping, and propagate Canonical() normalization (@Dicklesworthstone)
- 3e95821: feat(robot): add registry-backed metadata for machine consumers (bd-j9jo3.7.3) (@Dicklesworthstone)
- d879ef1: feat(robot): add schema goldens and contract stability tests (bd-j9jo3.9.1) (@Dicklesworthstone)
- 0ebfe53: feat(robot): add unified section projection model for renderer parity [bd-j9jo3.6.5] (@Dicklesworthstone)
- d8577f5: feat(robot): add validation harness with deterministic fixtures (bd-j9jo3.9.6) (@Dicklesworthstone)
- 89c0868: feat(robot): align TUI dashboard with shared section model [bd-j9jo3.8.2] (@Dicklesworthstone)
- 1276b21: feat(serve): add REST parity for robot surfaces [bd-j9jo3.8.1] (@Dicklesworthstone)
- c6c453b: feat(tui): add 6 TUI Inspector profiles for new tui-upgrade features [bd-jynig] (@Dicklesworthstone)
- fbfc27d: feat(util): add SafeSliceFromEnd, GetLastNLines, and CountNonEmptyLines shared helpers (@Dicklesworthstone)
- c7a8def: feat: add Ollama/Cursor/Windsurf/Aider agent types, parallel pane capture, and cross-platform process state (@Dicklesworthstone)
Bug Fixes
- 76b3bf2: fix(docs): correct golden fixtures path in redesign transition guide (@Dicklesworthstone)
- c62ad00: fix(e2e): remove redundant min function shadowing Go builtin (@Dicklesworthstone)
- bae98d3: fix(handoff): sort mail threads by recency and normalize thread IDs (@Dicklesworthstone)
- f964585: fix(robot): correct mixed workload benchmark writer/reader assignment (@Dicklesworthstone)
- ddcbc8c: fix(robot): fix unread mail accounting and consolidate agent type resolution (@Dicklesworthstone)
- f119bcf: fix(robot): remove unused goroutine parameter in concurrent test (@Dicklesworthstone)
- a6886d3: fix(serve): add request_id to all robot REST handlers for consistency (@Dicklesworthstone)
- 6972308: fix(serve): harden memory daemon lifecycle and store copy semantics (@Dicklesworthstone)
- b415957: fix(serve): remove redundant session filtering in WS attention delivery (@Dicklesworthstone)
- 755c9b0: fix(serve): update TestToJSONMap nil-input expectation to match new empty-map behavior (@Dicklesworthstone)
- f968ccb: fix(status): expand agent type pattern matching and harden unified status (@Dicklesworthstone)
- 4cfe529: fix(status): prevent false idle classification from prompt-like output during active work (@Dicklesworthstone)
- df04cd0: fix(swarm): propagate context.Context through auto-respawner lifecycle (@Dicklesworthstone)
- d26f8c6: fix(swarm): remove unused sync import from pane_launcher.go (@Dicklesworthstone)
- 01d75f2: fix(worktrees): harden input validation and fix git command lifecycle (@Dicklesworthstone)
- 033aaed: fix: remove deprecated robot assembly functions and unused wrappers (@Dicklesworthstone)
- 9c3a613: fix: restore os.Getwd error handling in dashboard agent mail (@Dicklesworthstone)
- 418f83e: fix: unblock v1.11.0 release checks (@Dicklesworthstone)
Performance
- d3498da: perf(tui): async Ollama PS fetching and binary-search text truncation (@Dicklesworthstone)
Documentation
- 9ec30b8: docs(robot): add migration path comment for markdown renderer [bd-j9jo3.6.5] (@Dicklesworthstone)
- c882ae3: docs(skill): update SKILL.md, add reference docs, and sync beads database (@Dicklesworthstone)
Others
- 13a3370: chore(beads): bump migration hint timestamp (@Dicklesworthstone)
- d500691: chore(beads): close bd-rpa8o TUI regression suite [bd-rpa8o] (@Dicklesworthstone)
- 133dcda: chore(beads): sync beads issue database export (@Dicklesworthstone)
- 70c3021: chore(beads): sync beads issue database export (@Dicklesworthstone)
- f46b09d: chore(beads): sync beads issue database export (@Dicklesworthstone)
- fb27e93: chore(beads): sync beads issue database export (@Dicklesworthstone)
- 6b0ee47: chore(beads): sync beads issue database export (@Dicklesworthstone)
- a2af79c: chore(beads): sync beads issue database export (@Dicklesworthstone)
- 6320fba: chore(beads): sync beads issue database export (@Dicklesworthstone)
- c30a3d4: chore(beads): sync beads issue database export (@Dicklesworthstone)
- b4ca1a0: chore(beads): sync beads issue database export (@Dicklesworthstone)
- e933160: chore(beads): sync issue tracker state (@Dicklesworthstone)
- 39a015a: chore(beads): sync issues database with new build-fix tracking bead (@Dicklesworthstone)
- b8d7f93: feat(assign,status,models,policy): extend multi-agent support and harden path/policy validation (@Dicklesworthstone)
- cc4fc05: fix(agent,serve,tmux,watcher,coordinator,process): harden agent type normalization, fix idempotency scoping, improve daemon lifecycle, and eliminate test flakiness (@Dicklesworthstone)
- b540983: fix(cli/mail): harden display sanitization and add action-aware mark filtering (@Dicklesworthstone)
- dc1a21d: fix(cli/safety): unify approval-required exit codes and refresh status UI (@Dicklesworthstone)
- 85944f8: fix(cli/util): support shell-style quoting in editor command parsing (@Dicklesworthstone)
- 2c51e95: fix(palette,swarm): eliminate stale state bugs in palette reload/search and false prompt detection in auto-respawner (@Dicklesworthstone)
- d8f0813: fix(robot,serve): markdown rendering improvement and server config update (@Dicklesworthstone)
- ee43bba: fix(robot,worktrees): correct unread mail accounting and isolate worktree directories by session (@Dicklesworthstone)
- 2df1f08: fix(serve,ensemble,bv,state): pipeline defer safety, mail BCC, ring buffer optimization, stale PID cleanup (@Dicklesworthstone)
- 83b6282: fix(tui,serve,palette): eliminate stale state across dashboard panels, harden sidebar focus model, and fix memory daemon lifecycle (@Dicklesworthstone)
- 1052a0a: perf(audit,events): backward-scan for last entry, logger cache cleanup, query optimization (@Dicklesworthstone)
- 0a8417c: perf(resilience,ratelimit,health,tracker,checkpoint,redaction): async persistence, ring buffers, and allocation reduction (@Dicklesworthstone)
- e725ff0: refactor(agents,persona,cli): unify agent type normalization across remaining packages (@Dicklesworthstone)
- ed6a4b9: refactor(cli): propagate Canonical() normalization and add extended tests (@Dicklesworthstone)
- a58872b: refactor(cli): unify agent type normalization across all CLI commands (@Dicklesworthstone)
- 969fe65: refactor(cli,robot): expand assign detection and agent name normalization (@Dicklesworthstone)
- 0c8e11e: refactor(cli/adopt): generalize session adoption to support all agent types (@Dicklesworthstone)
- f4f3756: refactor(config): adopt Canonical() for model resolution and webhook agent type validation (@Dicklesworthstone)
- d20fa9e: refactor(context): adopt Canonical() for agent capabilities, compaction, rotation, and triggers (@Dicklesworthstone)
- 4907918: refactor(pipeline,workflow): unify agent type normalization via Canonical() (@Dicklesworthstone)
- 1dda8d5: refactor(robot,auth,session,swarm): adopt SendKeysForAgent and fix concurrency issues (@Dicklesworthstone)
- 60c014f: refactor(scheduler,swarm,infra): propagate Canonical() across all remaining subsystems (@Dicklesworthstone)
- 7c4841c: refactor(status): tighten comments on velocity-vs-prompt priority in state detection (@Dicklesworthstone)
- bf6e6dc: refactor(tmux): DRY pane parsing, secure FIFO directory, and robust content hashing (@Dicklesworthstone)
- c702c4e: refactor(tmux): replace canonicalAgentType switch-case with Canonical() (@Dicklesworthstone)
- 1109a0e: refactor(tui): adopt Canonical() for agent badges, icons, themes, and dashboard panels (@Dicklesworthstone)
- 69a5a8e: test(agent,auth,swarm): update tests for shared util functions and SendKeysForAgent (@Dicklesworthstone)
- ba1015c: test(e2e): add comprehensive operator-loop E2E coverage [bd-j9jo3.9.3] (@Dicklesworthstone)
- d1969e8: test(overlay-feed): add integration tests and e2e scenarios [br-rb9oj] (@Dicklesworthstone)
- 7287f7d: test(robot): add SQLite, adapter, and restart-recovery integration tests [bd-j9jo3.9.2] (@Dicklesworthstone)
- 364a8a9: test(robot): add adapter and SSE attention unit tests [bd-j9jo3.9.8, bd-j9jo3.8.3] (@Dicklesworthstone)
- f696cde: test(robot): add benchmark and regression coverage for latency, payload size, and storage churn [bd-j9jo3.9.10] (@Dicklesworthstone)
- c9eb186: test(robot): add comprehensive sensitivity and disclosure-control verification [bd-j9jo3.9.11] (@Dicklesworthstone)
- 53ac2ce: test(robot): add contract, schema, and registry discovery unit tests [bd-j9jo3.9.7] (@Dicklesworthstone)
- cc08c9a: test(robot): add unit tests for section projection and renderer parity [bd-j9jo3.9.9] (@Dicklesworthstone)
Full Changelog: v1.10.0...v1.11.0
Container Image: ghcr.io/dicklesworthstone/ntm:v1.11.0