# Bruno — Open-Source IDE for API Exploration & Testing > Bruno is an open-source IDE for exploring and testing APIs — a lightweight, offline-first alternative to Postman and Insomnia. Stores collections as plain text files in your filesystem so they version-control naturally with Git. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use Download from https://www.usebruno.com/downloads (Mac/Win/Linux) or: ```bash # macOS brew install bruno # CLI for CI npm i -g @usebruno/cli bru run --env prod tests/ ``` Create a request (`users.bru`): ``` meta { name: List Users type: http seq: 1 } get { url: {{baseUrl}}/api/users body: none auth: bearer } auth:bearer { token: {{token}} } ``` ## Intro Bruno is an open-source, offline-first API client. Stores collections as plain `.bru` text files in your filesystem — perfect for Git versioning. The Postman-killer for teams who refuse cloud lock-in. - **Repo**: https://github.com/usebruno/bruno - **Stars**: 42K+ - **Language**: JavaScript (Electron) - **License**: MIT ## What Bruno Does - **HTTP requests** — REST, GraphQL, gRPC (beta) - **Plain text storage** — `.bru` files 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 run` for 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. ```bash # Project structure my-api/ ├── bruno.json ├── environments/ │ ├── dev.bru │ └── prod.bru └── users/ ├── list.bru └── create.bru ``` ## Key Features - Plain text `.bru` format (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: Can I migrate from Postman?** A: Yes. File → Import → select a Postman collection JSON. Bruno automatically converts it to .bru files. **Q: How does team collaboration work?** A: Store the collection in a Git repo and have the team push/pull. Use `.env` for environment variables to keep sensitive info isolated. **Q: Does it support GraphQL?** A: Yes. Select GraphQL as the request type and introspection is provided automatically. ## Sources & Credits - Docs: https://docs.usebruno.com - GitHub: https://github.com/usebruno/bruno - License: MIT --- Source: https://tokrepo.com/en/workflows/bruno-open-source-ide-api-exploration-testing-89ca3775 Author: Script Depot