Skip to content

Build

How to author Plasma components — the reusable units that make up packages.

A component is a directory under src/<layer>/<kind>/<name>/ with metadata, build tasks, defaults, and templates. Plasma standardizes how components are structured, configured, and built, so that anything from a single function to a full application follows the same rules.

Principles you'll meet everywhere

  • Builders, not raw tooling. Never call docker or kubectl directly — components declare intent and a builder produces the artifact.
  • Configure at the service level, never the application level. Applications orchestrate; services configure.
  • Variables carry environment decisions (machine_env), never {% if %} logic inside templates.
  • Prefix every variable with its component name to avoid collisions.

In this section

See also the Component model concept page for the why.