Plugin System
91+ tools built in. Unlimited tools with plugins. Add your own transformers, detectors, and generators — they appear and behave exactly like built-in tools.
Why a Plugin System?
No general-purpose toolbox covers every workflow. Teams often need specialised transformations — proprietary encoding schemes, internal data formats, custom hash functions, or domain-specific converters. SmartDevBox's plugin system lets you add exactly those tools without forking the codebase or waiting for an upstream release.
Plugins integrate at the same level as built-in tools: they appear in the sidebar, participate in auto-detection, and produce output in the standard panel with copy and download support.
Plugin Architecture
A SmartDevBox tool is a plain ToolDefinition object with six fields:
idA unique string identifier, e.g. "my-custom-tool"nameHuman-readable display name shown in the sidebarcategoryThe sidebar category to group the tool underdescriptionShort description shown in the Command Palette (⌘K)detect()Returns a confidence score 0–1; used by auto-detectiontransform()Produces the tool's output from the input stringOnce registered, a plugin is indistinguishable from a built-in tool. It appears in the sidebar under the category you choose, is searchable via the Command Palette (⌘K), and triggers in the auto-detection engine if its detect() function returns a score above 0.3.
The Plugin Registry
The registry exposes three functions:
registerPlugin(definition)— registers a tool definitionunregisterPlugin(id)— removes a registered toollistPlugins()— returns all registered plugin tools
A REST API at /api/plugins backs the Plugin Manager UI and persists plugins across sessions via local storage.
Plugin Manager UI
SmartDevBox ships with a Plugin Manager panel accessible from the sidebar. It lists all installed plugins with their name, ID, category, and description. You can enable, disable, or remove plugins from this panel without touching any code.
Use Cases for Custom Plugins
- Decode a proprietary binary format used internally
- Transform Avro or Protobuf data with your own schema
- Add a company-specific ID format validator or generator
- Create a custom JWT decoder that understands your claim structure
- Convert between an internal config format and standard JSON
- Build a formatter for an internal DSL or query language
- Add hash functions beyond MD5/SHA — e.g. BLAKE2 or CRC32
- Extend the detection engine to recognise your company's token formats
Security Model
Plugins run in the same browser context as SmartDevBox. Only install plugins from sources you trust — there is no sandboxing layer between plugin code and the browser.
Plugins you write yourself or distribute internally are safe by definition. Exercise the same caution with third-party plugins as you would with any third-party JavaScript.
SmartDevBox Plugins vs Browser Extensions
A common alternative for adding custom developer tools is to install a browser extension. SmartDevBox plugins offer a different trade-off:
Plugins also integrate with SmartDevBox's auto-detection system. A plugin that provides a detector function participates in the same confidence scoring used by all 91 built-in tools — so your custom tool can fire automatically on paste, just like the built-ins.
Frequently Asked Questions
Do plugins need to be deployed with the application?
Built-in plugins in the /plugins directory are bundled at build time. Dynamically registered plugins (via Plugin Manager or /api/plugins) are loaded at runtime and survive page reloads without a rebuild.
Can a plugin participate in auto-detection?
Yes. If your detect() function returns a score above 0.3 for a given input, it will appear as a detection chip alongside the built-in detections.
Is the plugin system open source?
SmartDevBox is self-hosted. The plugin registry, API routes, and Plugin Manager component are all part of the open application codebase and can be freely inspected, modified, or extended.