Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 2.35 KB

File metadata and controls

80 lines (57 loc) · 2.35 KB

scripts

What the build does not do.

script does
tmux-matrix.sh builds every supported tmux release into a tree the version matrix can use
reap-stale-servers.sh reports and optionally ends tmux servers this port abandoned
mcp_swap.py points every installed agent CLI at this build of libtmux-mcp

Build the tmux matrix

$ ./scripts/tmux-matrix.sh ~/tmux-builds
$ ./gradlew testTmuxMatrix -PlibtmuxMatrix=~/tmux-builds

It reads the lane list out of build-logic, so it cannot drift from the releases the matrix actually runs. CI builds the same set, one release per runner.

Reap abandoned servers

$ ./scripts/reap-stale-servers.sh          # report only
$ ./scripts/reap-stale-servers.sh --reap   # end them

The suite already does this for itself. This is for the case it cannot reach: a server whose test JVM was killed and whose socket the system's temp cleaner has since removed, which is then addressable only by its own argv.

It only ever touches sockets under this port's roots/tmp/libtmux-java-test and /tmp/libtmux-java-dev. Sibling ports' servers are counted and reported, never killed. CONTRIBUTING.md explains why.

Try the MCP server in a real agent

See what each CLI points at now:

$ uv run scripts/mcp_swap.py status

Point them all at this build, having first said what it would do:

$ uv run scripts/mcp_swap.py use --dry-run
$ uv run scripts/mcp_swap.py use \
    --socket /tmp/libtmux-java-dev/demo/s \
    --safety destructive \
    --watch

Put them back:

$ uv run scripts/mcp_swap.py revert

It rewrites global configs only, touches only the one server entry named by --name (default tmux), and keeps everything else in the file — including comments in TOML. The backup is taken once, so swapping something already swapped still reverts to the config that was there before any of it started.

To try it without changing anything at all, most CLIs take a config per invocation instead — claude --mcp-config <file> --strict-mcp-config, or codex exec -c 'mcp_servers.tmux.command="..."'.

Next