Build, test, and publish NexusBloom tools without leaving your editor.
This is how tools get created on NexusBloom. The CLI and the MCP server consume tools — this extension is where new ones are born. Anyone can scaffold a tool, iterate on its schema and logic, preview it across surfaces, and publish it to the platform for the world to use.
What you can do
🛠 Create
Scaffold a complete tool — v2.js (the MANIFEST + coreLogic) and index.js (an optional browser UI component) — in one command. Pick a slug, name, category, and runtime, and the extension writes a working skeleton.
// v2.js — every tool is: a MANIFEST schema + a coreLogic function
export const MANIFEST = {
slug: "password-strength",
name: "Password Strength Analyzer",
runtime: "both",
category: "security",
input_schema: {
type: "object",
required: ["password"],
properties: {
password: { type: "string", description: "The password to analyze" },
min_length: { type: "integer", default: 8 },
require_upper: { type: "boolean", default: true },
},
},
output_schema: {
type: "object",
properties: {
score: { type: "integer" },
verdict: { type: "string", enum: ["weak", "fair", "strong", "excellent"] },
},
},
};
export async function coreLogic(input) {
// your logic here
return { score: 100, verdict: "excellent" };
}
See a complete, working example in examples/password-strength/ — schema, logic, and a browser UI.
✏ Edit & validate
- Edit Schema — change MANIFEST fields without touching the rest of your file.
- Live diagnostics — red squiggles the moment a MANIFEST field is invalid.
- Auto-complete — snippets for MANIFEST, coreLogic, and JSON Schema keywords.
- CodeLens — one-click "Run Preview" and "Test" above your functions.
🧪 Test — four ways, no guessing
Run any tool's coreLogic instantly:
- In-process sandbox — fast, safe, no shell.
nxb run --local — the real CLI path in a terminal.
- Interactive input — step through every schema field.
- Custom JSON — paste the exact object.
🖥 Preview across surfaces
- Node tools → an interactive Webview form generated from your
input_schema.
- Browser tools → the real React UI (
index.js), rendered live.
- The same tool runs identically on Web, CLI, API, MCP, Embed, and VS Code — one schema drives them all.
🌍 Publish & share
Publish a tool to NexusBloom, fork community tools to make them your own, bump versions, rename, and manage your catalogue — all from the Activity Bar.
Sign in
Two ways, both persisted safely in VS Code's encrypted SecretStorage:
- Email + password (session) — for interactive use.
- API key (
nb_*) — for CI / headless / advanced users.
The status bar shows your signed-in state; click it to sign in or out.
Quick start
# Open the NexusBloom Activity Bar view
# then, from the Tools view title bar:
# ➕ Create Tool → pick a slug/name/category/runtime
# ✍️ write your coreLogic
# ▶ Test → verify it runs
# 🚀 Publish → ship it to the platform
Tools live in src/tools/<slug>/ (configurable via nexusbloom.toolsDir).
Commands
| Command |
What it does |
NexusBloom: Create Tool |
Scaffold v2.js + index.js |
NexusBloom: Edit Tool Schema |
Edit MANIFEST fields inline |
NexusBloom: Test Tool Locally |
Run coreLogic in a sandbox / CLI / interactive / custom JSON |
NexusBloom: Preview Tool |
Render node or browser runtime |
NexusBloom: Publish Tool |
Upload to nexusbloom.dev |
NexusBloom: Rename Tool |
Change the tool's slug |
NexusBloom: Bump Version |
Increment patch / minor / major |
NexusBloom: Delete Tool |
Remove a tool directory (with confirmation) |
NexusBloom: Sign In / Sign Out |
Manage credentials |
Settings
| Setting |
Default |
Description |
nexusbloom.apiUrl |
https://nexusbloom.dev |
API base URL |
nexusbloom.toolsDir |
src/tools |
Where local tools are stored |
Testing the extension itself
The extension ships a unit test suite for its pure logic (no VS Code needed):
npm test # validator, sandbox runner, marketplace API client
npm test:watch # watch mode
Tests cover schema coercion, MANIFEST validation, sandbox execution & safety, and API auth/error handling.
examples/password-strength/ is a complete, working tool you can study or fork:
v2.js — a rich MANIFEST (enums, defaults, arrays, required fields) + coreLogic
index.js — an interactive browser UI that renders the form and the score
License
AGPL-3.0-or-later