Skip to content

crew: standalone multi-harness agent TUI + delegation MCP + docs site#5

Merged
dropdevrahul merged 16 commits into
mainfrom
tui-agent-flow
Jul 10, 2026
Merged

crew: standalone multi-harness agent TUI + delegation MCP + docs site#5
dropdevrahul merged 16 commits into
mainfrom
tui-agent-flow

Conversation

@dropdevrahul

Copy link
Copy Markdown
Owner

What

Turns the companion TUI into crew — a standalone terminal dashboard to run, chat with, and manage coding agents across harnesses (Claude / OpenCode / Cursor) — plus a delegation MCP server and a screenshots docs page.

crew TUI (tui/, Rust + ratatui)

  • Standalone: creates git worktrees natively, keeps its own .crew/ registry+config, needs only git + an agent CLI. Optional nexum engine is auto-detected (⚙ engine badge) for observed sessions + delegation.
  • Run agents in embedded PTYs; launch interactively (n) or headless (crew --new [--here]).
  • Manage the fleet: diff/log viewers (search + live-follow), commit·push·open-PR (single or bulk), retry/re-delegate, rename/label, multi-select, filters, sort, paging, settings, session persistence, completion toasts, worktree prune.
  • Git-aware: per-row dirty (±), ahead/behind, PR badge, fetch, harness/repo guards, crew --doctor.

Delegation MCP (scripts/mcp_server.py)

  • delegate / delegate_async / check / list_agents over stdio; registered in .mcp.json. Lets one agent delegate work to another harness as a managed sub-agent (visible live in crew).

Engine

  • harness.py, dispatch.py, worktree.py + tests (headless run → worktree → guardrail → verdict).

Docs

  • docs/crew/index.html — self-contained GitHub Pages page with live screenshots (generated by tui/site/gen.py). Integrated into the existing mkdocs site (verified with mkdocs build --strict); publishes at /nexum/crew/.

Tests

  • 44 Rust tests (incl. e2e: push, retry, --new, prune, remote-state, delegation→TUI) + 415 Python tests, all green.

Notes

  • Merging deploys the docs (docs workflow runs on main), publishing the crew page at /nexum/crew/.

Compact opencode.json command descriptions and set nx-plan command to
run under the plan agent via frontmatter.
Single TypeScript extension (.pi/extensions/nexum-pi.ts) wraps existing
Python scripts via subprocess, wiring session/tool events and nx-*
commands into the pi.dev harness. Fix dead retry branch: step status
is 'fail' not 'failed'.
Preserve the raw model id for display instead of the normalized key,
and annotate unknown models as '(→sonnet rates)' without corrupting
the breakdown key.
Ratatui dashboard that runs harness REPLs in owned PTYs. New-agent form
fixes:

- Seed the task into the REPL only once it has drawn its input box
  (wait for non-empty vt100 screen, 8s cap, + settle) instead of a blind
  900ms sleep that raced startup and dropped the task.
- Esc in the form now confirms before discarding typed input
  (ConfirmDiscard mode); empty forms still close immediately.
…site

crew: rebrand the TUI into a standalone product — native git worktrees,
own .crew/ registry+config, optional nexum engine (auto-detected). Chat with
agents in embedded PTYs; launch interactively or via crew --new [--here].

Manage the fleet: diff/log viewers (search + live-follow), commit/push/open-PR
(single or bulk), retry/re-delegate, rename/label, multi-select, filters, sort,
paging, settings, session persistence, completion toasts, worktree prune.

Git-aware: per-row dirty (±), ahead/behind, PR badge, fetch, harness/repo guards,
crew --doctor.

Delegation MCP (scripts/mcp_server.py): delegate / delegate_async / check /
list_agents over stdio; registered in .mcp.json. Engine: harness.py, dispatch.py,
worktree.py with tests.

docs/: self-contained GitHub Pages site with live screenshots (tui/site/gen.py).
Move the generated crew page to docs/crew/index.html (static page inside
docs_dir) so it coexists with the markdown docs instead of colliding with the
mkdocs-generated index.html. Link it from the docs home. Verified with
mkdocs build --strict (publishes at <site>/crew/).
@dropdevrahul
dropdevrahul merged commit 12524bc into main Jul 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant