Documentation
¶
Overview ¶
Package scaffold distributes typed plugin scaffold renderers. Renderers use ordinary Go functions and produce files through the same ownership/protection rules as plugin assets. They never execute automatically during boot.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Declarations ¶
func Declarations(resolver foundation.Resolver) ([]manifest.Distribution, error)
Declarations lists scaffold metadata without invoking renderers or boot hooks.
Types ¶
type Scaffold ¶
type Scaffold[T any] struct { // contains filtered or unexported fields }
Scaffold preserves concrete input T. The synchronous renderer must cooperate with context and finish before returning; panic and Goexit become errors. Foundry never abandons a running callback or writes a partial rendered set.
func New ¶
func New[T any](declaration manifest.Manifest, id ID, render func(context.Context, T) ([]assets.File, error)) (*Scaffold[T], error)
New validates the distribution identity and creates a typed scaffold with a nonnil renderer.
func (*Scaffold[T]) Info ¶
func (s *Scaffold[T]) Info() manifest.Distribution
Info returns distribution metadata, or zero metadata for a nil scaffold.