masykurisyaifullah11 downloadsBruno API format support view, edit, and run .bru HTTP requests in your vault.
An Obsidian plugin that adds first-class support for Bruno .bru API request files. View, edit, and run HTTP requests directly inside your vault.
.bru files as a formatted request card with method, URL, headers, query params, body, scripts, and docs.bru files in your vault grouped by folder, with per-file run buttons.bru, .yml, and .yaml Bruno files in the editor{{variable}} syntax in URLs, headers, query params, and bodybru run command for the current filemain.js and manifest.json from the latest release (and styles.css if that release includes it).obsidian/plugins/brunet/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"
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.
Brunet: Run Request, orThe response (status code, headers, and body) appears inline below the request details. JSON responses are pretty-printed automatically.
Open the sidebar panel via:
Brunet: Open Collections PanelFiles are grouped by folder with collapsible sections. Click a row to open the file; click ▶ to run it.
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.
.bru syntaxBrunet 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.
| 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 |
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
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.
Bump the version (updates package.json, manifest.json, and versions.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.
Enable write permissions for GitHub Actions: Settings → Actions → General → Workflow permissions → Read and write permissions.
MIT — see LICENSE