diff --git a/ai/integration/overview.mdx b/ai/integration/overview.mdx index 0f7d6a08..feaad126 100644 --- a/ai/integration/overview.mdx +++ b/ai/integration/overview.mdx @@ -17,3 +17,9 @@ See [Use cases](./use-cases) for common workflows (generating collections, writi - [VS Code](https://code.visualstudio.com) with GitHub Copilot - Popular editor with built-in AI code completion - [Codex](https://developers.openai.com/codex/) - OpenAI's coding agent; uses `AGENTS.md` for custom instructions - [Claude](https://claude.ai) - AI agent for writing code and automating workflows + +## MCP support + +Bruno does not currently provide an MCP (Model Context Protocol) server or MCP client integration. + +MCP is not needed for agents to work with Bruno. Collections are plain text files on your local filesystem, so any AI agent can read and edit them directly. Each integration works through the agent's own instruction file, such as `.cursor/rules` for [Cursor](/ai/integration/cursor), `AGENTS.md` for [Codex](/ai/integration/codex), or `.claude/CLAUDE.md` for [Claude](/ai/integration/claude). diff --git a/get-started/configure/settings.mdx b/get-started/configure/settings.mdx index e640889a..aa43a437 100644 --- a/get-started/configure/settings.mdx +++ b/get-started/configure/settings.mdx @@ -26,6 +26,10 @@ Bruno offers a variety of themes to personalize your workspace. You can choose f In the Display section, you can control the appearance of the Bruno, choosing between Dark, Light, or System mode, based on your preference. Additionally, you can customize the code editor font to suit your style. + +Bruno's interface is available in English only. There is no setting to change the display language. + + ![display-settings](/images/screenshots/get-started/config/settings/display-settings.webp) ## Proxy diff --git a/mock-servers/overview.mdx b/mock-servers/overview.mdx index 8739ad20..e7bdc7d5 100644 --- a/mock-servers/overview.mdx +++ b/mock-servers/overview.mdx @@ -38,6 +38,12 @@ Mock responses are stored with your collection, not in a hosted service. Closing The Request Log is **in-memory only** (most recent 500 entries per server). It is a debugging aid, not an audit log. +## Scope and limitations + +- **App only.** Mock servers start and stop from the Bruno app. Bruno CLI has no command to run a mock server, and Bruno does not ship a standalone mock server binary or container image. You cannot deploy a Bruno mock server to a remote environment such as Kubernetes. +- **Local only.** A running mock server binds to a port on your machine and stops when you close Bruno. +- **No separate export.** Mock server definitions are stored as `.yml` files in the `mocks` folder of your workspace. To share a mock server or move it to another machine, commit these files to version control or copy them directly. Teammates who open the same workspace get the same mock servers. + ## Share feedback Share your feedback on Mock Servers directly on usebruno [GitHub Discussions](https://github.com/usebruno/bruno/discussions/9014). diff --git a/opencollection-yaml/structure-reference.mdx b/opencollection-yaml/structure-reference.mdx index 0af374af..059a67b2 100644 --- a/opencollection-yaml/structure-reference.mdx +++ b/opencollection-yaml/structure-reference.mdx @@ -264,3 +264,115 @@ docs: |- - email: User's email address ``` +## Collection Root File (`opencollection.yml`) + +The `opencollection.yml` file at the root of a collection replaces `bruno.json`. It holds the collection name, collection-level request defaults, configuration, and Bruno-specific extensions. + +```yaml +opencollection: 1.0.0 + +info: + name: My Collection + version: "1" + +request: # Collection-level defaults inherited by requests + headers: + - name: X-Api-Version + value: "2" + auth: + type: bearer + bearer: + token: "{{token}}" + scripts: + - type: before-request + code: |- + console.log("runs before every request"); + +config: # Proxy, client certificates, and protobuf settings + protobuf: + protoFiles: + - type: file + path: ./protos/service.proto + importPaths: + - path: ./protos + +extensions: + bruno: # Bruno-specific settings + ignore: + - node_modules + - .git + presets: + request: + type: http + url: https://api.example.com + scripts: + flow: sequential + additionalContextRoots: + - ../libs + +docs: |- + Collection-level documentation in Markdown. +``` + +| Section | Description | +|---------|-------------| +| `opencollection` | OpenCollection spec version | +| `info` | Collection metadata: `name` and optional `version` | +| `request` | Collection-level defaults: `headers`, `auth`, `variables`, and `scripts` (equivalent to `collection.bru` in the Bru format) | +| `config` | Collection configuration: `proxy`, `clientCertificates`, and `protobuf` | +| `extensions.bruno` | Bruno-specific settings: `ignore`, `presets`, and `scripts` (`flow`, `additionalContextRoots`) | +| `docs` | Collection-level documentation in Markdown | + +### Mapping from `bruno.json` + +| `bruno.json` field | `opencollection.yml` equivalent | +|--------------------|--------------------------------| +| `name` | `info.name` | +| `version` | `info.version` | +| `ignore` | `extensions.bruno.ignore` | +| `presets` | `extensions.bruno.presets` | +| `scripts.flow` | `extensions.bruno.scripts.flow` | +| `scripts.additionalContextRoots` | `extensions.bruno.scripts.additionalContextRoots` | +| `proxy` | `config.proxy` | +| `clientCertificates` | `config.clientCertificates` | +| `protobuf` | `config.protobuf` | + + +The `scripts.moduleWhitelist` and `scripts.filesystemAccess` settings from `bruno.json` have no equivalent in `opencollection.yml`. See [Whitelisting Modules](/testing/script/whitelisting-modules) for how these settings work in the Bru format. + + +## Environment Files + +Environments are stored as `.yml` files in the `environments` folder of the collection (for example, `environments/development.yml`). Each file contains the environment name and its variables. + +```yaml +name: development +variables: + - name: host + value: http://localhost:8787 + description: Base URL for the local server + - name: port + value: + type: number + data: "8080" + - name: legacyFlag + value: "true" + disabled: true + - secret: true + name: apiKey +``` + +| Field | Type | Description | +|-------|------|-------------| +| `name` | string | The display name of the environment | +| `variables` | array | The environment's variables | + +Each entry in `variables` supports: + +| Field | Type | Description | +|-------|------|-------------| +| `name` | string | The variable name | +| `value` | string or object | The value. Use an object with `type` (`number`, `boolean`, `object`) and `data` for typed values | +| `description` | string | Optional description | +| `disabled` | boolean | Set to `true` to disable the variable | +| `secret` | boolean | Set to `true` to mark the variable as a secret. Secret values are not written to the file | diff --git a/send-requests/grpc/overview.mdx b/send-requests/grpc/overview.mdx index 5a34cb93..4e562674 100644 --- a/send-requests/grpc/overview.mdx +++ b/send-requests/grpc/overview.mdx @@ -18,4 +18,14 @@ Explore our sample [gRPC collection](https://github.com/bruno-collections/gRPC-a 1. Click the **Fetch in Bruno** button below 2. Choose a location to store the collection locally and start exploring gRPC feature - \ No newline at end of file + + +## Automation limitations + +gRPC requests are designed for interactive use in the Bruno app. Automated runs skip them: + +- The Collection Runner skips gRPC requests during folder and collection runs. +- Bruno CLI (`bru run`) does not execute gRPC requests. +- `bru.runRequest()` only executes HTTP and GraphQL requests. Calling a gRPC request from a script resolves with `{ status: 'skipped' }`. See the [JavaScript reference](/testing/script/javascript-reference#brurunrequestrequestpathname). + +To automate a workflow that depends on a gRPC call, trigger the gRPC request manually in the app, or expose the same operation over HTTP for automated runs. \ No newline at end of file diff --git a/testing/script/whitelisting-modules.mdx b/testing/script/whitelisting-modules.mdx index d4741a7e..d58c30b6 100644 --- a/testing/script/whitelisting-modules.mdx +++ b/testing/script/whitelisting-modules.mdx @@ -44,3 +44,7 @@ If you need to use multiple built-in or trusted third-party modules in your Brun ``` Only whitelist modules that you trust and that are necessary for your script to function properly. + + + `moduleWhitelist` and `filesystemAccess` are settings of the `bruno.json` file used by Bru format collections. Collections that use the [OpenCollection YAML format](/opencollection-yaml/overview) (`opencollection.yml`) have no equivalent for these settings. See the [YAML Structure Reference](/opencollection-yaml/structure-reference#collection-root-file-opencollection-yml) for the settings that `opencollection.yml` supports. +