All guides

Build your own smabar plugin

Describe your idea and build it with AI. Use ChatGPT or Claude in your browser, or connect an agent directly to smabar.

On this page

A departure board, a parcel tracker, your portfolio on the bar: describe what you want your plugin to do. Your AI builds it using smabar’s SDK and styling rules. Choose the way that fits how you use AI.

Choose your way

In a web chat

Use ChatGPT or Claude in your browser, without setting up MCP. Give your AI the smabar guide and your idea. It creates a ZIP that you download and install yourself. A chat with web access and file creation is required; appearance and actions are checked after installation in your app.

Build a plugin in a web chat · Install the ZIP

With a connected agent

Connect a compatible AI agent to smabar’s MCP server. It can read the app’s guide, write and install the plugin, inspect screenshots and logs, and improve it directly in the running app.

Connect your agent

What a good request looks like

Say what you want to see and when. The agent handles the rest.

Show my next three bus departures from Hauptbahnhof on the bar. Count the minutes down live and turn the tile red when I would have to run.

Track this DHL parcel number and show its status. Send a popup when it goes out for delivery.

Read the canteen menu PDF at this URL every morning and show today’s dish on the tile, the whole week in the flyout.

Useful details to mention: how often to refresh, whether you want a flyout with more detail, whether a popup should fire, and any URL, API key or file the plugin needs. If you do not mention them, the agent will ask or pick a sensible default.

What happens with MCP

  1. The agent reads the plugin guide from smabar, which contains the manifest schema, the SDK reference and a working template.
  2. It writes the plugin into ~/.smabar/plugins/<id>/. The bar watches that folder and starts the plugin the moment its files land; no restart, no reload button.
  3. It takes a screenshot of the bar, or just of the new tile, and looks at it.
  4. It reads the plugin’s log, where every crash and every piece of markup the bar removed is listed with the supported alternative, and fixes what is off.

The result is an ordinary plugin: its own process, its own folder, Python on the runtime smabar provisions. You can read every line of it.

Where things are

  • ~/.smabar/plugins/<id>/ is the plugin’s code. Any change there reloads the plugin.
  • ~/.smabar/data/<id>/ is what the plugin stores: caches, history, settings. Removing the plugin removes it.
  • ~/.smabar/logs/plugin-<id>.log is its log.

Improve and share your plugin

  • With MCP, ask for changes the same way: “make the tile show only the minutes” or “add a setting for the stop name”. The agent edits the plugin in place.
  • In a web chat, ask for an updated ZIP. Share screenshots or relevant log lines if something looks wrong, after removing personal data and credentials. A web chat cannot inspect your running app on its own.
  • If a plugin talks to a service that needs a key, the agent stores it in the plugin’s settings, never in the code folder.
  • You can share a plugin you like with others. The publishing page shows how to share it through the Community Store.