Skip to main content

Crate appctl_plugin_sdk

Crate appctl_plugin_sdk 

Source
Expand description

appctl-plugin-sdk

Stable schema types and the dynamic-plugin ABI for the appctl CLI agent.

Consumers fall into two groups:

  • Built-in sync plugins inside the main appctl crate — they implement the async SyncPlugin trait directly.
  • Out-of-process dynamic plugins shipped as cdylibs living under ~/.appctl/plugins/ — they expose a single #[no_mangle] extern "C" entry point returning a PluginManifest plus a JSON-in / JSON-out introspect function. See declare_plugin!.

Re-exports§

pub use ffi::PluginManifest;
pub use ffi::PluginVtable;
pub use ffi::SDK_ABI_VERSION;
pub use schema::*;

Modules§

ffi
Stable C ABI for dynamic appctl sync plugins.
prelude
Convenience re-export for plugin authors.
schema

Macros§

declare_plugin
Declare a plugin. Generates the appctl_plugin_register entrypoint plus the introspect / free_string wrappers from a user-provided async function of the form async fn(SyncInput) -> anyhow::Result<Schema>.

Structs§

SyncInput
Runtime inputs passed to a sync plugin.

Traits§

SyncPlugin
A sync plugin introspects an application and returns a Schema.