Skip to content

Latest commit

 

History

History

tools

Folders and files

README.md

tools

Developer tooling: what the build does not do. Not published.

tool 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
verify-staged-release.sh checks a staged release against what the Central Portal refuses
mcp-swap/ points every installed agent CLI at this build of libtmux-mcp, and back

Build the tmux matrix

$ ./tools/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

$ ./tools/reap-stale-servers.sh          # report only
$ ./tools/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. Servers under the other /tmp/libtmux-* roots, which other libtmux ports use, are counted and reported, never killed. CONTRIBUTING.md explains why.

Check a staged release

CI's release rehearsal stages the version a tag would publish, signed by a key made for the run, and runs this over it:

$ ./tools/verify-staged-release.sh 0.0.1-alpha.17

It names each artifact the Central Portal would refuse: one the BOM manages that was not staged, a missing jar, sources or javadoc jar, a signature or checksum that does not match, or a POM without the metadata Central requires. The signing key's public half has to be in the keyring.

Try the MCP server in a real agent

$ ./gradlew :tools:mcp-swap:installDist
$ tools/mcp-swap/build/install/mcp-swap/bin/mcp-swap use --dry-run

mcp-swap/README.md covers the clients it knows, source modes, capability overrides, and how revert restores every config byte.

Next