# usebruno/bruno

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/usebruno-bruno).**

40,990 stars · 2,127 forks · JavaScript · mit

## Links

- GitHub: https://github.com/usebruno/bruno
- Homepage: https://www.usebruno.com/
- awesome-repositories: https://awesome-repositories.com/repository/usebruno-bruno.md

## Topics

`api-client` `api-testing` `automation` `developer-tools` `git` `graphql-client` `http-client` `javascript` `openapi` `openapi3` `opensource` `rest-api` `testing` `testing-tools`

## Description

Bruno is a local-first API client designed for building, testing, and managing network requests across a wide range of protocols. By storing all collections and configurations as plain-text files directly on the local filesystem, it enables native version control and offline access, ensuring that project data remains under user control without requiring cloud synchronization.

The platform distinguishes itself through a declarative approach to API management, utilizing a domain-specific language to define request parameters and metadata. This architecture supports a robust testing environment where users can execute custom JavaScript-based validation scripts, perform complex assertions, and automate multi-step workflows. Its multi-protocol engine provides a unified interface for interacting with REST, GraphQL, gRPC, WebSocket, and SOAP services, while integrated environment-aware management allows for seamless switching between different deployment configurations.

Beyond core request execution, the tool includes a comprehensive suite of utilities for documentation generation, secure authentication, and CI/CD integration. It supports advanced security workflows through various credential management protocols and secret providers, while its command-line interface facilitates parallel execution and data-driven testing within automated pipelines. Users can also leverage AI-driven automation to generate collections and test scripts, further streamlining the development process.

## Tags

### Web Development

