Modules
Writing a module
A module is one block you can drop into your bento. It is a folder on your Mac.
blockodile ships with two built-in modules (Terminal and Shell command); everything else is a folder.
Where modules live
~/.config/blockodile/modules/
btop/
module.json
hello/
module.json
index.htmlOne folder per module. The folder name is the module id. blockodile watches the folder, so adding or editing a module shows up in about a second, no restart needed.
Two kinds
command: any program that runs in a terminal. No API to learn.web: one self-contained HTML file in a sandboxed iframe, with theblockodileSDK for files, shell and agent state.
Sharing a module
Zip the folder and share it; the user unzips it into ~/.config/blockodile/modules/. That is the
whole install. To list it in the library, open a PR to
blockodile-modules adding modules/<id>/, with
description and author in module.json: the card is built from them.
Checklist before publishing
idequals the folder namekindiscommandorweb- web: single HTML file, no relative assets
w/hset so the block looks right on first add- found the module in the "+ block" menu