appctl-plugin-sdk 0.9.1

Stable schema + dynamic plugin ABI for the appctl CLI agent
Documentation

appctl-plugin-sdk

Stable schema types and a C ABI for building dynamic plugins that extend the appctl CLI.

Plugins are shipped as cdylibs and dropped into ~/.appctl/plugins/. The appctl host loads them with libloading, validates the ABI version, and invokes the plugin's introspect function to obtain a normalized [Schema].

Example

use appctl_plugin_sdk::prelude::*;

fn introspect(_input: SyncInput) -> anyhow::Result<Schema> {
    let mut schema = Schema::new("airtable");
    schema.resources.push(Resource::new("record"));
    Ok(schema)
}

appctl_plugin_sdk::declare_plugin! {
    name: "airtable",
    version: "0.1.0",
    introspect,
}

Build with crate-type = ["cdylib"] and install with:

appctl plugin install ./target/release/libappctl_airtable.dylib

License

MIT — see LICENSE.