initspec

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 29, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package initspec resolves awf init answers against the catalog's value descriptors and emits the descriptor schema (ADR-0029). It bridges the catalog's VarDescriptor set to a resolved (vars, invariants-config, catalog-trim) triple via explicit answers, an optional line-based prompter, or the silent default.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CatalogVars

func CatalogVars(cat *catalog.Catalog) []catalog.VarDescriptor

CatalogVars returns the catalog's value descriptors with the catalog-trim multiselect descriptors' Options and Default computed from the catalog itself: Options lists every skill (or doc) name sorted, and Default comma-joins the curated-core names (the pre-selected set). Other descriptors pass through unchanged. Describe and Resolve operate on the returned slice so the trim option list stays derived from the catalog (ADR-0029).

func Describe

func Describe(descs []catalog.VarDescriptor) ([]byte, error)

Describe marshals the descriptor set as JSON ({"descriptors": [...]}) for `awf init --describe`. An empty Target is normalized to "var".

func MergeSetFlags

func MergeSetFlags(base map[string]string, sets []string) error

MergeSetFlags overlays "key=value" strings onto base (later wins).

func ParseAnswersFile

func ParseAnswersFile(b []byte) (map[string]string, error)

ParseAnswersFile parses a flat key→value answer map from JSON or YAML bytes.

func Resolve

func Resolve(descs []catalog.VarDescriptor, answers map[string]string, in io.Reader, out io.Writer, interactive bool) (map[string]string, *config.InvariantConfig, *config.CatalogTrim, error)

Resolve maps descriptors + answers to a vars map, an optional invariants config, and an optional catalog trim. For a string/enum descriptor the value is: the explicit answer if present; otherwise an interactive prompt (when interactive); otherwise empty. A multiselect descriptor resolves to a verbatim selection (see resolveMultiselect) routed to the catalog-skills/catalog-docs trim dimension. The invariants-marker/globs targets are collected into a *config.InvariantConfig: both non-empty → enabled config; exactly one → error; neither → nil.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL