Skip to content

feat: param description#30

Open
rickliujh wants to merge 5 commits into
mainfrom
feat/param-description
Open

feat: param description#30
rickliujh wants to merge 5 commits into
mainfrom
feat/param-description

Conversation

@rickliujh

Copy link
Copy Markdown
Owner

No description provided.

rickliujh and others added 3 commits July 22, 2026 23:17
Add a documentary `description` field to both static and dynamic param
definitions. When a required static param is missing, its description is
appended to the error so the failure is self-explanatory. The field is
documentary only and never rendered, so it is exempt from T4.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add an optional Prompter to module.Load via a functional option. When the
root module is run with --interactive/-i, each required static param that is
neither provided nor defaulted is prompted for on stdin using its name and
description, then used as if supplied via --param.

Prompting is root-only (child modules never receive a prompter) and static-
only (dynamic params derive from commands). Default behavior is unchanged:
without --interactive, missing required params fail fast. On EOF with no
value the run fails rather than blocking, so --interactive in a non-TTY
context does not hang.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Cover the optional param `description` field and the `run --interactive`
flag across the README, the loom.yaml schema reference, the run CLI
reference, and the getting-started guide.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rickliujh

Copy link
Copy Markdown
Owner Author
  • module should also have description
  • new description field should subject the templating spec rules

rickliujh and others added 2 commits July 23, 2026 20:33
Add an optional description to metadata (the module itself) and to
spec.modules[] (child references), alongside the existing param
descriptions. Both new fields are documentary but templatable, rendered
in place with resolved params: metadata.description with the module's own
params during Load, modules[].description with the parent's params in the
executor.

Per the T4 rule (every string field except spec.params is templatable),
this also corrects dynamicParams[].description to be templatable — it was
wrongly exempted when first added. params[].description stays documentary
and non-templated, since it is surfaced before params resolve (P7). Both
new fields are validated for undeclared param refs like other templatable
fields.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* origin/main:
  feat: diff module breadcrumb (#32)
  fix(diff): report the error before the diff on a failed run (#31)
  fix(diff): head each deferred diff with its module and target (#29)
  feat: loom diff command (#28)

# Conflicts:
#	pkg/module/executor.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant