Skip to content

goose-subrecipe-references

Literal local Goose subrecipe paths should exist inside the lint root

Severity warning (disabled)
Autofix -
Since v0.21.1
Repo Types goose
Category Goose

Checks literal local sub_recipes[].path references in Goose recipes. This rule is opt-in and reports warnings by default. Enable it with --rule goose-subrecipe-references or:

rules:
  goose-subrecipe-references:
    enabled: true

Path resolution

Goose v1.52.0 resolves a literal .yaml or .json file path from the working directory. Skillsaw uses the workspace owning .goose/recipes/, or the lint directory for --type goose. A leading {{ recipe_dir }}/ (also accepted without spaces) resolves from the recipe's own directory.

Only targets contained in the lint root are checked or read. References to personal or absolute paths, remote sources, library names without extensions, and other templates are skipped because they require runtime configuration. Existing contained subrecipes are linted even when this reference rule is off.

How to fix

Correct missing file paths or commit the referenced recipe. If another build step creates the files, use per-rule exclusions or disable the rule. Multiple missing paths produce one finding per recipe. The diagnostic names the affected fields without echoing potentially sensitive path values.

Configuration

rules:
  goose-subrecipe-references:
    enabled: false  # true | false | auto
    severity: warning

Run skillsaw explain goose-subrecipe-references to see this documentation and the rule's effective configuration in your terminal.