BLOCKODILE
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.html

One 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 the blockodile SDK 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

  • id equals the folder name
  • kind is command or web
  • web: single HTML file, no relative assets
  • w/h set so the block looks right on first add
  • found the module in the "+ block" menu

On this page