Skip to content

LieberInstitute/mango

Repository files navigation

Mango 🥭

Management of Agents with Notebooks and Git Oversight

The aim of MANGO is to enhance the user's abilities to rigorously manage agents using Claude Code, Codex, Gemini CLI, and tmux plugins to maximize oversight and accountability while minimizing hallucinations/confabulations and other risks.

Key aspects of purpose:

  • Fully replicable and well-organized Jupyter Notebooks with end-to-end data chain-of-custody and programmatic protections against fabricated data can be read in a web blog and replicated on JupyterHub.
  • Quality-of-life features for mobile devices, multiple-agent management, experiment organization
  • Agent-agent communication and collaboration

Table of Contents

Quick Start

git clone https://github.com/your-org/mango.git
cd mango

# Install Mango and select the CLI targets you want (`claude`, `gemini`, `copilot`, `codex`, `all`, or legacy `both`):
./setup-mango.sh

# Launch the Mango menu anytime:
mango

Features

Experiment Dashboard & Agent Management

The control center for multi-agent research. Monitor all experiments, agents, and distributed compute (multiple HPC clusters) from a single unified dashboard.

  • Real-time agent activity tracking (working/idle/waiting/dead)
  • Auto-refreshing project/workstream view with optional assignment hygiene hooks for Claude, Copilot, and Codex agents
  • HPC job monitoring across all clusters with automatic experiment assignment
  • W&B training run integration
  • Instant navigation to agent panes, experiment details, and linked plans
  • Squad mode: multi-agent coordination with task lifecycle, bump logs, handoff protocols, and swarm subtask management
  • Agent recovery: tier-based resurrection after reboots, fork detection (clones get parent-name-clone-NATO suffixes), session transcript repair

Launch: Ctrl+G → "Experiment Dashboard"


Agent Communication (/chat, /discuss, /report)

/chat — The primary method for all agent-to-agent coordination. Types directly into another agent's tmux pane — instant delivery, wakes idle agents, handles any length.

/chat agent-name-1 Your GPU job is blocking shared resources. Can you yield some capacity?

im — Cross-host /chat. Delivers the same signed message into an agent's pane on another machine over SSH: the local box resolves and signs the sender (unfakeable), then the target lookup, liveness check, and keystroke send all run on the remote host. Use it to coordinate agents living on a different instance.

im <host> <remote_agent> <message...>          # defaults: --pem ~/.ssh/<key>.pem  --user ubuntu
im gpu-worker.example.com agent-name-1 Your GPU job is blocking shared resources on that box — can you yield?

/discuss — Persistent cross-session collaboration via GitHub issue threads. Agents discuss, debate, and reach consensus on complex problems with full conversation history.

/report — S3-backed structured reports with markdown, LaTeX math, and images. Email notifications, organized archive by agent/date/tag. Built for agent handoffs, human-in-the-loop checkpoints, and long-running task updates.


Tmux Pane Coloring

Tmux pane backgrounds change automatically so you can scan your terminal and instantly know what every agent is doing:

  • Default background = Agent actively working
  • Purple background = Agent idle, waiting for input
  • Orange background = Team lead waiting on sub-agents

Research Blogging (/blog)

Jupyter notebook-based research workflow where all claims are backed by executed code — no hallucinated results. W&B API integration for experiment data provenance, automatic conversion to markdown, Vercel deployment.


Agent Safety Hooks

40+ hooks for preventing agent mistakes:

  • Block destructive commands: rm -rf, sed -i, git stash, env var changes
  • Enforce project structure: Sequential numbering, folder==script naming, README-first, one-script-per-folder
  • Block fire-and-forget processes: Prevents zombie process accumulation
  • Block silent error handling: Fail-fast design enforced at the tool level

IDE-Like Workspace Presets

The mango launcher provides preset workspaces:

  • Mobile Preset: nvim + Claude Code + lazygit (3 windows)
  • Desktop Preset: nvim + Claude Code (2 windows)
  • Battlestation Preset: nvim + Claude + lazygit + hooks manager (4 panes)

Mobile-Optimized Tools

Thumb-friendly tmux/tool navigator, Email and Pushover notification MCPs, and quick agent rule editing on-the-go.

How to Use

Detailed instructions and explanations are in the installation scripts.

Once installed, Mango workflows are invoked using the host CLI's native mechanism:

  • Claude Code / Gemini CLI / Copilot CLI: Mango workflows are exposed as slash commands or custom agents
  • Codex: Mango workflows are exposed as skills and repo instructions in AGENTS.md

Claude/Gemini/Copilot slash commands can be used with or without arguments:

# Without argument - uses current context
/blog

# With argument - specifies what to do
/blog "Explain our new caching architecture"

Codex equivalent: use /skills or type $ and invoke the matching Mango skill, for example mango-chat or mango-blog.

Multi-agent collaboration example (/discuss):

Agent 1 starts a discussion:

/discuss "How should we optimize the database queries?"

This creates a GitHub issue and returns an issue number (e.g., #42).

Agent 2 joins the same discussion:

/discuss 42

Now both agents collaborate in real-time on issue #42, building on each other's responses.

Direct agent communication example (/chat):

# Quick coordination
/chat oscar-juliet-0 Your train job is blocking my training launch. Can you finish in 10 min?

# Status check
/chat india-hotel-1 What's the status of HPC job 12345678?

# Technical discussion
/chat agent-name-1 I'm seeing the same data pipeline issue you debugged last week. Did you end up changing the config?

Research blogging example (/blog):

# Blog about your current work
/blog

# Blog about a specific topic
/blog "Performance improvements in our ML pipeline"

To learn more about available workflows and how they work, read:

  • Workflow docs: workflows/*.md (readable by both humans and LLMs)
  • Screenshot tool: docs/screenshot.py for capturing terminal screenshots with ANSI colors

Acknowledgements

This work used EXPANSE at the San Diego Supercomputer Center at the University of California, San Diego through allocation BIO240034 from the Advanced Cyberinfrastructure Coordination Ecosystem: Services & Support (ACCESS) program, which is supported by National Science Foundation grants #2138259, #2138286, #2138307, #2137603, and #2138296.

This work was supported by an Amazon Web Services Imagine Pathfinder grant.

About

A suite of MCP server extensions, Claude Code workflows, hooks and settings interfaces, tmux configurations and more to support rigor and productivity in agentic coding

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors