Skip to content

Plugin Stuff Round 9#663

Merged
lbedner merged 1 commit intomainfrom
plugin-stuff-round9
May 2, 2026
Merged

Plugin Stuff Round 9#663
lbedner merged 1 commit intomainfrom
plugin-stuff-round9

Conversation

@lbedner
Copy link
Copy Markdown
Owner

@lbedner lbedner commented May 2, 2026

No description provided.

Copilot AI review requested due to automatic review settings May 2, 2026 03:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds end-to-end CLI + ManualUpdater support for installing/removing external plugins, including reverse-dependency checks and test fixtures to validate plugin template distribution and answers-file updates.

Changes:

  • Introduces aegis add <plugin> / aegis remove <plugin> dispatch paths backed by ManualUpdater.add_plugin() / ManualUpdater.remove_plugin().
  • Adds reverse_dependents() in aegis.core.plugin_compat plus unit tests to validate reverse-dependency detection.
  • Adds an in-repo fake plugin fixture (tests/fixtures/aegis_plugin_test) and expands ManualUpdater plugin tests for add/remove round-trips.

Reviewed changes

Copilot reviewed 9 out of 12 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
aegis/commands/add.py Adds plugin resolution + install flow and dispatch to add-service for services.
aegis/commands/remove.py Adds plugin resolution + uninstall flow and reverse-dependency checks before removal.
aegis/core/manual_updater.py Implements add_plugin() and remove_plugin() orchestration around answers updates, shared regen, template install/cleanup, and post-gen tasks.
aegis/core/plugin_compat.py Adds _plugins parsing improvements and new reverse_dependents() helper.
aegis/i18n/locales/en.py Adds English strings for plugin add/remove prompts/status messages.
tests/core/test_manual_updater_plugins.py Adds end-to-end add/remove plugin round-trip tests and idempotency coverage.
tests/core/test_plugin_compat.py Adds unit tests for reverse_dependents() across services/plugins/components deps.
tests/fixtures/aegis_plugin_test/... (all added files) Fake plugin distribution fixture (spec + templates + packaging metadata) used by tests.

Comment thread aegis/core/manual_updater.py Outdated
Comment thread aegis/core/manual_updater.py Outdated
Comment thread aegis/commands/add.py Outdated
Comment thread aegis/commands/add.py
Comment thread aegis/commands/add.py Outdated
Comment thread aegis/commands/remove.py Outdated
@lbedner lbedner force-pushed the plugin-stuff-round9 branch from 212b8e6 to 695d61c Compare May 2, 2026 18:46
@lbedner lbedner merged commit aff77de into main May 2, 2026
8 checks passed
@lbedner lbedner deleted the plugin-stuff-round9 branch May 2, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants