bruno-skill
sagar290/bruno-skill
INSTALL
npx skills add sagar290/bruno-skillRequires npx skills — the open source skill installer.
SKILL_DESCRIPTION
Bruno Integration Skill
Bruno is a Git-friendly, file-based API client that stores collections directly in your repository as standard markup files (.bru). This skill allows AI agents and developers to collaborate seamlessly on API testing and development.
Since Bruno stores all requests as simple text files, any changes or additions made by an agent are instantly reflected in the developer's VS Code or Cursor Bruno extensions.
Capabilities & Workflows
- Auto-Discovery of API Routes: Automatically analyze codebases (Go/Gin/Chi/mux, Express/Fastify/Koa, Next.js, Flask/FastAPI, Spring Boot, Rails, Laravel, and more) to discover endpoints.
- Synchronized State: Read project configurations (
.env,config.yaml,config.yml, orbruno.json) to find the Bruno collection folder and automatically generate or update.brurequest files. - Harmonious Merging: Ensure that when endpoints are updated, manually created headers, parameters, and Javascript assertions/tests in the
.brufiles are carefully merged and preserved. - Git-Friendly API Management: Store and commit API collections in version control alongside the source code.
Route Sync Utility
This skill includes a zero-dependency, installable Python package with a CLI command:
bruno-sync sync # Scan codebase and sync .bru files
bruno-sync sync --dry-run # Preview changes without writing
bruno-sync sync --prune # Also remove orphaned .bru files
bruno-sync sync --dedup # Remove duplicate .bru files
bruno-sync prune # Standalone prune of orphaned files
bruno-sync add-endpoint --method POST --path /api/v1/users
Alternatively, for submodule/clone installs:
python3 scripts/sync_bruno.py sync
python3 scripts/sync_bruno.py sync --dry-run --verbose
python3 scripts/sync_bruno.py prune
Verbosity Control
| Flag | Behavior |
|---|---|
| -v / --verbose | Show detailed debug output |
| -q / --quiet | Suppress all non-error output (ideal for CI) |
Configuration
bruno-sync sync --config ./config.yaml # Use YAML config
bruno-sync sync --env ./.env # Use .env config
bruno-sync sync --project-root ./src # Scan a subdirectory
Routing Table & References
Use these documents to understand specific aspects of Bruno files and their integration:
References
- Bruno Markup Syntax Guide: Learn the layout, syntax, and scripting structure of
.brufiles. Read bruno_syntax.md. - VS Code / Cursor Integration Guide: Learn how to utilize the Bruno extension for instant collaboration. Read vscode_integration.md.
- External Coding Agents Guide: Learn how to configure Cursor, Copilot, Cline, or OpenCode to use this skill. Read external_agents.md.
Examples
- Configuration Templates: Learn how to specify collection paths in
config.yamlor.env. View config.yaml and sample.env. - Cursor Integration Templates: Learn how to automatically trigger the skill in Cursor using a
.cursorrulesconfiguration. View cursorrules_example. - Sample Code Routers: Check out how the sync script identifies API routes across different language stacks. View Go Router sample_route.go and Node.js Router sample_route.js.
Agent Instructions & Rules
When you are acting as an agent working on a project with this skill:
- Detect API Modifications: Whenever you create or modify an API endpoint in the codebase (e.g. adding a new controller, modifying route parameters, changing methods), you MUST automatically trigger
bruno-sync syncor manually update the corresponding.brufiles. - Find Collection Path: First look in the project's root
config.yaml(orconfig.yml), then.envfor the parameterBRUNO_COLLECTION_PATH. If not found, look forbruno.jsonor fallback to a default./brunodirectory. - Preserve User Modifications: Do not overwrite the entire
.brufile if it already exists! Preserve custom tests, scripting, headers, or query parameters that the developer has added. - Organize Logically: Mirror the codebase's folder structure inside the Bruno collection directory (e.g.,
users/,auth/,payments/) to keep the Bruno sidebar clean and readable. - Ignore
_sync/in Git: Auto-generated.brufiles are written to a_sync/folder inside the collection to keep them separate from hand-written files. Always add_sync/to your project's.gitignoreto avoid committing auto-generated files. Example:echo "_sync/" >> .gitignore
Last indexed: 6/16/2026
COMMENTS(0)
NO_COMMENTS_YET. BE_THE_FIRST.
SIGN_IN_TO_LEAVE_A_COMMENT
[SIGN_IN]