catalog

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package catalog loads the embedded catalog.yaml that declares the standard's skills, agents, and docs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Catalog

type Catalog struct {
	Skills      map[string]SkillSpec  `yaml:"skills"`
	Agents      map[string]TargetSpec `yaml:"agents"`
	AgentsDoc   TargetSpec            `yaml:"agentsDoc"`
	DomainDoc   TargetSpec            `yaml:"domainDoc"`
	AdrReadme   TargetSpec            `yaml:"adrReadme"`
	AdrTemplate TargetSpec            `yaml:"adrTemplate"`
	PlansReadme TargetSpec            `yaml:"plansReadme"`
	Docs        map[string]DocSpec    `yaml:"docs"`
	Vars        []VarDescriptor       `yaml:"vars"`
}

func Load

func Load(fsys fs.FS) (*Catalog, error)

type DocSpec

type DocSpec struct {
	Title    string   `yaml:"title"`
	Desc     string   `yaml:"desc"`
	Sections []string `yaml:"sections"`
	Core     bool     `yaml:"core"`
}

DocSpec declares a doc's catalog metadata. Core marks a doc as part of the workflow-core set awf init scaffolds by default (ADR-0022).

type SkillSpec

type SkillSpec struct {
	Sections    []string `yaml:"sections"`
	RequiresDoc string   `yaml:"requiresDoc"`
	Core        bool     `yaml:"core"`
}

SkillSpec declares a skill's render sections plus its optional doc dependency: a non-empty RequiresDoc gates the skill on that doc being enabled. Core marks a skill as part of the workflow-core set awf init scaffolds by default (ADR-0022).

type TargetSpec

type TargetSpec struct {
	Sections []string `yaml:"sections"`
}

TargetSpec declares the render sections of a target that has no further per-target configuration (agents and the always-on singletons).

type VarDescriptor

type VarDescriptor struct {
	Key         string   `yaml:"key" json:"key"`
	Kind        string   `yaml:"kind" json:"kind"`
	Description string   `yaml:"description" json:"description"`
	Default     string   `yaml:"default" json:"default"`
	Options     []string `yaml:"options" json:"options"`
	Target      string   `yaml:"target" json:"target"`
}

VarDescriptor describes one fillable init value: a config var, or (via Target) the invariants backing config. Kind ∈ {string, enum, multiselect}; multiselect is reserved for the deferred catalog-trim work (ADR-0029). Target ∈ {"" or "var", "invariants-marker", "invariants-globs"}; "" means a plain config var. Default pre-fills interactive prompts and appears in `awf init --describe`; it is never applied on the silent non-interactive path (ADR-0029).

Jump to

Keyboard shortcuts

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