These docs are under active development.

Recipes

Concept
Anatomy of a recipe

A walk-through of the files that make up a pekit recipe: pekit.toml and its top-level sections, the supporting package/env/keyring/workspace files, how pekit locates a recipe, and the PEKIT_* environment contract every target command runs against.

Concept
Sources

How a pekit recipe gets its source tree: the git, url, and local source kinds, local overrides, materialisation and caching, archive extraction, version enumeration, provenance, and delegation.

Concept
Versions

How pekit parses version strings, selects which versions to build with --version, --latest, and --all-versions, and renders version components into sources and packages.

Concept
Packaging files

How a pekit recipe maps built output into a package payload: the [files] and [symlinks] tables, source-ref syntax (build outputs, rooted refs, owner-relative paths), globs, excludes, and the destination and collision rules that produce a .peipkg.

Concept
Dependencies and claims

How a pekit package declares what it needs, how pekit derives more from the built binaries, and how a package participates in shared filesystem names through claims.

Concept
Multi-package recipes

How one pekit recipe emits several packages: base and member package files, the packages.pekit/ directory, layer merge and precedence, selecting members on the CLI with positional selectors and --all, and the [multipack] fan-out that turns one definition into many instances.

Concept
Environments and keyrings

How pekit assembles the environment a target runs in — recipe [env], env.pekit.toml files selected with --env, [wrap] wrappers, and dependency_provider — and how it supplies secrets and keys through keyring files and --keyring flags, exported as PEKIT_KEYRING_* variables.