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
appctlcrate — they implement the asyncSyncPlugintrait directly. - Out-of-process dynamic plugins shipped as
cdylibs living under~/.appctl/plugins/— they expose a single#[no_mangle] extern "C"entry point returning aPluginManifestplus a JSON-in / JSON-outintrospectfunction. Seedeclare_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
appctlsync plugins. - prelude
- Convenience re-export for plugin authors.
- schema
Macros§
- declare_
plugin - Declare a plugin. Generates the
appctl_plugin_registerentrypoint plus theintrospect/free_stringwrappers from a user-provided async function of the formasync fn(SyncInput) -> anyhow::Result<Schema>.
Structs§
- Sync
Input - Runtime inputs passed to a sync plugin.
Traits§
- Sync
Plugin - A sync plugin introspects an application and returns a
Schema.