Expand description
Package manifest loader for Gruel (gruel.json).
See ADR-0092. The manifest
is deliberately tiny: a name, a version, and exactly one of bin or lib
whose root points at the entry .gruel file. No dependencies, no
lockfile, no registry — this ADR establishes the schema and discovery
plumbing; future ADRs layer everything else on top.
{
"name": "hello",
"version": "0.1.0",
"bin": { "root": "src/main.gruel" }
}Structs§
- Manifest
- A successfully loaded and validated manifest.
- Target
Spec - Per-target configuration. Currently just
root— additive future fields land here.
Enums§
- Manifest
Error - Anything that can go wrong loading a manifest.
- Package
Target - The package’s target kind. Exactly one of
binorlibis allowed per manifest (Phase 1 of ADR-0092).
Functions§
- discover_
at_ root - Look for
gruel.jsonat exactlyroot(no upward walk, no subdirectory scan). Used by the LSP. - discover_
upward - Walk up from
start(inclusive) looking for agruel.jsonfile. Used by the CLI; npm-style “first hit wins” semantics. - load_at
- Load and validate a manifest at the given path.