Documentation Index
Fetch the complete documentation index at: https://mintlify.com/usebruno/bruno/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Bruno stores collections as plain text files directly on your filesystem, making it perfect for version control. Unlike cloud-based API tools, Bruno uses Git-friendly formats that enable true collaboration through pull requests, branches, and code reviews.File Structure
Bruno collections are organized in a simple directory structure:Collection Configuration
Thebruno.json file contains collection settings:
bruno.json
Request Files
Each request is stored as a.bru file using plain text markup:
ping.bru
Environment Files
Environment variables are stored in.bru files:
environments/Prod.bru
Git Workflow
Collaboration Workflows
Feature Branch Workflow
Team Collaboration
Clone Collection
Team members can clone and start working:Open the folder in Bruno to start testing.
Pull Latest Changes
Stay in sync with team updates:Bruno will automatically reflect the changes.
Review Changes
Review API changes in pull requests:
- See exactly what requests changed
- Review test scripts and assertions
- Check environment variable updates
Resolve Conflicts
Merge conflicts are easy to resolve since
.bru files are plain text:Branch Strategies
Gitflow for API Collections
- Main Branch
- Develop Branch
- Feature Branches
- Release Branches
- Production-ready API tests
- Only merge from release branches
- Protected branch with required reviews
Managing Secrets
Using Environment-Specific Files
Create separate environment files and exclude secrets:.gitignore
Environment Variable Templates
Commit template files instead:environments/Production.bru.template
Using Process Environment Variables
Reference system environment variables in Bruno:environments/Prod.bru
Git Best Practices
Write descriptive commit messages
Write descriptive commit messages
Follow conventional commit format:
Keep commits focused
Keep commits focused
Each commit should represent a single logical change:
Use branch protection rules
Use branch protection rules
Protect important branches on GitHub/GitLab:
- Require pull request reviews
- Require status checks (CI tests) to pass
- Require branches to be up to date
- Restrict who can push
Tag releases
Tag releases
Tag important versions:
Clean up old branches
Clean up old branches
Delete merged feature branches:
Monorepo vs Multi-repo
- Monorepo Approach
- Multi-repo Approach
Keep all API collections in one repository:Pros:
- Single source of truth
- Easy to share environments
- Simpler dependency management
- Larger repository size
- Requires discipline for organization
Code Review Checklist
When reviewing Bruno collection pull requests:- Request URLs use environment variables (not hardcoded)
- No secrets or sensitive data committed
- Tests include proper assertions
- Request names are descriptive
- Folder organization is logical
- Environment files follow naming conventions
- Pre-request and post-response scripts are documented
- Changes work with existing collection structure
Advanced: Git Hooks
Automate checks with Git hooks:.git/hooks/pre-commit
Integration with Code
Store Bruno collections alongside your application code:package.json
Why Bruno Works Better with Git
Plain Text Format
.bru files are human-readable text files, perfect for diff tools and merge operations.File-per-Request
Each request is its own file, preventing merge conflicts when multiple people work on different endpoints.
No Binary Exports
Unlike Postman exports, everything is editable text that works seamlessly with Git.
Offline-First
No cloud sync means full control over your version history through Git.