- [REST Clients](https://awesome-repositories.com/f/web-development/rest-clients.md) — Enables interaction with web services by sending standard HTTP methods. ([source](https://docs.usebruno.com/send-requests/REST/overview.md))
- [GraphQL Clients](https://awesome-repositories.com/f/web-development/graphql-clients.md) — Allows users to send GraphQL queries and mutations to servers. ([source](https://docs.usebruno.com/send-requests/graphql/overview.md))
- [Local-First API Clients](https://awesome-repositories.com/f/web-development/local-first-api-clients.md) — Stores API collections as plain-text files on the local filesystem to enable version control via Git.
- [Multi-Protocol API Clients](https://awesome-repositories.com/f/web-development/multi-protocol-api-clients.md) — Executes requests across multiple protocols including REST, GraphQL, gRPC, WebSocket, and SOAP for comprehensive service validation.
- [Multi-Protocol Clients](https://awesome-repositories.com/f/web-development/multi-protocol-clients.md) — Builds and debugs network requests for REST, GraphQL, gRPC, and WebSocket services within a unified environment.
- [GraphQL Query Builders](https://awesome-repositories.com/f/web-development/graphql-query-builders.md) — Provides a visual interface to build GraphQL queries and mutations. ([source](https://docs.usebruno.com/send-requests/graphql/query-builder.md))
- [GraphQL Variable Management](https://awesome-repositories.com/f/web-development/graphql-variable-management.md) — Supports passing dynamic values separately from query strings using JSON. ([source](https://docs.usebruno.com/send-requests/graphql/graphql-variables.md))
- [Cookie Management](https://awesome-repositories.com/f/web-development/cookie-management.md) — Allows users to interact with cookies within the request interface to simulate browser behavior. ([source](https://docs.usebruno.com/send-requests/res-data-cookies/overview.md))

### Development Tools & Productivity

- [API Client Tools](https://awesome-repositories.com/f/development-tools-productivity/api-client-tools.md) — Provides a declarative syntax for defining and executing HTTP requests to interact with web services. ([source](https://docs.usebruno.com/bru-lang/samples.md))
- [Local-First Development](https://awesome-repositories.com/f/development-tools-productivity/local-first-development.md) — Stores API collections as plain-text files on the local disk to enable native version control.
- [Environment Management](https://awesome-repositories.com/f/development-tools-productivity/environment-management.md) — Groups API collections and configuration variables into isolated containers for managing multiple projects.
- [CI/CD Integrations](https://awesome-repositories.com/f/development-tools-productivity/ci-cd-integrations.md) — Executes collections via command line to run tests in pipelines and generate HTML reports. ([source](https://docs.usebruno.com/bru-cli/gitHubCLI.md))
- [Environment Configuration Managers](https://awesome-repositories.com/f/development-tools-productivity/environment-configuration-managers.md) — Groups API collections and configuration variables into isolated containers for managing multiple projects and deployment environments.
- [Environment Variable Managers](https://awesome-repositories.com/f/development-tools-productivity/environment-variable-managers.md) — Replaces placeholders in request configurations with values from scoped environment files.
- [Request Header Management](https://awesome-repositories.com/f/development-tools-productivity/request-header-management.md) — Supports defining custom key-value pairs in headers to send metadata or authentication information. ([source](https://docs.usebruno.com/send-requests/REST/req-header.md))
- [Repository Synchronization](https://awesome-repositories.com/f/development-tools-productivity/repository-synchronization.md) — Updates local files with remote repositories by pushing and pulling changes to maintain shared states. ([source](https://docs.usebruno.com/git-integration/using-cli.md))
- [Request Execution Settings](https://awesome-repositories.com/f/development-tools-productivity/request-execution-settings.md) — Allows users to adjust redirect handling, timeout durations, and URL encoding. ([source](https://docs.usebruno.com/send-requests/REST/request-settings.md))
- [Request Scripting Environments](https://awesome-repositories.com/f/development-tools-productivity/request-scripting-environments.md) — Executes custom logic after receiving server responses to process data and manage variables. ([source](https://docs.usebruno.com/bru-lang/samples.md))
- [Code Snippet Generators](https://awesome-repositories.com/f/development-tools-productivity/code-snippet-generators.md) — Creates ready-to-use code snippets for API requests in multiple programming languages. ([source](https://docs.usebruno.com/send-requests/REST/code-generator.md))
- [Configuration Management](https://awesome-repositories.com/f/development-tools-productivity/configuration-management.md) — Stores dynamic values across global and request scopes to enable reusable configuration. ([source](https://docs.usebruno.com/variables/overview.md))
- [Data-Driven Testing](https://awesome-repositories.com/f/development-tools-productivity/data-driven-testing.md) — Executes collections multiple times using CSV or JSON files to provide unique variables for each iteration. ([source](https://docs.usebruno.com/bru-cli/runCollection.md))
- [API Inspection Tools](https://awesome-repositories.com/f/development-tools-productivity/api-inspection-tools.md) — Offers a dedicated panel with search functionality to analyze body content, headers, and status codes. ([source](https://docs.usebruno.com/send-requests/res-data-cookies/res-data.md))
- [Console Debuggers](https://awesome-repositories.com/f/development-tools-productivity/console-debuggers.md) — Allows users to inspect execution logs and troubleshoot request logic within an interactive environment. ([source](https://docs.usebruno.com/debugging/dev-tools.md))
- [cURL Importers](https://awesome-repositories.com/f/development-tools-productivity/curl-importers.md) — Parses cURL commands into structured API requests by pasting them into the interface. ([source](https://docs.usebruno.com/send-requests/REST/code-generator.md))
- [IDE Extensions](https://awesome-repositories.com/f/development-tools-productivity/ide-extensions.md) — Provides API testing capabilities directly within the development environment via a dedicated extension. ([source](https://docs.usebruno.com/vs-code-extension/overview.md))
- [Parallel Execution](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution.md) — Executes multiple requests simultaneously during collection runs to improve performance. ([source](https://docs.usebruno.com/bru-cli/runCollection.md))

### Testing & Quality Assurance

- [Automated API Testing](https://awesome-repositories.com/f/testing-quality-assurance/automated-api-testing.md) — Executes scripted test suites and assertions against endpoints to ensure service reliability.
- [API Test Automation](https://awesome-repositories.com/f/testing-quality-assurance/api-test-automation.md) — Uses scriptable assertions and automated sequences to validate endpoint responses within continuous integration and delivery pipelines.
- [API Test Runners](https://awesome-repositories.com/f/testing-quality-assurance/api-test-runners.md) — Executes custom validation scripts within a sandboxed environment to perform complex assertions and automate workflows.
- [Response Validation](https://awesome-repositories.com/f/testing-quality-assurance/response-validation.md) — Validates API responses by writing test assertions that check status codes, response bodies, and data properties. ([source](https://docs.usebruno.com/bru-lang/samples.md))

### Security & Cryptography

- [API Authentication](https://awesome-repositories.com/f/security-cryptography/api-authentication.md) — Configures complex authorization flows including OAuth, NTLM, and cloud-specific signatures.
- [OAuth Providers](https://awesome-repositories.com/f/security-cryptography/oauth-providers.md) — Provides native support for configuring OAuth 2.0 authorization code flows and identity provider endpoints. ([source](https://docs.usebruno.com/auth/oauth2-2.0/authorization-code.md))
- [Client Credentials](https://awesome-repositories.com/f/security-cryptography/client-credentials.md) — Allows specifying token endpoints and client identifiers to set up OAuth 2.0 client credentials authentication. ([source](https://docs.usebruno.com/auth/oauth2-2.0/client-credentials.md))
- [Basic Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/basic-authentication-strategies.md) — Supports providing username and password credentials to secure API requests. ([source](https://docs.usebruno.com/auth/basic.md))
- [Bearer Token Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/bearer-token-authentication-strategies.md) — Enables providing valid tokens to secure API requests using standard bearer authentication methods. ([source](https://docs.usebruno.com/auth/bearer.md))
- [Environment Variable Management](https://awesome-repositories.com/f/security-cryptography/environment-variable-management.md) — Integrates with local environment file standards to manage sensitive configuration values securely. ([source](https://docs.usebruno.com/secrets-management/secret-managers/overview.md))
- [SAML Authentication](https://awesome-repositories.com/f/security-cryptography/saml-authentication.md) — Manages single sign-on authentication using SAML protocols to secure access to team resources. ([source](https://docs.usebruno.com/license-overview.md))
- [SCIM Provisioning](https://awesome-repositories.com/f/security-cryptography/scim-provisioning.md) — Automates user lifecycle management using SCIM protocols to ensure secure enterprise team access. ([source](https://docs.usebruno.com/license-overview.md))
- [Secret Management Providers](https://awesome-repositories.com/f/security-cryptography/secret-management-providers.md) — Supports selecting authentication methods to securely manage sensitive environment variables using HashiCorp Vault. ([source](https://docs.usebruno.com/secrets-management/secret-managers/hashicorp-vault/adding-a-secret-provider.md))
- [Token Management](https://awesome-repositories.com/f/security-cryptography/token-management.md) — Supports generating access tokens manually or enabling auto-fetch to maintain valid authentication states. ([source](https://docs.usebruno.com/auth/oauth2-2.0/collection-level-configuration.md))
- [Authentication Scripting](https://awesome-repositories.com/f/security-cryptography/authentication-scripting.md) — Enables retrieving token data and performing programmatic resets within scripts to handle authentication cycles. ([source](https://docs.usebruno.com/auth/oauth2-2.0/overview.md))
- [AWS Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/aws-authentication-strategies.md) — Applies AWS Signature authentication to securely access cloud-based services. ([source](https://docs.usebruno.com/auth/aws-signature.md))
- [Browser-Based Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/browser-based-authentication-strategies.md) — Leverages system browser sessions and saved credentials to handle OAuth flows securely. ([source](https://docs.usebruno.com/auth/oauth2-2.0/system-browser.md))
- [Cloud Secret Managers](https://awesome-repositories.com/f/security-cryptography/cloud-secret-managers.md) — Allows entering credentials and region settings to securely manage and retrieve collection secrets. ([source](https://docs.usebruno.com/secrets-management/secret-managers/aws-secrets-manager/adding-a-secret-provider.md))
- [Data Masking](https://awesome-repositories.com/f/security-cryptography/data-masking.md) — Automatically masks authentication headers and secret variables in reports to prevent accidental data exposure. ([source](https://docs.usebruno.com/secrets-management/secret-masking.md))
- [SSH Key Management](https://awesome-repositories.com/f/security-cryptography/ssh-key-management.md) — Generates security keys and registers them with remote services to enable passwordless repository access. ([source](https://docs.usebruno.com/git-integration/azure-devops.md))

### Software Engineering & Architecture

- [File-Based Project Storage](https://awesome-repositories.com/f/software-engineering-architecture/file-based-project-storage.md) — Stores API requests and configurations as plain-text files on the local disk to enable native version control.
- [Local-First Architectures](https://awesome-repositories.com/f/software-engineering-architecture/local-first-architectures.md) — Maintains all project data and state locally to ensure full functionality without requiring cloud synchronization.
- [Declarative Configuration Languages](https://awesome-repositories.com/f/software-engineering-architecture/declarative-configuration-languages.md) — Uses a domain-specific language to define request parameters and metadata in human-readable text files.

### Content Management & Publishing

- [API Documentation Generators](https://awesome-repositories.com/f/content-management-publishing/api-documentation-generators.md) — Generates structured documentation from markdown files at the workspace, collection, or request level. ([source](https://docs.usebruno.com/agents/cursor.md))
- [Collection Documentation](https://awesome-repositories.com/f/content-management-publishing/collection-documentation.md) — Allows users to generate and preview formatted documentation by saving collection settings. ([source](https://docs.usebruno.com/api-docs/overview.md))
- [Request Documentation](https://awesome-repositories.com/f/content-management-publishing/request-documentation.md) — Provides a dedicated editor tab to write and preview usage details for individual API requests. ([source](https://docs.usebruno.com/api-docs/request-docs.md))

### Networking & Communication

- [Multi-Protocol Engines](https://awesome-repositories.com/f/networking-communication/multi-protocol-engines.md) — Dispatches network calls across diverse protocols by abstracting underlying transport logic into a unified interface.
- [Network Traffic Inspectors](https://awesome-repositories.com/f/networking-communication/network-traffic-inspectors.md) — Enables examination of headers, body content, and status codes to validate security and connection details. ([source](https://docs.usebruno.com/debugging/dev-tools.md))
- [Proto File Management](https://awesome-repositories.com/f/networking-communication/proto-file-management.md) — Enables loading protocol buffer files to facilitate automatic method discovery. ([source](https://docs.usebruno.com/send-requests/grpc/grpc-proto.md))
- [WebSocket Clients](https://awesome-repositories.com/f/networking-communication/websocket-clients.md) — Establishes and monitors persistent WebSocket connections while composing messages in various formats. ([source](https://docs.usebruno.com/send-requests/websocket/ws-interface.md))
- [gRPC Stream Testing](https://awesome-repositories.com/f/networking-communication/grpc-stream-testing.md) — Supports configuring requests to send multiple messages over persistent connections. ([source](https://docs.usebruno.com/send-requests/grpc/grpc-streams.md))

### Artificial Intelligence & ML

- [Agent Automation](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-automation.md) — Enables the generation of collections and test scripts using natural language instructions. ([source](https://docs.usebruno.com/agents/use-cases.md))

### User Interface & Experience

- [Response Viewers](https://awesome-repositories.com/f/user-interface-experience/response-viewers.md) — Provides a code editor and visual preview mode for inspecting response content. ([source](https://docs.usebruno.com/send-requests/res-data-cookies/res-data.md))
- [Response Visualizers](https://awesome-repositories.com/f/user-interface-experience/response-visualizers.md) — Renders complex response content into readable formats to quickly inspect and verify data structures. ([source](https://docs.usebruno.com/debugging/timeline.md))
