Bruno's Fetch button publishes the collection, but the catalog still finds no contract

Bruno's Fetch button publishes the collection, but the catalog still finds no contract

Bruno has published a guide to sharing collections and API docs publicly, and its opening line is the whole thesis: “Your collection is already the most accurate description of your API.” From there Bruno offers two routes. Push the collection to a public Git repository and put a Fetch in Bruno button in the README, so a reader clicks once and gets a real Git clone, not a snapshot, that pulls your updates when you push. Or open the collection’s Overview tab, click Generate Docs (or run bru docs generate in CI), and get a single HTML file with a Try playground and code samples that can be hosted anywhere static files live. Bruno’s recommendation is both, from one Git-backed collection, and it says everything in the post works in the free edition.

There is very little marketing to discount here. The free-versus-paid line is drawn honestly: initializing Git, the button, the reader’s clone, fetch and pull, and doc generation are free, while connecting a remote, committing, pushing and branching from inside the app’s Git UI need Pro, Ultimate or a trial. The security advice is concrete, too. Secret environment variables are masked and kept off disk, external secrets are fetched from a provider at run time, and neither lands in the repository or the generated HTML. The most useful detail for anyone who already maintains a spec is that the same button accepts an OpenAPI 2.0 or 3.x URL with type=openapi and converts it into a collection on the reader’s machine.

The catalog record agrees with the architecture. Bruno on apis.io is described as a git-native, offline-first developer tool rather than a hosted API, and the pieces this guide walks through each have a page: the Bruno API Client that renders the button’s clone, the Bruno Git Integration and Sync that carries every update, the Bruno CLI (bru) that generates the docs in CI, and the OpenCollection Format and Bru Markup Language (.bru) the collection is actually written in.

The measurement is where the thesis turns back on itself. Bruno scores 50.4 on the Kin Score, developing, carried by access clarity at 92.1 and discoverability at 71.7. Contract quality is 0.0 and contract governance is 18.2, and Agent Readiness sits at 9.6 with spec presence unlit. That is mostly fair, since the catalog record says Bruno does not expose a documented public REST API, so there is no contract of Bruno’s own to score. But it is also the gap the post describes for everyone else: a collection is a description of an API that a person can click, while a machine still needs a spec. Bruno’s own button already knows that, which is why it takes an OpenAPI URL.

← Benelux is led by payments, and its 18 university records outscore most of its other providers
Our CI/CD page ranks Salesforce third and leaves out CircleCI, Jenkins and Buildkite →