flowly plugins commands
flowly plugins CLI subcommand. All commands run synchronously and exit with code 0 on success, non-zero on failure.flowly plugins list
List all discovered plugins with their version, source, status, and description.
flowly plugins listSample output:
Plugins
┏━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Version ┃ Source ┃ Status ┃ Description ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ auto-commit │ 1.0.0 │ user │ enabled │ Automatically... │
│ disk-cleanup │ 1.0.0 │ bundled │ enabled │ Auto-track and... │
└──────────────┴─────────┴─────────┴─────────┴─────────────────────┘Status values:
enabled— plugin loaded successfully on the last gateway startavailable— discovered but not inplugins.enabled; needsflowly plugins enabledisabled— explicitly listed inplugins.disablederror— manifest parsed butregister(ctx)raised; check gateway logs
Source values:
bundled— ships with Flowly (flowly/plugins_bundled/)user— installed at$FLOWLY_HOME/plugins/project— discovered at./.flowly/plugins/(only whenFLOWLY_ENABLE_PROJECT_PLUGINS=1)
flowly plugins install
Install a plugin from a Git URL, owner/repo shorthand, or local path.
flowly plugins install <source> [--enable | --no-enable] [--force]Sources:
- GitHub shorthand —
owner/repo, resolved tohttps://github.com/owner/repo.git - Full Git URL —
https://gitlab.com/...,git@github.com:...,ssh://git@... - Local directory — absolute or
~-relative path. Copied into$FLOWLY_HOME/plugins/.
Flags:
--enable(default on) — add toplugins.enabledafter install. Pass--no-enableto skip.--force,-f— overwrite if a plugin with this manifest name already exists. Without it, install fails fast.
Examples:
# GitHub shorthand, auto-enable
flowly plugins install nocetic/flowly-weather
# Private repo via SSH, install only (don't enable yet)
flowly plugins install git@github.com:acme/internal-plugin.git --no-enable
# Local development copy, force-overwrite
flowly plugins install /Users/me/code/my-plugin --forcename, not the source. So flowly plugins install /tmp/build lands at $FLOWLY_HOME/plugins/<manifest.name>/, regardless of the source path.flowly plugins enable
Add a plugin to the plugins.enabled allowlist.
flowly plugins enable <name>The name comes from the manifest. Use the same name shown in flowly plugins list.
flowly service restart (or quit and reopen the desktop app) for the change to take effect.flowly plugins disable
Add a plugin to the plugins.disabled list.
flowly plugins disable <name>The disabled list takes precedence over enabled. Disabling a bundled plugin is the only way to opt out of the default-on plugins.
flowly plugins remove to actually uninstall.flowly plugins remove
Uninstall a plugin — deletes its directory under $FLOWLY_HOME/plugins/.
flowly plugins remove <name> [--yes]Flags:
--yes,-y— skip confirmation prompt. Useful in scripts.
The plugin is also removed from plugins.enabled and plugins.disabled automatically.
flowly/plugins_bundled/) can't be removed via this command — they live inside the package. Use flowly plugins disable instead.config.json structure
The CLI reads and writes the plugins key in $FLOWLY_HOME/config.json. Schema:
{
"plugins": {
"enabled": [
"auto-commit",
"weather"
],
"disabled": [
"some-plugin-i-dont-like"
]
}
}You can edit this file directly — but the CLI is safer (atomic writes, deduplication, validation). External edits take effect on the next gateway start.
$FLOWLY_HOME/<plugin-name>/config.json — see Configuration.