Hello people, I just found something new - meet Bruno. It is giving Postman vibes but it is open-source and Git-friendly.
Oh, and did I mention it's completely local? No logins, no cloud. Just you and your laptop, vibing and testing APIs.
Let's dive into why Bruno is your new bestie.
Downloading Bruno is like super easy! You can download the app in the browser or use an installer that suits your needs:
- Homebrew (if you’re a Mac person):
- Snap (for all my Linux peeps):
- Chocolatery (Windows gang!):
Okay, so youʼve got Bruno installed — now what? Opening the app for the first time will give you serious déjà vu if youʼre used to Postman. The interface is super clean, intuitive, and you instantly know what's what.
Thereʼs no clutter or random features thatʼll make you go, “Wait… what does this do again?” Nope. Everything is right there, clear and simple. As a Macbook girlie I love a clean UI.
No account required. Yep, you heard me right. You donʼt need to create some random account, wait for a verification email, and sell your soul to the cloud gods. Bruno runs completely local on your machine. So, if youʼre the type who likes keeping things offline (or youʼre just a little paranoid about your API data), Brunoʼs got your back.
One of Bruno's best features is that you can easily share collections and collaborate with your team using Git. No more zipping up collections and emailing them or dealing with Postmanʼs 3-user share limit. Sharing and tracking changes are effortless thanks to the git integration.
Even if youʼre just starting out in test automation, Brunoʼs got you covered. Itʼs like having the best of both worlds, easy enough for juniors (like me) but with few options for those advanced cases.
It's very beginner-friendly to create a collection with a few requests for your API's. Also, the docs are straightforward to read.
If you are juggling multiple environments (like dev, staging, prod, etc.), Bruno lets you set up environment settings with ease. You can also use .env files or secrets for storing sensitive values. This is all about keeping things organized.
- baseUrl is your static API endpoint.
- devUrl and prodUrl are pulled dynamically from your .env file.
- Any sensitive values, like authorizationSecret, are securely stored using the vars:secret option.
This setup keeps everything organized and secure, so you do not accidentally expose sensitive info!
Just like Postman, Bruno lets you run scripts and add tests to your requests. But Bruno also has an intuitive assertion column where you can easily set up conditions like “matches,” “contains,” “equals,” etc.
Bruno has a CLI option thatʼs perfect for running collections inside your CI/CD pipelines. If you want to automate your API tests and run them with each new code push, Bruno is there for you.
Just one FYI though — if youʼre adding console.log in the script option, donʼt expect to see those logs in the UI. Youʼll need to run it through the CLI to view your logs.
Bruno has a few internal libraries like Axios, UUID, and some more. But if you're feeling fancy, you can easily NPM install external libraries and extend your tests however you want. Love the flexibility here!
So, did I mention Bruno has its very own BRU markup language? You can edit your API requests and collections in the GUI, sure, but if you're more of a code person, Bruno lets you edit those same collections via BRU files.
Hey, great idea! You could automate collection generation by writing code based on your APIʼs JSON settings.
For all you VSCode lovers out there (I see you ), Bruno even has a VSCode extension for editing BRU files.
- Meta stores your metadata about the request, the name, type can be http or grapql and seq is the sequence number, in which order you want to run the test.
- get you could never guess but gets a get http call
- query is a list of query parameters
- It also has a header and body option and more
- assert are the assertions like for example this on tests if the status is equal to 200
- tests: these are the tests, no explanation is needed there
Bruno is like the fresh, local-first, Git-powered API tool you didnʼt know you needed. It does all the things you love — from requests and scripting to environment handling and API security — but with extra Git magic and open-source flexibility. Whether you are automating tests in your CI/CD pipeline, running local scripts, or collaborating on collections, Bruno makes everything easy and fun.
So if you are looking to shake things up or just try something new, give Bruno a try. Trust me, youʼll wonder how you ever managed without it.