Skip to content

Plugins

Sky is plugin-first. Core commands stay minimal; most features ship as plugins. If a command is not built into sky, it attempts to resolve and run an installed plugin with the same name.

Native Plugins

Compiled executables with full system access. Ideal for:

  • Filesystem operations
  • Network requests
  • Heavy computation

WASM Plugins

WebAssembly modules that run in a sandbox. Ideal for:

  • Cross-platform portability
  • Security-sensitive environments
  • URL-based distribution

Create your first plugin in seconds:

Terminal window
# Create a native plugin
sky plugin init my-plugin
cd my-plugin
go build -o plugin
sky plugin install --path ./plugin my-plugin
sky my-plugin

Plugins can do anything a standalone CLI tool can do:

  • Analyze Starlark files - Parse and check code using buildtools
  • Custom lint rules - Enforce project-specific coding standards
  • Code generation - Generate boilerplate from templates
  • Project scaffolding - Initialize new projects
  • Integration - Connect with external services

The Sky repository includes example plugins to learn from:

ExampleDescription
hello-nativeMinimal native Go plugin
hello-wasmMinimal WASM plugin
star-counterStarlark file analyzer
custom-lintCustom lint rules

Browse them at examples/plugins/ in the repository.