From e9509d151985f5eb8b6f7c664ea4b483d31c5d17 Mon Sep 17 00:00:00 2001 From: Anthony Dombrowski Date: Wed, 5 Aug 2026 11:22:15 -0500 Subject: [PATCH 1/5] docs: restructure v4 sidebar around Bruno's core products MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The v4 sidebar was six generic buckets (Getting Started, Core Features, API Tools, Developer Tools, License Management, Advanced Guides) that mix products together: the CLI, the VS Code extension, and API documentation all lived under "Developer Tools" next to Bru Lang and the converters, so the sidebar gave no indication of what the separate parts of Bruno are. Replace those buckets with one top-level sidebar section per product, plus sections for the pages that do not belong to a single product: Get Started | API Client | CLI | API Docs | VS Code Extension | Reference | Licensing Notable moves: - CLI is promoted from a subgroup of "Developer Tools" to a top-level section, split into Overview / Install & Quick Start / Run Collections / Configuration / CI/CD. - API Docs and the VS Code extension become top-level sections. API Docs keeps its OpenAPI subgroup and gains a "Write Documentation" subgroup. - Bru Lang, OpenCollection YAML and Converters move to "Reference" — shared formats and tooling rather than one product's features. - "Git Providers" folds into "Git & Collaboration" under API Client. - advanced-guides/visualize moves under Response Data & Cookies, which is what it documents, retiring the one-page "Advanced Guides" bucket. - get-started/configure/* becomes "Settings" under API Client. Add api-client/overview.mdx as the API Client landing page; it also cross-links the other three products so each part of Bruno is discoverable from the others. Mintlify renders these top-level groups as sidebar section headers with their icons, so all seven products stay visible while their subgroups collapse. The API Client icon is "window-maximize", not Lucide's "app-window", which 403s on Mintlify's Font Awesome icon CDN. No files were moved and no page paths changed, so every existing URL still resolves and no redirects are needed. All 195 previously navigable pages remain in the nav, each exactly once. `mint validate` passes and `mint broken-links` reports the same 62 broken links in 38 files as main — none new. v2 and v3 navigation are untouched legacy snapshots; the diff is confined to the v4 block. Co-Authored-By: Claude Opus 5 (1M context) --- api-client/overview.mdx | 59 ++++++++ docs.json | 321 +++++++++++++++++++++------------------- 2 files changed, 228 insertions(+), 152 deletions(-) create mode 100644 api-client/overview.mdx diff --git a/api-client/overview.mdx b/api-client/overview.mdx new file mode 100644 index 00000000..cb9eb70a --- /dev/null +++ b/api-client/overview.mdx @@ -0,0 +1,59 @@ +--- +title: "API Client" +sidebarTitle: "Overview" +--- + +The Bruno API Client is the desktop app you use to build, send, and organize API requests. Collections are stored as plain text files on your filesystem, so you can version them with Git and review API changes like code. + +New to Bruno? Start with the [Bruno Starter Guide](/introduction/quick-start), or [download the app](/get-started/bruno-basics/download) if you haven't installed it yet. + +## What's in the API Client + + + + Build and send REST, GraphQL, gRPC, WebSocket, and SOAP requests. + + + Reuse values across environments, collections, folders, and requests. + + + Configure Basic, Bearer, OAuth 2.0, AWS Signature, and more. + + + Write assertions and pre-request or post-response scripts in JavaScript. + + + Keep credentials out of version control with secret variables and vaults. + + + Share collections with your team through your existing Git workflow. + + + +## The rest of Bruno + +The API Client is one of four parts of Bruno. The others read the same collection files, so work you do in one carries over to the others. + + + + Run the same collections from the command line and in CI/CD. + + + Document your APIs and generate shareable documentation. + + + Open and send requests without leaving your editor. + + diff --git a/docs.json b/docs.json index 8f5ec045..68e51ac2 100644 --- a/docs.json +++ b/docs.json @@ -16,7 +16,7 @@ "tag": "Latest", "groups": [ { - "group": "Getting Started", + "group": "Get Started", "icon": "rocket", "pages": [ { @@ -41,7 +41,7 @@ ] }, { - "group": "Import or Export Data", + "group": "Import & Migrate", "pages": [ "get-started/import-export-data/import-collections", "get-started/import-export-data/export-collections", @@ -50,22 +50,14 @@ "get-started/import-export-data/postman-migration", "get-started/import-export-data/script-translator" ] - }, - { - "group": "Configure", - "pages": [ - "get-started/configure/settings", - "get-started/configure/keybindings", - "get-started/configure/proxy-config", - "get-started/configure/javascript-sandbox" - ] } ] }, { - "group": "Core Features", - "icon": "zap", + "group": "API Client", + "icon": "window-maximize", "pages": [ + "api-client/overview", { "group": "Send Requests", "pages": [ @@ -121,7 +113,8 @@ "send-requests/res-data-cookies/overview", "send-requests/res-data-cookies/res-data", "send-requests/res-data-cookies/cookies", - "send-requests/res-data-cookies/response-examples" + "send-requests/res-data-cookies/response-examples", + "advanced-guides/visualize" ] }, "send-requests/history" @@ -143,34 +136,76 @@ ] }, { - "group": "Git Integration & Collaboration", + "group": "Authentication", "pages": [ - "git-integration/overview", - "git-integration/git-strategies", + "auth/overview", + "auth/basic", + "auth/bearer", + "auth/digest", + "auth/aws-signature", + "auth/ntlm", + "auth/oauth1", + "auth/akamai-edgegrid", { - "group": "Using GUI", + "group": "OAuth 2.0", "pages": [ - "git-integration/using-gui/intro", - "git-integration/using-gui/provider", - "git-integration/using-gui/consumer" + "auth/oauth2-2.0/overview", + "auth/oauth2-2.0/collection-level-configuration", + "auth/oauth2-2.0/authorization-code", + "auth/oauth2-2.0/client-credentials", + "auth/oauth2-2.0/password-credentials", + "auth/oauth2-2.0/system-browser" ] }, - "git-integration/using-cli", - "git-integration/gitlab", - "git-integration/bitbucket", - "git-integration/azure-devops", - "git-integration/embed-bruno-collection" + "auth/add-and-manage-certs" ] }, { - "group": "Git Providers", + "group": "Secret Management", "pages": [ - "git-providers/overview", - "git-providers/github" + "secrets-management/overview", + "secrets-management/secret-variables", + "secrets-management/secret-masking", + "secrets-management/dotenv-file", + { + "group": "Secret Managers", + "pages": [ + "secrets-management/secret-managers/overview", + "secrets-management/secret-managers/migration", + { + "group": "HashiCorp Vault", + "pages": [ + "secrets-management/secret-managers/hashicorp-vault/overview", + "secrets-management/secret-managers/hashicorp-vault/adding-a-secret-provider", + "secrets-management/secret-managers/hashicorp-vault/configuring-and-fetching-secrets", + "secrets-management/secret-managers/hashicorp-vault/using-secrets" + ] + }, + { + "group": "AWS Secrets Manager", + "pages": [ + "secrets-management/secret-managers/aws-secrets-manager/overview", + "secrets-management/secret-managers/aws-secrets-manager/adding-a-secret-provider", + "secrets-management/secret-managers/aws-secrets-manager/configuring-and-fetching-secrets", + "secrets-management/secret-managers/aws-secrets-manager/using-secrets" + ] + }, + { + "group": "Azure Key Vault", + "pages": [ + "secrets-management/secret-managers/azure-key-vault/overview", + "secrets-management/secret-managers/azure-key-vault/adding-a-secret-provider", + "secrets-management/secret-managers/azure-key-vault/configuring-and-fetching-secrets", + "secrets-management/secret-managers/azure-key-vault/using-secrets", + "secrets-management/secret-managers/azure-key-vault/cli-authentication" + ] + } + ] + } ] }, { - "group": "Tests and Scripts", + "group": "Tests & Scripts", "pages": [ { "group": "Tests", @@ -219,114 +254,32 @@ ] }, { - "group": "Secret Management", + "group": "Git & Collaboration", "pages": [ - "secrets-management/overview", - "secrets-management/secret-variables", - "secrets-management/secret-masking", - "secrets-management/dotenv-file", + "git-integration/overview", + "git-integration/git-strategies", { - "group": "Secret Managers", + "group": "Using GUI", "pages": [ - "secrets-management/secret-managers/overview", - "secrets-management/secret-managers/migration", - { - "group": "HashiCorp Vault", - "pages": [ - "secrets-management/secret-managers/hashicorp-vault/overview", - "secrets-management/secret-managers/hashicorp-vault/adding-a-secret-provider", - "secrets-management/secret-managers/hashicorp-vault/configuring-and-fetching-secrets", - "secrets-management/secret-managers/hashicorp-vault/using-secrets" - ] - }, - { - "group": "AWS Secrets Manager", - "pages": [ - "secrets-management/secret-managers/aws-secrets-manager/overview", - "secrets-management/secret-managers/aws-secrets-manager/adding-a-secret-provider", - "secrets-management/secret-managers/aws-secrets-manager/configuring-and-fetching-secrets", - "secrets-management/secret-managers/aws-secrets-manager/using-secrets" - ] - }, - { - "group": "Azure Key Vault", - "pages": [ - "secrets-management/secret-managers/azure-key-vault/overview", - "secrets-management/secret-managers/azure-key-vault/adding-a-secret-provider", - "secrets-management/secret-managers/azure-key-vault/configuring-and-fetching-secrets", - "secrets-management/secret-managers/azure-key-vault/using-secrets", - "secrets-management/secret-managers/azure-key-vault/cli-authentication" - ] - } + "git-integration/using-gui/intro", + "git-integration/using-gui/provider", + "git-integration/using-gui/consumer" ] - } - ] - }, - { - "group": "Authentication & Authorization", - "pages": [ - "auth/overview", - "auth/basic", - "auth/bearer", - "auth/digest", - "auth/aws-signature", - "auth/ntlm", - "auth/oauth1", - "auth/akamai-edgegrid", + }, + "git-integration/using-cli", + "git-integration/gitlab", + "git-integration/bitbucket", + "git-integration/azure-devops", + "git-integration/embed-bruno-collection", { - "group": "OAuth 2.0", + "group": "Git Providers", "pages": [ - "auth/oauth2-2.0/overview", - "auth/oauth2-2.0/collection-level-configuration", - "auth/oauth2-2.0/authorization-code", - "auth/oauth2-2.0/client-credentials", - "auth/oauth2-2.0/password-credentials", - "auth/oauth2-2.0/system-browser" + "git-providers/overview", + "git-providers/github" ] - }, - "auth/add-and-manage-certs" - ] - }, - { - "group": "Debugging", - "pages": [ - "debugging/timeline", - "debugging/dev-tools" - ] - } - ] - }, - { - "group": "API Tools", - "icon": "book-open", - "pages": [ - { - "group": "Create Documentation", - "pages": [ - "api-docs/overview", - "api-docs/workspace-docs", - "api-docs/collection-docs", - "api-docs/folder-docs", - "api-docs/request-docs", - "api-docs/auto-generate-docs" + } ] }, - { - "group": "OpenAPI", - "pages": [ - "open-api/overview", - "open-api/importOAS", - "open-api/exportOAS", - "open-api/createOAS", - "open-api/openapi-sync" - ] - } - ] - }, - { - "group": "Developer Tools", - "icon": "code", - "pages": [ { "group": "AI", "tag": "Beta", @@ -365,17 +318,54 @@ ] }, { - "group": "Bruno CLI", + "group": "Settings", + "pages": [ + "get-started/configure/settings", + "get-started/configure/keybindings", + "get-started/configure/proxy-config", + "get-started/configure/javascript-sandbox" + ] + }, + { + "group": "Debugging", + "pages": [ + "debugging/timeline", + "debugging/dev-tools" + ] + } + ] + }, + { + "group": "CLI", + "icon": "terminal", + "pages": [ + "bru-cli/overview", + { + "group": "Install & Quick Start", "pages": [ - "bru-cli/overview", "bru-cli/quick-start", - "bru-cli/installation", - "bru-cli/commandOptions", + "bru-cli/installation" + ] + }, + { + "group": "Run Collections", + "pages": [ "bru-cli/runCollection", + "bru-cli/commandOptions", "bru-cli/builtInReporters", - "bru-cli/import", + "bru-cli/import" + ] + }, + { + "group": "Configuration", + "pages": [ "bru-cli/proxyConfiguration", - "bru-cli/secret-managers", + "bru-cli/secret-managers" + ] + }, + { + "group": "CI/CD", + "pages": [ "bru-cli/docker", { "group": "GitHub Actions", @@ -387,7 +377,49 @@ }, "bru-cli/jenkins" ] + } + ] + }, + { + "group": "API Docs", + "icon": "book", + "pages": [ + "api-docs/overview", + { + "group": "Write Documentation", + "pages": [ + "api-docs/workspace-docs", + "api-docs/collection-docs", + "api-docs/folder-docs", + "api-docs/request-docs", + "api-docs/auto-generate-docs" + ] }, + { + "group": "OpenAPI", + "pages": [ + "open-api/overview", + "open-api/importOAS", + "open-api/exportOAS", + "open-api/createOAS", + "open-api/openapi-sync" + ] + } + ] + }, + { + "group": "VS Code Extension", + "icon": "code", + "pages": [ + "vs-code-extension/overview", + "vs-code-extension/install-config", + "vs-code-extension/send-req" + ] + }, + { + "group": "Reference", + "icon": "book-open", + "pages": [ { "group": "Bru Lang", "pages": [ @@ -415,19 +447,11 @@ "converters/openapi-to-bruno", "converters/wsdl-to-bruno" ] - }, - { - "group": "VS Code Extension", - "pages": [ - "vs-code-extension/overview", - "vs-code-extension/install-config", - "vs-code-extension/send-req" - ] } ] }, { - "group": "License Management", + "group": "Licensing", "icon": "key", "pages": [ "license-overview", @@ -438,7 +462,7 @@ ] }, { - "group": "License Administrators", + "group": "Administrators", "pages": [ "license-administrators/license-portal", "license-administrators/billing", @@ -465,13 +489,6 @@ ] } ] - }, - { - "group": "Advanced Guides", - "icon": "graduation-cap", - "pages": [ - "advanced-guides/visualize" - ] } ] }, From 726a2e37f4bb5f6a44f8c351b242a16e7347da09 Mon Sep 17 00:00:00 2001 From: Anthony Dombrowski Date: Wed, 5 Aug 2026 11:22:28 -0500 Subject: [PATCH 2/5] style: make the docs take the full width of the page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mintlify centres the whole shell — sidebar, article and table of contents — inside a max-w-8xl (92rem) box with mx-auto, so past that width the box stops growing and the rest of the viewport becomes equal dead margins. docs.json has no content-width option, and the native escape hatches are per-page frontmatter (`mode: "wide"` drops the TOC, `mode: "custom"` drops the sidebar and the TOC) that would have to be pasted into every .mdx. So release the cap in CSS instead. Mintlify auto-injects a root style.css as an inline, unlayered