Extend Bolt

Starter kit.

Download a working Bolt App, see it run in about five minutes, then have your coding agent make your own.

Five minutes, step by step.

  1. Allow User Apps. Open Settings → Desktop App → User Apps. Check that Allow User Apps on this device is on. If it says your organization turned it off, stop here: an admin controls that switch.
  2. Turn on Rich widgets (optional, only for demo-tiles). In Settings → About Bolt, click the version number 7 times. A Labs page appears in the Settings sidebar. Open Settings → Labs, find the Experimental group and switch on Rich widgets for launcher apps. It takes effect the next time an app runs.
  3. Download a sample. Pick one in the table below. Start with scrub-pii (one file, no script) or demo-table (a file and a script).
  4. Put the files in your User Apps folder. In Settings → Desktop App → User Apps click Open folder. Save the .yaml file there. Save any .py file in a folder named scripts inside it, and create that folder if it is not there. Then click Reload.
  5. Check that it loaded. A toast says the User Apps were reloaded and the app appears in the list under Reload. A file with a mistake is listed with the reason instead. Then open the Bolt launcher, type =demo-table and press Enter, or type =scrub-pii followed by text that holds an email address.
  6. Remove it. In the same list click Remove on the app's row. Bolt deletes the app's YAML file.

Where the folder is

Open folder always shows the right place. It is a folder named user-utils inside Bolt's app-data folder:

  • macOS: ~/Library/Application Support/<Bolt's folder>/user-utils/
  • Linux: ~/.local/share/<Bolt's folder>/user-utils/
  • Windows: %APPDATA%/<Bolt's folder>/user-utils/

Scripts go in the scripts folder inside user-utils.

Ready-made samples.

Each file is an exact copy of the sample that ships with Bolt 0.1.176 and passes the Agent guide checks (schema and command rules). Samples marked Made-up data use canned rows, so they need no account and no network.

AppKindWhat it doesNeedsFiles
scrub-piiTransformMasks SSNs and emails in text you paste, then strips hidden characters. Nothing leaves your computer.Nothing. No script.Download scrub-pii.yaml
branchTransformTurns ticket text like PROJ-123: Fix login loop into a git branch name and a commit stub.Nothing. No script.Download branch.yaml
demo-tableBridge list, table paneA list of services on the left, a table on the right. Made-up data.Python 3. Script below.Download demo-table.yaml
Download bolt-demo.py
demo-chartBridge list, chart paneA bar chart of deploys per day. Made-up data.Python 3. Same script as demo-table.Download demo-chart.yaml
Download bolt-demo.py
demo-cardsBridge list, cards paneService cards with status badges. Made-up data.Python 3. Same script.Download demo-cards.yaml
Download bolt-demo.py
demo-detailBridge list, detail panePick a row, see its label and value pairs. Made-up data.Python 3. Same script.Download demo-detail.yaml
Download bolt-demo.py
demo-tilesBridge list, cards pane (Rich widgets)Number tiles with a change, a trend line and a meter. With the Rich widgets switch off you get the plain card grid instead.Python 3, and the Rich widgets switch for the tiles.Download demo-tiles.yaml
Download bolt-demo.py

Mac only: none of these seven. The scripts are plain Python and the YAML carries commands for macOS, Linux and Windows (python3 on macOS and Linux, python on Windows). We have run them on a Mac. Python 3 has to be installed, and on Windows it has to be reachable as python.

More samples are coming after a safety pass.

What you should see.

Real launcher screenshots of these apps. The rows are sample data built into the apps, not anyone's real services.

demo-table

The demo-table app in the Bolt launcher: a list of services with a table of the same rows on the right. Sample data.
Table pane. Sample data.

demo-chart

The demo-chart app in the Bolt launcher: a list of days with a bar chart on the right. Sample data.
Chart pane. Sample data.

demo-cards

The demo-cards app in the Bolt launcher: a list of services with a grid of cards on the right. Sample data.
Cards pane. Sample data.

demo-detail

The demo-detail app in the Bolt launcher: a list of services with label and value pairs for the selected row. Sample data.
Detail pane. Sample data.

demo-tiles

The demo-tiles app in the Bolt launcher with Rich widgets off: the four rows show as a plain grid of cards, without numbers, trend lines or meters.
demo-tiles with Rich widgets OFF: the plain card grid. Switch it on to get the tiles.

scrub-pii and branch are text transforms: you type =branch PROJ-123: Fix login redirect loop and press Enter to copy the result, so there is no pane to show.

Labs and experimental switches.

Labs is hidden until you click the version number 7 times in Settings → About Bolt. Its switches are off by default and may change or go away. These two matter for Bolt Apps:

Switch (Settings → Labs → Experimental)What it doesDefault
Rich widgets for launcher appsLets apps show number tiles with a change, a trend line and a meter, and tables with chosen totals and a starting sort. Apps that do not ask for these look the same either way. Takes effect the next time an app runs.Off
Bolt AppsAdds a Bolt Apps page to Settings. You do not need it for anything on this page.Off

Building at an event.

Use a Mac if your app runs a script: that is where we have run the scripts here. On Windows and Linux you can build YAML apps that transform text, like scrub-pii and branch, which have no script at all. An app with a script runs as you, on your own device, so read it before you save it. Sharing an app with other people and installing one from a gallery come later; for now you hand over plain files.

Now make your own.

Give your coding agent the Agent guide (plain Markdown) and the YAML schema. Paste this, and fill in the last sentence:

Prompt for your agent
Read https://sparcle.app/docs/extend/agent-guide.md and use
https://sparcle.app/bolt-app.schema.json to check the YAML.
Write me a Bolt App that <what you want, in one sentence>.
Give me the YAML file, and the script if it needs one, as plain files.

Save what it writes the same way as Steps 4 and 5. Bolt lists a file with a mistake and the reason when you click Reload. More: Quickstart, User Apps reference, all samples.