Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/gtorreal/buda-mcp/release-workflowgit clone --depth 1 https://github.com/gtorreal/buda-mcpWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00662 | $0.00662 |
| Opus 5 | $0.00331 | $0.00331 |
| Sonnet 5 | $0.00132 | $0.00132 |
| Haiku 4.5 | $0.00066 | $0.00066 |
Grade A, and why
release-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
buda-mcp Release Workflow
Version source-of-truth
package.jsonis the only place to set the version number.- After changing it, always run
npm run sync-versionto propagate it toserver.json. - All runtime references (
User-Agent,McpServer, health endpoint, server-card) read fromsrc/version.ts— never hardcode version strings.
Before publishing a new version
- Bump
package.jsonversion npm run sync-version— updatesserver.jsonnpm test— must pass (23 unit + all integration)- Update
CHANGELOG.mdwith all changes since the last release - Update
marketplace/files if tools were added/changed/removed:marketplace/gemini-tools.json— function declarationsmarketplace/openapi.yaml— version field + path descriptionsmarketplace/claude-listing.md— tool descriptionsmarketplace/README.md— version header
- Update
PUBLISH_CHECKLIST.mdwith new version and release notes template - Commit and push
Publishing steps (manual, done after development is complete)
npm publish --access public --provenance # → npmjs.com
# then create GitHub Release tag vX.Y.Z → triggers Actions workflow (MCP registry auto-publish)
# then notify mcp.so and Glama.ai — templates in PUBLISH_CHECKLIST.md
Adding a new tool
- Create
src/tools/<name>.ts - Export
toolSchema(name, description, inputSchema) — picked up automatically byhttp.tsserver-card - Export
register(server, client, cache?) - For tools with destructive actions: export the handler function for unit testing
- Apply
validateMarketIdif the tool acceptsmarket_id - Register in both
src/index.tsandsrc/http.ts - Add to
marketplace/gemini-tools.json,marketplace/openapi.yaml,marketplace/claude-listing.md - Add unit tests in
test/unit.ts
Key architecture notes
src/validation.ts—validateMarketId(id)returns error string or null; apply before.toLowerCase()and URL usesrc/cache.ts—MemoryCachewith in-flight deduplication; TTLs: markets 60s, tickers 5s, orderbooks 3sBudaApiErrorhasretryAfterMsfor 429 responses; client retries once honoringRetry-Afterheader (seconds, RFC 7231, default 1s, capped at 30s)scripts/sync-version.mjs— run vianpm run sync-version- Unit tests:
npm run test:unit(no network); Integration:npm run test:integration(skips if API unreachable)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 54 lines · 662 tokens per session scan A f3699f1eac86
release-workflow is a cursor rule published in the GitHub repository gtorreal/buda-mcp (0 stars, last pushed 2mo ago), licensed MIT. It adds 662 tokens to every session, about $0.0033 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
08-github-workflow-standards
GitHub issue/PR/milestone standards for Matryca Plumber (OSS maintainer rigor).
release-notes
Generate changelog entries and GitHub releases from git history. Categorizes commits into features, fixes, breaking changes, and docs. Supports conventional commits, PR-based grouping, and semantic versioning. Creates formatted CHANGELOG.md entries and GitHub releases.
versioning
Semantic versioning rules for tagging releases.
versioning-and-npm-distribution
Versioning integrity and GitHub/npm distribution flow for AgentProdReady.
release-checklist
What to update with each code change or version release.
release
Cut a versioned release of harness-mini — bump VERSION, roll the CHANGELOG, tag, and publish a GitHub release. Use when shipping a new version. Wraps bin/harness.sh release; covers the human-judgment steps (semver choice, changelog curation) the script can't make.