# Plugins (runtime v2)
Standard Code plugins are WebAssembly components written in Rust against
the WIT package `standard:plugin@2.0.0` (`wit/plugin.wit` in this crate),
with this SDK, `standard-plugin-sdk`, and the CLI `standard-plugin`
(`standard-plugin-cli`). These guides ship with the SDK: they are the
`docs/` directory of the crate, the `standard_plugin::guide` pages of its
API documentation, and `standard-plugin guide` prints them for the SDK
version a plugin's `Cargo.lock` resolves. Agents writing a plugin start
with the [agent guide](agent-guide.md).
| [Getting started](getting-started.md) | Written |
| [The manifest](manifest.md) | Written |
| [Grants](grants.md) | Written |
| [Rendering](rendering.md) | Written |
| [Input](input.md) | Written |
| [Working together](working-together.md) | Written |
| [Daemon plugins](daemon-plugins.md) | Written |
| [Testing plugins](testing.md) | Written |
| [Publishing and installing](publishing.md): sources (GitHub, npm, links, files), the install dialog, updates | Written |
| [Agent guide](agent-guide.md): the plugin model, pitfalls from real plugins, a pre-publish checklist | Written |
| [The low-level contract](abi.md): the exports, memory rules and surface buffer protocol the SDK implements | Written |
| [Other toolchains (unsupported)](other-languages.md): the rules any component must meet, and what the CLI checks | Written |
Every code example these pages refer to is a compiled file in the crate's
`examples/` or `tests/testing_harness.rs`, and the manifests shown here are
checked by the CLI's tests.