About
Abbreviatory turns large tool output into a short report that keeps what matters. It’s an open source project under the Apache License 2.0, made by SoftDevStudio.com. The code is on GitHub.
The current release is v0.4.0, which reads diffs, HTTP responses and directory listings as well as test runs, logs and JSON. Coding agents and CI systems can call it directly, as an MCP server or an HTTP service. You can also try it in your browser. It’s early. What it does, it does well and it’s tested, and the reference lists plainly what it can’t do yet.
Why the Project Exists
Test suites, builds and services print far more than anyone reads. A run with a few thousand passing tests and a handful of failures is mostly noise. People scroll past it. CI jobs paste it into summaries nobody opens. Coding agents read all of it, every time, and pay for it.
The usual fix is to ask a language model for a summary. That works until the summary drops the one line that mattered, and you can’t tell, because a summary doesn’t say what it left out.
Abbreviatory takes the other road. It only removes what its rules say is safe to remove. It says what it removed and how much. And everything it removed has a reference you can expand back to the original bytes. The explainer goes through the idea in plain words.
What v0.4.0 Does
- Reads the formats you have. go test (plain and
-json), pytest (verbose or not), JUnit XML (Jest, Maven, Gradle and most CI tools write it), application logs, JSON documents, Git diffs, HTTP responses as curl prints them, and directory listings from find, ls, tree and du. It detects which one it’s looking at. - Folds repeats. Lines that differ only in numbers, IDs, addresses and timestamps become one line with a count, like
x486. - Keeps what matters first. Failures, errors, warnings and anything matching your own
-keeprules come before everything else. - Fits a byte budget. The report never goes over the size you set. 4 kB by default.
- Leaves nothing unreachable. Every line it leaves out sits behind a reference such as
[ref d2f86a61aa96:g10], andabbreviatory expandgives back the original lines, byte for byte. - Gives the same answer every time. Same input and options, same bytes out. No model, no network, no tokens.
- Says what changed since the last run. Give it a history and it lists new failures, fixed ones, the ones still failing and for how many runs, and the flaky ones. When nothing changed, the report is one line.
abbreviatory runwraps the test command and keeps its exit status. - Talks to agents and CI directly.
abbreviatory mcpgives coding agents four tools over the Model Context Protocol: run a command and get the reduced report, reduce output they already have, expand a reference, list run histories.abbreviatory serveoffers the same over HTTP, on your machine only unless you set a token.
It ships as one static binary for Linux, macOS and Windows, written in Go with nothing outside the standard library. Download it or start with the quick start.
Where It Goes Next
Comparing runs came in v0.2.0, the MCP server and the HTTP service in v0.3.0, diffs, HTTP responses and directory listings in v0.4.0. That finishes the plan the project started with. What comes next will be posted here.
How the Project Works
- Every number on this site is measured. It comes from the test results recorded in the code repository, in test/results, along with the machine they ran on.
- Limits are written down. If something isn’t covered, the reference page says so.
- Releases are automated. A release is built, smoke-tested on each kind of machine and published by the release workflow, with nothing published if a check fails.
Questions People Ask
Does it use AI?
No. It works by rules and pattern matching. It never calls a language model and needs no API key. When an agent uses it, the agent reads less, so the agent’s own token use goes down. Abbreviatory itself uses none.
Can it understand any text?
No, and it doesn’t pretend to. It reads formats it knows. Anything else is read as a log, where it can still find error and warning lines and fold repeats, but it can’t judge which sentence of free prose matters.
Does it keep my logs?
On your own disk, gzipped, for a week by default and up to 500 MB, so references can be expanded. Nothing leaves the machine. -no-store turns that off.
What does it cost?
Nothing. It’s Apache 2.0.
Get in Touch
Questions, bug reports and formats the project should read are welcome on the contact page.