Skip to main content

Imports and Decorators

Imports​

@import backend/broskifile
@import frontend/broskifile

Guardrails:

  • circular imports are rejected with a readable chain
  • collisions across task/alias/variable names fail hard across the merged document
  • depth limit prevents runaway recursion (max depth: 10)
  • an imported file's own version = "..." line is stripped during expansion — only the root broskifile's version line matters, so imported files don't need to (and shouldn't) redeclare it
  • @import must appear at the top level, outside any indented task body
  • imports are resolved relative to the workspace root, not the importing file's directory; @import fails outside a workspace context

Decorators​

@private
@confirm "Ship release artifacts? [y/N]"
  • @private hides tasks from standard listings
  • @confirm protects sensitive workflows