Skip to content

Add static native module registry #266

@IgorWarzocha

Description

@IgorWarzocha

Goal

Add a small static registry for built-in native capability modules so terminal, GitOps, and future native surfaces have one discoverable place to declare their identity before any real plugin system exists.

Scope

  • Define a lightweight native module contract with metadata only at first: id, label, description, and optional capability tags.
  • Add a static registry under the app/native area that registers existing built-in modules such as nativeTerminalModule and nativeGitOpsModule.
  • Keep every module always enabled; no user config, dynamic loading, external plugins, lifecycle hooks, permissions, or marketplace behavior in this issue.
  • Document the difference between native capability modules and core app modules so future aliases do not drift.

Acceptance criteria

  • Existing native modules are registered in one typed static registry.
  • The registry can be imported without side effects or UI/runtime behavior changes.
  • Native module metadata is easy to inspect from tests or developer tooling.
  • The issue does not introduce plugin enable/disable behavior yet.
  • bun run ai:check passes.

Notes

This is the bridge after the module-boundary work. It should make future contribution slots easier, but the first slice should stay deliberately boring and metadata-only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:runtimeLive runtime and session lifecyclearea:shellApp shell and workspace routingpriority:p2Useful, but lower prioritytype:featureUser-facing feature work

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions