Fork me on GitHub

Tools that answer for a whole fleet,
and say when they could not look.

go-fleettools holds the small Go programs a fleet of hundreds of repositories needs and nobody wants to do by hand: sweeps (red branches, stale toolchains, unbounded readers, landing drift), a mutation check that proves a test can fail, a waiter that refuses to call an empty check list a pass, and a fuzz runner. They also hold the landing kit shared by the go-* landings. Each one says so out loud when it read nothing.

12 repositoriesevery tool has a README that says why it existsinstalled with go install
prwait
$ prwait -repo go-pkgx/pkgx 82 83
go-pkgx/pkgx#82 PASS SUCCESS:24
go-pkgx/pkgx#83 FAIL test (windows-latest)=FAILURE

# from the prwait README: a pull request passes only when
# checks exist, every one has finished, and all are acceptable.
One organisation, 12 repositories
What they have in common

Absence is never evidence.

Each tool was built after a wrong answer cost something, and each README says which. The same few rules recur.

๐Ÿ”‡

Silence is not a pass

prwait refuses an empty check list; mutate exits 0 only when the suite went red; a sweep that reads nothing exits non-zero instead of reporting a clean fleet.

๐Ÿ“…

Every answer carries its date

fleetfind prints the date of the inventory it answers from and warns when it is old: a "nothing matches" is only as good as when it was measured.

๐Ÿ”Ž

A lead, not a verdict

unbounded and landingdiff report where to look, never that something is broken, and say what they cannot see.

๐Ÿงช

A control that could fail

The tools are tested against a planted defect: fuzzrun against a failing target, landingkit against a tinted background, so that "found nothing" means something.

The organisation

Repositories

fleettools v0.40.1

Sweeps across about 1800 repositories: which default branches are red, which runners stopped, which modules are ahead of their tag, which foreign judges the CI never installs, and which tests exist without ever running. One command per sweep, under cmd/.

landingkit v0.12.0

The go-* landings’ shared design as a Hugo module, and the command that derives a brand from a logo, checks a landing against the reference (text and pixels) and checks every link of the built site. This very landing uses it.

mutate v0.7.0

Proves that a test can fail: applies one exact source mutation, runs the suite, restores whatever happens, and exits 0 only when the suite went red. mutsweep asks the same of every refusal in a package.

prwait v0.5.0

Waits until a pull request’s checks are finished, and refuses to call an empty check list a pass. Also waits for a branch or a workflow run.

staletools v0.3.0

Which installed Go tools were built with an older toolchain, and of those which actually parse Go source, because only for those is staleness a wrong answer. Also finds duplicates and older releases of themselves.

modfloor v0.3.0

The Go toolchain floor a module declares, against the floor a fix requires: reads the published go.mod, where a consumer reads it, and says which modules are below. modfloor pseudo fails when a fleet module is required at a pseudo-version.

unbounded v0.2.0

Which repositories read a ZIP entry or decode an image without a ceiling: the sweep that follows a fix across its siblings. Every hit is a lead, not a verdict.

fleetfind v0.2.0

Which repository already does this? A live, dated inventory of every organisation, because a hand-kept capability map drifts.

landingdiff v0.2.0

Which of a set of landing pages is the odd one out, by counting what each page puts in the shared design system.

fuzzrun v0.1.0

Runs every Go fuzz target of a module, in parallel within a load budget, and reports crashers with the corpus file that reproduces them.

.github no tag

Shared community health files, Renovate runner and preset for the organisation. It has no release: it is configuration.

docs on main

The documentation (Hugo + Hextra): one page per repository, from each repository’s README at its latest tag.

Install one.

Each tool is a Go module installed with go install; the documentation gives each one's install line, its commands and what it will not tell you.

The organisation on GitHub โ†’