4 Commits

Author SHA1 Message Date
HAL9000 d55e610f90 test(plugin-cli): expand BDD tests to cover all happy paths and long-description truncation
Add mock-based @given steps and 14 new scenarios covering the rich
table list, show, enable, disable, remove happy paths, the abort
confirmation flow, and the description truncation branch
(plugin.py:134). The @when step now patches _get_plugin_manager via
context so PluginManager isolation works without a singleton.

ISSUES CLOSED: #5756
2026-06-15 06:36:16 -04:00
HAL9000 5172cb18e1 fix(cli): add --data-dir/--config-path/-v to main_callback, remove legacy tell/build commands
Fixes typecheck errors (tell/build imported non-existent plan symbols), adds
missing --data-dir, --config-path, and -v global options to main_callback,
removes legacy tell/build top-level commands, and adds missing plugin CLI
step definition with PluginError catch in show_plugin.

ISSUES CLOSED: #5756
2026-06-15 06:36:16 -04:00
HAL9000 2b969c1994 fix(plugins): register plugin CLI subcommand in main.py and fix lint/test issues
- Register plugin command in CLI main.py imports and add_typer calls
- Add plugin to valid_cmds list in main() to prevent "Invalid command" error
- Remove unused PluginNotFoundError import from plugin.py (F401 lint fix)
- Fix line too long in plugin.py _print_plugin function (E501 lint fix)
- Fix list_plugins to output JSON even when no plugins installed
- Remove duplicate step definitions from plugin_cli_steps.py that conflicted
  with existing steps (I run, output should contain, output should be valid JSON)
- Rewrite plugin_cli.feature to test error cases that don't require pre-registered
  plugins (since PluginManager is not a singleton across CLI invocations)
2026-06-15 06:36:16 -04:00
HAL9000 14f134a463 feat(plugins): implement agents plugin CLI subcommand group and built-in plugin discovery
- Implement plugin CLI subcommand group with list, show, enable, disable, install, remove commands
- Add JSON/YAML output format support for all plugin commands
- Create Behave BDD tests for plugin CLI functionality
- Full type annotations and pyright compliance
- Supports plugin state management (ACTIVATED, DEACTIVATED, DISCOVERED, ERRORED)

Closes #5756
2026-06-15 06:36:16 -04:00