bpm template

Render, run, and publish templates from the active BRS.

render

bpm template render <id> [--alias <name>] [--dir <project_dir>] [--dry] [--param KEY=VALUE ...] [--adhoc] [--out <adhoc_dir>]
  • Project mode: renders into ${ctx.project.name}/${ctx.template.id}/ under --dir (default .), updates project.yaml.
    • With --alias, the rendered folder and project entry use the alias as id, and record source_template=<id> so you can have multiple instances of the same template in one project.
  • Ad‑hoc mode: with --out, renders into that directory (treats render.into as .) and writes bpm.meta.yaml; skips hooks and project updates. With --adhoc (no --out), BPM expects the template to provide render.adhoc_out_resolver to compute the output path; otherwise it errors.
  • --dry prints the plan only; no file changes.
  • Tip: discover template parameters with bpm template info <id>.
  • If the template declares tools: in its descriptor, render prints a non-fatal warning for tools not found on PATH so you can activate the right environment before run.
  • Template authors can define a resolver for ad‑hoc output defaults:
    render:
      adhoc_out_resolver: resolvers.out_from_bcl  # returns a path/string
    

run

bpm template run <id> [--dir <project_dir>]
  • Runs the run.entry (default run.sh) in the rendered folder. Executes hooks if configured.

publish

bpm template publish <id> [--dir <project_dir>]
  • Executes all resolvers in publish: and persists results to project.yaml under this template’s published map.

list

bpm template list [--format table|plain|json]
  • Shows available templates in the active BRS with their descriptions.

info

bpm template info <id> [--format table|plain|json]
  • Shows detailed info for a template: params (type/required/default/cli), render target and files, hooks, dependencies, tools, and publish resolvers.

readme

bpm template readme <id>
  • Prints the template README.md from the active BRS (if present).

Tips

  • Use --param to override descriptor defaults; types are coerced (int, float, bool, str).
  • Missing required params cause render to fail early with a clear error.
  • Default output format is table (use --format plain|json to override).

This site uses Just the Docs, a documentation theme for Jekyll.