Summary
Celtrix currently appears to implement a fixed set of features with no mechanism for external contributors or users to extend its functionality through plugins or modules. For an OS-level or platform project aiming to be open and composable, a well-defined plugin/extension API is essential for long-term growth and community adoption.
Problem
- There is no documented plugin interface, hook system, or module registry in the codebase.
- All functionality must be contributed directly to the core repository, creating a monolithic architecture that is harder to maintain as scope grows.
- Contributors with specialized use cases (custom integrations, domain-specific extensions) have no clean path to extend Celtrix without modifying core code.
- An extensible architecture is a prerequisite for building a healthy ecosystem around the project.
Impact
- Growth is bottlenecked by the core maintainers' bandwidth since all extensions must go through main.
- The project cannot serve niche use cases without accumulating scope in core.
- Contributors who want to add specialized features have no clear contribution path.
Proposed Solution
- Define a
Plugin interface with lifecycle hooks:
interface CeltrixPlugin {
name: string;
version: string;
onInit?: (context: CeltrixContext) => void;
onShutdown?: () => void;
// extend with domain-specific hooks as needed
}
- Create a
PluginRegistry that loads and manages plugins, validates their interface compliance, and calls lifecycle hooks at the appropriate points.
- Document the Plugin API with a
PLUGIN_DEVELOPMENT.md guide.
- Create a reference plugin demonstrating the full plugin lifecycle as a concrete example for third-party developers.
Additional Notes
- I will design the plugin system to be non-breaking — the core system works identically with zero plugins registered.
- Could you assign this to me?
Labels: enhancement, feature, architecture, help wanted, GSSoC 2026
Summary
Celtrix currently appears to implement a fixed set of features with no mechanism for external contributors or users to extend its functionality through plugins or modules. For an OS-level or platform project aiming to be open and composable, a well-defined plugin/extension API is essential for long-term growth and community adoption.
Problem
Impact
Proposed Solution
Plugininterface with lifecycle hooks:PluginRegistrythat loads and manages plugins, validates their interface compliance, and calls lifecycle hooks at the appropriate points.PLUGIN_DEVELOPMENT.mdguide.Additional Notes
Labels:
enhancement,feature,architecture,help wanted,GSSoC 2026