What Bruno Does
- HTTP requests — REST, GraphQL, gRPC (beta)
- Plain text storage —
.brufiles in your repo - Environments — dev/staging/prod variables
- Scripting — pre-request and post-response JavaScript
- Tests — assertions on responses
- Auth — Basic, Bearer, OAuth2, AWS Sig
- CLI —
bru runfor CI/CD - Offline — no account, no cloud sync
Architecture
Electron app + open .bru file format (similar to HTTP files). Each collection is a directory tree. Environment files are .env style. CLI shares the same engine for headless runs.
Self-Hosting
Desktop app — no server. Collections live in your Git repo.
# Project structure
my-api/
├── bruno.json
├── environments/
│ ├── dev.bru
│ └── prod.bru
└── users/
├── list.bru
└── create.bruKey Features
- Plain text
.bruformat (Git-friendly) - Offline by default (no cloud account)
- Environment variables
- JavaScript scripting (pre/post)
- Built-in assertions
- CLI for CI/CD
- OpenAPI/Postman import
- Free, no paywall
Comparison
| Tool | Storage | Cloud | CLI | Price |
|---|---|---|---|---|
| Bruno | Plain text | Optional | Yes | Free |
| Postman | Cloud DB | Required | Newman | Paid tiers |
| Insomnia | YAML | Optional | Inso | Paid tiers |
| Hoppscotch | Cloud/local | Optional | Yes | Free + paid |
常见问题 FAQ
Q: 能从 Postman 迁移吗? A: 能。File → Import → 选 Postman collection JSON。Bruno 自动转 .bru 文件。
Q: 团队协作怎么做?
A: 把 collection 存 Git 仓库,团队 push/pull。环境变量用 .env 隔离敏感信息。
Q: 支持 GraphQL 吗? A: 支持。请求类型选 GraphQL,自动提供 introspection。
来源与致谢 Sources
- Docs: https://docs.usebruno.com
- GitHub: https://github.com/usebruno/bruno
- License: MIT