Brunet
approvedby masykurisyaifullah
This plugin has not been manually reviewed by Obsidian staff. Bruno API format support view, edit, and run .bru HTTP requests in your vault.
Brunet — Bruno API Support for Obsidian
An Obsidian plugin that adds first-class support for Bruno .bru API request files. View, edit, and run HTTP requests directly inside your vault.
Features
- Rich preview — renders
.brufiles as a formatted request card with method, URL, headers, query params, body, scripts, and docs - Run requests — send HTTP requests from within Obsidian and see the response (status, headers, body) inline
- Collections sidebar — browse all
.brufiles in your vault grouped by folder, with per-file run buttons - Syntax highlighting — CodeMirror 6 language extension highlights
.bru,.yml, and.yamlBruno files in the editor - Variable support — resolves
{{variable}}syntax in URLs, headers, query params, and body - Copy CLI command — one-click copy of the
bru runcommand for the current file
Installation
From Obsidian Community Plugins
- Open Settings → Community plugins
- Disable Safe mode if prompted
- Open Browse, search for Brunet, and install
- Enable the plugin in Installed plugins
Manual
- Download
main.jsandmanifest.jsonfrom the latest release (andstyles.cssif that release includes it) - Copy them into your vault at
.obsidian/plugins/brunet/ - Enable Brunet in Settings → Community plugins
Development
git clone https://github.com/msyaifullah/brunet.git
cd brunet
npm install
npm run dev
Then symlink the project folder into your vault's plugin directory and enable the plugin (replace the vault path with your own):
ln -s "$(pwd)" "$HOME/Documents/MyVault/.obsidian/plugins/brunet"
Usage
Open a request file
Click any .bru file in the file explorer. The plugin renders a preview with all request details and a Send button to execute it live.
Run a request
- Click Send in the file preview, or
- Use the command palette:
Brunet: Run Request, or - Click the ▶ button next to a file in the Collections panel
The response (status code, headers, and body) appears inline below the request details. JSON responses are pretty-printed automatically.
Collections panel
Open the sidebar panel via:
- The ribbon icon (B logo), or
- Command palette:
Brunet: Open Collections Panel
Files are grouped by folder with collapsible sections. Click a row to open the file; click ▶ to run it.
Copy CLI command
Click the Copy CLI button in the file preview to copy a bru run command for that file to your clipboard for use in a terminal.
Supported .bru syntax
Brunet parses the Bruno plain-text block format:
meta {
name: Get Users
type: http
seq: 1
}
get {
url: https://api.example.com/users
}
headers {
Authorization: Bearer {{token}}
Accept: application/json
}
query {
page: 1
limit: 10
}
body:json {
{
"filter": "active"
}
}
Supported block types: meta, HTTP method blocks (get, post, put, patch, delete, head, options), headers, query, vars, body, script:pre-request, script:post-response, assert, docs.
Commands
| Command | Description |
|---|---|
Brunet: Run Request | Execute the active .bru file |
Brunet: Open Preview | Open the rich preview for the active file |
Brunet: Copy CLI Command | Copy bru run for the active file to clipboard |
Brunet: Open Collections Panel | Show the collections sidebar |
Development
npm run dev # watch mode (development build)
npm run build # production build with type check
npm run version # bump version in manifest.json and versions.json
Stack: TypeScript, esbuild, CodeMirror 6, Obsidian Plugin API
Releasing
Releases are automated via GitHub Actions. When a version tag is pushed, the workflow builds the plugin and creates a draft GitHub release with main.js and manifest.json attached.
Tag format: The GitHub release tag must match manifest.json version exactly (e.g. 0.3.4, not v0.3.4). Obsidian installs assets from the release with that tag. This repo sets tag-version-prefix= in .npmrc so npm version creates the correct tags.
Steps
-
Bump the version (updates
package.json,manifest.json, andversions.json, then commits and tags):npm version 0.3.6 # creates tag 0.3.6 (no "v" prefix; must match manifest.json version) -
Push the commit and tag:
git push origin main --tags -
Go to the Releases tab on GitHub, edit the draft, add release notes, and publish.
First-time setup
Enable write permissions for GitHub Actions: Settings → Actions → General → Workflow permissions → Read and write permissions.
License
MIT — see LICENSE
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.