Getting Started
OverviewLanguage GuideFull Reference
Book
Table of ContentsIntroductionPrefaceGetting StartedLanguage TourOwnershipErrorsConcurrencyStdlibNetworkingDataPackagesSpeed & SafetyCross-PlatformToolingCookbookAppendix
Reference
Standard LibraryKeywordsPerformanceSecurityBuilt-in FunctionsStatusDebuggingABI
How-To
Getting StartedHTTP APIsErrorsPackagesConcurrencyMemoryWASITestingRelease Builds
Project
RoadmapVisionChangelogContributing

Mako ABI And Plugin Seed

Mako's current FFI is extern "C" plus the runtime C headers. The plugin ABI seed gives native dynamic plugins and future WASM plugins one stable handshake.

Native ABI v1

Header: runtime/mako_plugin.h

The ABI surface is intentionally small:

Generate a native skeleton:

mako deploy plugin my-plugin --name my-plugin --kind native
cd my-plugin
./build-plugin.sh

WASM Plugin Seed

Generate a WASM plugin manifest/skeleton:

mako deploy plugin my-wasm-plugin --name my-wasm-plugin --kind wasm

The WASM skeleton documents exported ABI-version and call functions. Full WASM component-model adapters, WIT generation, capability negotiation, and host-side dynamic loading remain roadmap work.

Boundary

Done now:

Not done yet: