Skip to main content

Crate gruel_manifest

Crate gruel_manifest 

Source
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.
TargetSpec
Per-target configuration. Currently just root — additive future fields land here.

Enums§

ManifestError
Anything that can go wrong loading a manifest.
PackageTarget
The package’s target kind. Exactly one of bin or lib is allowed per manifest (Phase 1 of ADR-0092).

Functions§

discover_at_root
Look for gruel.json at exactly root (no upward walk, no subdirectory scan). Used by the LSP.
discover_upward
Walk up from start (inclusive) looking for a gruel.json file. Used by the CLI; npm-style “first hit wins” semantics.
load_at
Load and validate a manifest at the given path.