Skip to content

Overview

The hub runs each tool from a folder. An entry in config.json can point a tool at your own folder, so you can change a tool and keep the hub as it is. There are three ways to do it, from the smallest change to the largest:

What the hub runsYou maintainPatchthe published packagepatchOne patch file per versionForkyour copy of the tool sourceA copy of the toolNew appyour appA complete app
What runs in each way: the accent part is yours
  • A patch changes a few lines in the published package.
  • A fork changes any part of the tool’s source.
  • A new app changes nothing in the existing tools.

Start with a patch. When the patch gets large or breaks on each upgrade, go to a fork. When the tool you want does a different job, write a new app.

Each way ends with an entry in the apps list of config.json:

{
"apps": [
{ "id": "kanban-patched", "path": "C:/dev/kanban-patched" },
{ "id": "kanban", "enabled": false }
]
}
  • path is the folder of your tool. It can be any folder on the machine. A relative path starts from the folder of config.json. The hub does not expand ~, so write the full path.
  • id must be the same as the id in the folder’s hub-app.json.
  • To replace a built-in tool, use its id, for example kanban. To run your tool next to the original, give it a new id.

Restart the hub after you edit the file. See The config file for the other keys.

Only one tool gets the embedded terminal and the project list: the first enabled tool in tab order that declares it in provides. If your tool and the original both declare them, the hub logs a message at startup. Turn one off, or put the one you want first.

Alt+1 to Alt+9 follow the tab order, so the tool you put first is also Alt+1.

  • Compact session rows: a patch that changes the Kanban session list to two-line rows.
  • Task board: a fork that keeps the Kanban server and replaces its page with a new board.
  • Inspector: a new app that shows the turns, tool calls and token use of one session.