Refactor Initializers to Use GitHub-Based Plugin Installer #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔧 Pull Request: Refactor Initializers to Use GitHub-Based Plugin Installer
Summary
This PR introduces a major improvement to the user initialization process by replacing legacy hardcoded plugin initializers with a dynamic, GitHub-based plugin installation mechanism. It improves maintainability, consistency, and alignment with frontend logic for plugin management.
🧩 Changes Overview
✅ Replaced Hardcoded Initializers
Removed:
brain_drive_basic_ai_chat_initializer.pybrain_drive_settings_initializer.pyThese files contained embedded plugin/module data that is now sourced directly from GitHub repositories.
🚀 Introduced
GitHubPluginInitializerAdds a new initializer:
github_plugin_initializer.pyInstalls plugins using the shared
install_plugin_from_url()function (same as frontend).Installs:
BrainDriveSettingsfrom [DJJones66/BrainDriveSettings](https://github.com/DJJones66/BrainDriveSettings)BrainDriveChatfrom [DJJones66/BrainDriveChat](https://github.com/DJJones66/BrainDriveChat)Priority set to
400to run early in the chain, with dependencies clearly defined.🗂️ Modified Initializer Registry
Updated
__init__.pyininitializers/:🧠 Pages Initializer Updated
pages_initializer.py:github_plugin_initializerinstead ofbrain_drive_basic_ai_chat_initializer.BrainDriveChatplugin (GitHub-based).📦 Other Changes
.gitignore: addedbackend/testsdirectory to prevent accidental commits of local test code.✅ Benefits
🧪 Testing & Validation
BrainDriveChatplugin modules.