Extensibility Model¶
bijux-cli extensibility is route-centric. Extensions are integrated through
plugin manifests, namespace registration, compatibility checks, and entrypoint
execution contracts.
Visual Summary¶
flowchart LR
manifest["plugin.manifest.json"] --> validate["manifest and compatibility validation"]
validate --> register["namespace registration"]
register --> route["route resolution"]
route --> execute["python delegated or external-exec runtime"]
execute --> report["structured report or process result"]
Extensibility Layers¶
- manifest schema and field validation
- reserved namespace and alias conflict protection
- compatibility range checks against host semver
- lifecycle toggles (
enable,disable,uninstall) - diagnostics surfaces (
doctor,explain,schema,where)
Code Anchors¶
crates/bijux-cli/src/contracts/plugin.rscrates/bijux-cli/src/features/plugins/manifest.rscrates/bijux-cli/src/features/plugins/operations.rscrates/bijux-cli/src/features/plugins/runtime.rscrates/bijux-cli/src/routing/registry.rs
Extensibility Constraints¶
- no full sandbox isolation guarantee
- extension namespaces must not collide with reserved roots
- compatibility declarations must be semver-parseable
- entrypoint execution errors must remain inspectable