Skip to main content

DSL Reference Table

This page is factual reference only: types, defaults, and constraints.

Global keys

KeyTypeDefaultConstraints
versionstringnoneRequired. Use "0.5" for current DSL.
alias <name> = <target>declarationnoneTarget must exist. Cycles are invalid.
@load <path>directivenonePath is workspace-relative. File must exist.
@import <path>directivenonePath is workspace-relative. Circular imports are rejected.

Task header

FormTypeDefaultConstraints
task_name:declarationnoneUnique task name.
task_name: dep_a dep_bdeclarationnoneDependencies must exist.
[param]parameterrequiredValue must be provided at runtime.
[param="value"]parameter"value"Default used when no runtime arg provided.

Task annotations

AnnotationTypeDefaultConstraints
@in <patterns...>list of stringsemptyGlob patterns. Drives graph fingerprinting.
@out <paths...>list of stringsemptyDeclares graph outputs. Enables graph mode by default.
@env KEY=valuekey-valuenoneInjects explicit env value.
@env KEYkeyinheritReads value from runtime env.
@secret_env KEYkeynoneValue redacted in explain/log output.
@dir <path>stringworkspace rootWorkspace-relative.
@mode graph|interactiveenuminferred@out implies graph when mode omitted.
@isolation off|best_effort|strictenumrunner defaultStrict support depends on host capabilities.
@requires <tools...>list of stringsemptyTools must be resolvable in PATH.
@privateflagfalseHidden from default task listing.
@confirm "message"stringnoneRequires user confirmation before execution.

Built-in interpolation

ExpressionTypeDefaultNotes
{{ os() }}stringnoneHost OS identifier.
{{ arch() }}stringnoneHost architecture identifier.
{{ env("KEY", "fallback") }}stringfallback if missingReads runtime env with fallback.
{{ PARAM }}stringnoneResolves task parameter or variable.

Mode behavior summary

ModeCachingStagingTTYTypical usage
graphenabledyesbuffered/reportingbuild, test, package
interactivebypassednoinheriteddev server, watch, REPL

CLI examples for parameter binding

broski build api debug
broski run build --explain