
47.7k stars · MIT · v4.2.1 (2026-09-30) · Track this in Rising ↗
A desktop app for testing an API, with the requests saved as files in the repository.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 27 Oct 2026, the same day before this check.
Latest release v4.3.0 on 22 Oct 2026.
Public since September 2022, about 4 years.
47,871 stars and 3,035 forks.
359 commits and 213 new issues in the last 90 days.
495 contributors. 351 pull requests merged in 90 days.
No security policy file says how to report a problem. 5 published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 17.
▶Repo detailsthe review · specs · pros & cons · install
What it does
It sends HTTP requests and shows the response, in the same family of tools as Postman and Insomnia. Each request is stored as a small text file in a folder you choose, in a format the project calls Bru. Collections, environments and variables are all files, so they can be reviewed and merged like code. A command-line runner, bru, replays the same collection in an automated check. It needs no account and no sign-in, and it works with no internet connection. Version 4.2.1 was released on 30 September 2026, and code landed on 2 September 2026. It is a desktop application with a command-line companion; there is no hosted version to open in a browser.
Why it matters
Who it suits. Anybody building a web service who wants the saved requests to be part of the repository rather than part of someone else's cloud account. Those files become documentation that cannot go stale, because they change in the same commit as the code. Two people reading the same repository see the same requests. Skip it if what you actually need is shared team workspaces and cloud history, because that is the shape of tool this deliberately is not.
Verdict. Worth an hour, and the payoff is mostly in review: a change to an endpoint and the request that exercises it arrive together. Two things to watch: some Postman collections do not import cleanly and need editing by hand, and every machine needs the app installed. hoppscotch/hoppscotch is the option to look at if a browser-based client suits better, and Orange-OpenSource/hurl if the requests only ever need to run in an automated check.
Summary (Key Points)from the README
Key features
- Filesystem collections: Collections are stored as plain folders on your disk, with each request saved in Bru, a plain text markup language.
- Git-friendly: You can collaborate on API collections with Git or any other version control system you choose.
- Offline-only: Bruno has no cloud sync, and the README states there are no plans to add it. Data stays on your device.
- Cross-platform desktop app: Binaries are available for Mac, Windows and Linux.
- Command-line runner: The Bruno CLI runs collections from the terminal, aimed at automated testing and CI/CD pipelines.
- Official Docker images: The CLI is published to Docker Hub and the GitHub Container Registry on every CLI release, in alpine and debian variants for linux/amd64 and linux/arm64.
- Mostly open source: The README says the majority of features are free and open source, with optional paid versions.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| Binary download from the website (Mac, Windows, Linux) | The README does not list extra requirements | Low |
| Package managers: Homebrew, Chocolatey, Scoop, Snap, Flatpak, Apt | The matching package manager on your system | Low |
| Bruno CLI via npm | Node.js and npm on the host | Low to moderate |
| Bruno CLI Docker images | A container runtime; Node.js and npm are not needed on the host | Moderate |
Important
- No cloud collaboration: Sharing relies on Git or another version control system, since Bruno is offline-only.
- Paid tiers exist: Some additional features are in commercial versions, so check the pricing page if you need them.
- Docker details live elsewhere: Tag matrix, environment files and CI examples are in the external Bruno CLI Docker documentation, not the README.
- CLI reference is external: The full command reference is in the separate Bruno CLI documentation.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- Requests live in git, so who changed what and when is visible.
- No account and no sign-in. It works offline.
- A command-line runner means the same requests can guard a deploy.
- Shared workspaces and cloud history are not the point here. A team that needs those will find it thin.
- Some Postman collections do not import cleanly and need editing by hand.
- It is a desktop application, so every machine needs it installed. There is no web version.
# Desktop app: download from https://www.usebruno.com/downloads # macOS: brew install bruno # Command-line runner, for automated checks: npm install -g @usebruno/cli cd my-api-collection bru run --env local




