This plugin mirrors your Flakes runs into your local Herdr session. Each mirrored active run becomes a workspace and each mirrored active task becomes a tab, so you can see the current run at a glance and steer supported tasks through the pane composer.
The plugin is deliberately small. Its manifest and Node shims launch the implementation already shipped by the Flakes CLI; no Flakes application code is bundled here.
-
Herdr 0.7.4 or newer on macOS or Linux.
-
The Flakes CLI installed and available on
PATH:npm install -g @baochunli/flakes
-
A local Flakes login:
flakes auth login
If flakes is not on PATH, put its absolute path in a file named
flakes-path inside the plugin config directory. The shims check that file
first, then FLAKES_BIN, then PATH.
Link this directory while developing:
herdr plugin link .After publishing the directory as a standalone GitHub repository, install it with:
herdr plugin install iQua/herdr-flakesThe mirror reads config.toml from HERDR_PLUGIN_CONFIG_DIR. You can find
that directory with herdr plugin config-dir flakes. All settings are
optional; these are the defaults:
[mirror]
poll_seconds = 2
projects = ["*"]
max_runs = 20
notifications = truepoll_secondscontrols the active-run polling interval. It must be positive; the daemon backs off while idle.projectsis either["*"]or a non-empty list of project keys. Do not mix"*"with explicit keys.max_runsis the positive maximum number of active runs to mirror.notificationsenables Herdr notifications for mirror transitions.
Restart the mirror after changing the configuration.
Run the Flakes: start mirror Herdr action. It launches
flakes herdr daemon as a detached local process, so closing a pane does not
stop the mirror. Use Flakes: stop mirror to stop it and Flakes: mirror
status (or the Flakes status overlay) for an on-demand health check.
You can also run the daemon directly from a shell in your Herdr session:
flakes herdr daemonThe CLI owns the daemon PID file and mirror state under
HERDR_PLUGIN_STATE_DIR; the plugin shims do not maintain a second copy.
Herdr plugins run unsandboxed as the current user. This plugin only starts the
local Flakes CLI and passes through Herdr's plugin environment. The CLI reads
your existing flakes auth login credential from its own local credential
store; the plugin does not read, copy, or pass a credential into Herdr.
The mirror daemon and its shims run on the operator's local machine. The plugin adds no process or credential to your Flakes hosts or sandboxes; those continue to run through the normal Flakes control plane.