with one click
extension-development
// Build, install, and hot-reload Nimbalyst extensions using MCP tools. Use when developing, testing, or iterating on Nimbalyst extensions.
// Build, install, and hot-reload Nimbalyst extensions using MCP tools. Use when developing, testing, or iterating on Nimbalyst extensions.
Help the user file a bug report or feature request for Nimbalyst. Activates when the user opens the in-app feedback flow or runs /feedback:bug-report or /feedback:feature-request. Coordinates evidence gathering, anonymization, and posting to GitHub Issues.
Create diagrams and visual drawings using Excalidraw (.excalidraw files). Use when the user wants flowcharts, architecture diagrams, system diagrams, sketches, or any visual diagram. For database schemas and entity relationship diagrams, use the DataModelLM extension instead.
Create git commits using Nimbalyst's interactive commit proposal widget. ONLY use when the user explicitly clicks "Commit with AI" button or asks for "smart commit". For regular commit requests, use standard git commands instead.
Create structured plan documents and track work items using YAML frontmatter. Use when the user wants to plan a feature, track progress, log bugs/tasks/ideas, or organize project work.
Create visual data models for database schemas using Nimbalyst's DataModelLM editor. Use when the user wants to design a data model, database schema, entity relationship diagram, or Prisma schema.
Create visual UX mockups using HTML/CSS files (.mockup.html). Use when the user wants to design UI, wireframes, visual layouts, or plan features visually.
| name | extension-development |
| description | Build, install, and hot-reload Nimbalyst extensions using MCP tools. Use when developing, testing, or iterating on Nimbalyst extensions. |
Nimbalyst provides MCP tools for building, installing, and hot-reloading extensions directly from within the running app. This enables rapid iteration on extension development without manually running build commands.
The recommended in-app scaffold flow uses File > New Extension Project, Developer > New Extension Project, or the Extension Developer Kit's /new-extension command. Enable Extension Dev Tools in Settings > Advanced before using the build/install workflow.
mcp__nimbalyst-extension-dev__extension_build
Runs npm run build (vite build) on an extension project.
Parameters:
path: Absolute path to the extension project root (directory containing package.json and manifest.json)Returns: Build output including any errors or warnings.
mcp__nimbalyst-extension-dev__extension_install
Installs a built extension into the running Nimbalyst instance. The extension must be built first.
Parameters:
path: Absolute path to the extension project rootReturns: Installation status and any validation warnings.
mcp__nimbalyst-extension-dev__extension_reload
Rebuilds and reinstalls an extension in one step. This is the most common tool for iterating on extension development.
Parameters:
extensionId: The extension ID from manifest.json (e.g., "com.nimbalyst.my-extension")path: Absolute path to the extension project rootReturns: Build and reload status.
mcp__nimbalyst-extension-dev__extension_uninstall
Removes an installed extension from the running Nimbalyst instance.
Parameters:
extensionId: The extension ID to uninstallmcp__nimbalyst-extension-dev__extension_get_status
Gets the current status of an installed extension, including whether it loaded successfully and what it contributes.
Parameters:
extensionId: The extension ID to querymcp__nimbalyst-extension-dev__restart_nimbalyst
Restarts the entire Nimbalyst application. Only use when explicitly requested by the user.
mcp__nimbalyst-extension-dev__extension_test_run
Execute Playwright scripts against the running Nimbalyst instance via CDP. Supports inline scripts or .spec.ts file paths.
Parameters:
script: Inline Playwright code (runs inside an async test with page connected to Nimbalyst)testFile: Absolute path to a .spec.ts filetimeout: Max execution time in ms (default: 30000)Provide either script or testFile, not both.
mcp__nimbalyst-extension-dev__extension_test_open_file
Opens a file in Nimbalyst and waits for the editor to mount. Use before running tests that need a specific file open.
Parameters:
filePath: Absolute path to the file to openwaitForExtension: Extension ID to wait for (waits until the extension's editor container renders)timeout: Max wait time in ms (default: 5000)mcp__nimbalyst-extension-dev__extension_test_ai_tool
Execute an extension's AI tool handler directly and return the result. Bypasses full MCP routing.
Parameters:
extensionId: The extension IDtoolName: Tool name without extension prefix (e.g., "get_elements")args: Arguments object to pass to the handlerfilePath: For editor-scoped tools: file path for context/new-extension <path> <name> [file-patterns]extension_buildextension_installextension_reload to rebuild and reinstallextension_get_status to verify it loadedextension_test_open_file to open a sample fileextension_test_run with Playwright scripts to verify behaviorcapture_editor_screenshot for visual verificationget_renderer_debug_logs for runtime errorsInline test example:
extension_test_run({
script: `
const editor = page.locator('[data-extension-id="com.nimbalyst.my-ext"]');
await expect(editor).toBeVisible();
await editor.locator('.save-btn').click();
await expect(editor.locator('.status')).toHaveText('Saved');
`
})
Test file example:
extension_test_run({ testFile: "/path/to/extension/tests/basics.spec.ts" })
extension_get_statusmcp__nimbalyst-extension-dev__get_main_process_logs (filter by component: "EXTENSION")mcp__nimbalyst-extension-dev__get_renderer_debug_logsextension_install requires a pre-built extensionextension_reload for iteration - It combines build + reinstall in one steprestart_nimbalyst when the user explicitly asksdist/index.jsnpm install was run in the extension directoryextension_get_status to check if it's loaded