class

Fluxion::Registry::Manifest

Inherits Reference < Object

What a registry repository publishes.

The structure is deliberately strict: one manifest at a known path, one dedicated folder for the profiles it names. A registry whose layout is discovered rather than declared cannot be checked, and this is a file that tells a machine what to install.

Constants

FILE_NAME = "fluxion-registry.yaml"

The manifest's filename at the repository root.

PROFILE_DIRECTORY = "profiles"

The folder entries must live under. Confining them means a manifest cannot name a path elsewhere in the repository — or outside it.

SUPPORTED_API_VERSION = "fluxion.dev/registry/v1"
SUPPORTED_KIND = "Registry"

Constructors

new(name : String, entries : Array(Entry), description : String | Nil = nil, maintainer : String | Nil = nil)
Source

Class methods

parse(body : String, source : String = Manifest::FILE_NAME) : Tuple(Manifest | Nil, Array(Diagnostic))

Parses a manifest, collecting every problem rather than stopping at the first — the same contract as profile parsing, and for the same reason.

Source
template(name : String) : String

A starter manifest, for registry init.

Source

Instance methods

description
Source
entries
Source
entry?(id : String) : Entry | Nil
Source
maintainer
Source
name
Source
search(query : String) : Array(Entry)

Entries matching a free-text query across id, name, description, and tags.

Source