-
Notifications
You must be signed in to change notification settings - Fork 0
Bruno
title: Bruno type: tool created: 2026-05-21 last_updated: 2026-05-21 related: ["radar/techniques/RESTAPIDesign"] sources: ["https://github.com/usebruno/bruno"] radar_quadrant: Tools radar_ring: Assess radar_position: inner
An open-source, offline-first API client that stores collections as plain text files in a Git repository, positioning itself as a version-control-native alternative to Postman and Insomnia.
Postman and Insomnia store API collections in proprietary cloud accounts or binary formats. Bruno stores collections as .bru files — a plain text format using a custom DSL — directly on disk. A collection lives in a folder that can be committed to the same Git repository as the API it tests. API definitions, example requests, and environment variables travel with the codebase.
This makes several workflows possible that are awkward in Postman:
- Code review of API changes includes request definition changes in the same PR.
- Branch-specific collections — a feature branch can carry its own request variants without affecting main.
- No account required — Bruno runs fully offline with no sync service dependency.
A Bruno request file is human-readable plain text:
meta {
name: Get User
type: http
seq: 1
}
get {
url: {{base_url}}/users/{{user_id}}
body: none
auth: bearer
}
headers {
Accept: application/json
}
Variables use {{double_braces}} syntax. Environments define variable sets (dev, staging, prod) stored as separate .bru files.
Bruno supports pre-request and post-request scripts in JavaScript, and assertion-based tests against response data. Tests run from the CLI (bru run) enabling API collections to be executed in CI pipelines.
Bruno provides a Postman collection importer. Existing Postman collections can be converted to .bru format without manual re-entry.
Bruno sits in the Assess ring of the Tools quadrant, at inner position. First studied via the GitHub repository (2023-11-10). The project had significant traction at the time of bookmarking (rapidly growing star count as a Postman replacement following Postman's free tier restrictions in 2023). That is third-party traction, not first-person use: Bruno has not been adopted as the API client for any active project here, and the Trial gate requires that, so it stays at Assess. Inner position reflects immediate applicability to any project with an existing API test workflow, a frictionless migration path from Postman, and the git-native storage model as a concrete improvement over the status quo. The gate to Trial is adoption as the primary API client for at least one active project.