Documentation
¶
Index ¶
- Constants
- Variables
- func BoolPtr(b bool) *bool
- func Count() int
- func CountStages(workflow *schema.WorkflowDefinition) int
- func FormatStepLabel(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition, ...) string
- func GetShowConfig(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition) *schema.ShowConfig
- func GetViewportConfig(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition) *schema.ViewportConfig
- func IsExtendedStepType(stepType string) bool
- func List() map[string]StepHandler
- func ListByCategory() map[StepCategory][]StepHandler
- func ListTypes() map[StepCategory][]string
- func Register(handler StepHandler)
- func RegisterEmulatorRunner(r EmulatorRunner)
- func RenderCommand(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition, command string)
- func RunGrouped(atmosConfig *schema.AtmosConfiguration, name, command string, fn func() error) error
- func RunGroupedForType(atmosConfig *schema.AtmosConfiguration, name, command, stepType string, ...) error
- func ShowCommand(cfg *schema.ShowConfig) bool
- func ShowCount(cfg *schema.ShowConfig) bool
- func ShowFlags(cfg *schema.ShowConfig) bool
- func ShowHeader(cfg *schema.ShowConfig) bool
- func ShowLabels(cfg *schema.ShowConfig) bool
- func ShowProgress(cfg *schema.ShowConfig) bool
- func ValidateStep(step *schema.WorkflowStep) error
- func ValidateWorkflow(workflow *schema.WorkflowDefinition) []error
- type AlertHandler
- type AtmosHandler
- func (h *AtmosHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
- func (h *AtmosHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, ...) (*StepResult, error)
- func (h *AtmosHandler) Validate(step *schema.WorkflowStep) error
- type BaseHandler
- func (h BaseHandler) CheckTTY(step *schema.WorkflowStep) error
- func (h BaseHandler) GetAliases() []string
- func (h BaseHandler) GetCategory() StepCategory
- func (h BaseHandler) GetName() string
- func (h BaseHandler) RequiresTTY() bool
- func (h BaseHandler) ResolveCommand(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (string, error)
- func (h BaseHandler) ResolveContent(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (string, error)
- func (h BaseHandler) ResolvePrompt(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (string, error)
- func (h BaseHandler) ValidateRequired(step *schema.WorkflowStep, field, value string) error
- type CancelHandler
- type CastHandler
- func (h *CastHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
- func (h *CastHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, ...) (*StepResult, error)
- func (h *CastHandler) Validate(step *schema.WorkflowStep) error
- type ChooseHandler
- type ClearHandler
- type ConfirmHandler
- type ContainerHandler
- func (h *ContainerHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
- func (h *ContainerHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, ...) (*StepResult, error)
- func (h *ContainerHandler) Validate(step *schema.WorkflowStep) error
- type EmulatorHandler
- type EmulatorRunner
- type EnvHandler
- type ExitHandler
- type FileHandler
- type FilterHandler
- type FormatHandler
- type HTTPHandler
- type HintHandler
- type InputHandler
- type JUnitHandler
- type JoinHandler
- type LinebreakHandler
- type LogHandler
- type MarkdownHandler
- type MatrixHandler
- type OutputMode
- type OutputModeWriter
- type PagerHandler
- type ParallelHandler
- type Registry
- type RequireHandler
- type SayHandler
- type ScriptHandler
- func (h *ScriptHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
- func (h *ScriptHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, ...) (*StepResult, error)
- func (h *ScriptHandler) Validate(step *schema.WorkflowStep) error
- type ShellHandler
- func (h *ShellHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
- func (h *ShellHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, ...) (*StepResult, error)
- func (h *ShellHandler) Validate(step *schema.WorkflowStep) error
- type SleepHandler
- type Spacing
- type SpinHandler
- type StageHandler
- type StepCategory
- type StepExecutor
- func (e *StepExecutor) Execute(ctx context.Context, step *schema.WorkflowStep) (*StepResult, error)
- func (e *StepExecutor) GetResult(name string) (*StepResult, bool)
- func (e *StepExecutor) RunAll(ctx context.Context, workflow *schema.WorkflowDefinition) error
- func (e *StepExecutor) SetAtmosConfig(config *schema.AtmosConfiguration)
- func (e *StepExecutor) SetEnv(key, value string)
- func (e *StepExecutor) SetFlag(key, value string)
- func (e *StepExecutor) SetWorkflow(workflow *schema.WorkflowDefinition)
- func (e *StepExecutor) Variables() *Variables
- type StepHandler
- type StepResult
- type StreamingOutputWriter
- type StyleHandler
- type TableHandler
- type TemplateRenderer
- type TitleHandler
- type ToastHandler
- type Variables
- func (v *Variables) EnsureBinaryInPath(binaryPath string)
- func (v *Variables) EnvSlice() []string
- func (v *Variables) GetStageIndex() int
- func (v *Variables) GetTotalStages() int
- func (v *Variables) GetValue(stepName string) (string, bool)
- func (v *Variables) GetValues(stepName string) ([]string, bool)
- func (v *Variables) IncrementStageIndex() int
- func (v *Variables) LoadOSEnv()
- func (v *Variables) ProtectTemplateRoots(roots ...string)
- func (v *Variables) Resolve(input string) (string, error)
- func (v *Variables) ResolveEnvMap(envMap map[string]string) (map[string]string, error)
- func (v *Variables) ResolveOutputs(outputs map[string]string, result *StepResult) (map[string]string, error)
- func (v *Variables) ResolveWith(input string, envOverlay map[string]string) (string, error)
- func (v *Variables) Set(name string, result *StepResult)
- func (v *Variables) SetAtmosConfig(config *schema.AtmosConfiguration)
- func (v *Variables) SetEnv(key, value string)
- func (v *Variables) SetFlag(key, value string)
- func (v *Variables) SetTemplateData(data map[string]any)
- func (v *Variables) SetTemplatePasses(passes int)
- func (v *Variables) SetTemplateRenderer(renderer TemplateRenderer)
- func (v *Variables) SetTotalStages(total int)
- func (v *Variables) SetWithOutputs(name string, result *StepResult, outputs map[string]string) error
- func (v *Variables) TemplateData() map[string]any
- type WaitAllHandler
- type WaitHandler
- type WorkdirHandler
- type WriteHandler
Constants ¶
const ( MetaStageIndex = "_stage_index" MetaTotalStages = "_total_stages" )
Stage tracking metadata keys.
Variables ¶
var ( ErrCastStepRequiresSteps = errUtils.ErrCastStepRequiresSteps ErrCastSessionRequiresActions = errUtils.ErrCastSessionRequiresActions ErrInvalidCastMode = errUtils.ErrInvalidCastMode ErrWriteActionRequiresText = errUtils.ErrWriteActionRequiresText ErrKeyActionRequiresKey = errUtils.ErrKeyActionRequiresKey ErrPauseActionRequiresDuration = errUtils.ErrPauseActionRequiresDuration ErrWaitActionRequiresTextOrRegex = errUtils.ErrWaitActionRequiresTextOrRegex ErrUnsupportedSessionAction = errUtils.ErrUnsupportedSessionAction ErrInvalidSimulateMode = errUtils.ErrInvalidSimulateMode ErrSimulateTypedRequiresText = errUtils.ErrSimulateTypedRequiresText ErrInvalidSimulateJitter = errUtils.ErrInvalidSimulateJitter ErrUnsupportedPromptStyle = errUtils.ErrUnsupportedPromptStyle )
var ( ErrWorkdirPathRequired = errUtils.ErrWorkdirPathRequired ErrWorkdirSourceRequired = errUtils.ErrWorkdirSourceRequired ErrWorkdirSourceKeyInvalid = errUtils.ErrWorkdirSourceKeyInvalid )
Functions ¶
func BoolPtr ¶
BoolPtr is a helper to create a pointer to a bool value. Useful for setting ShowConfig fields in tests and configuration.
func CountStages ¶
func CountStages(workflow *schema.WorkflowDefinition) int
CountStages counts the number of stage steps in a workflow.
func FormatStepLabel ¶
func FormatStepLabel(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition, stepIndex, totalSteps int) string
FormatStepLabel formats the step label with optional count prefix. If show.count is enabled, returns "1/3 stepname" with stepname in muted style. Otherwise returns just "stepname" in muted style.
func GetShowConfig ¶
func GetShowConfig(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition) *schema.ShowConfig
GetShowConfig returns the effective show config for a step. Performs deep merge: step-level values override workflow-level values. Unset values (nil) default to false.
func GetViewportConfig ¶
func GetViewportConfig(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition) *schema.ViewportConfig
GetViewportConfig returns the effective viewport config for a step.
func IsExtendedStepType ¶
IsExtendedStepType checks if a step type is an extended type (not atmos or shell).
func ListByCategory ¶
func ListByCategory() map[StepCategory][]StepHandler
ListByCategory returns handlers grouped by category.
func ListTypes ¶
func ListTypes() map[StepCategory][]string
ListTypes returns all available step type names grouped by category.
func Register ¶
func Register(handler StepHandler)
Register adds a step handler to the registry. Called from init() in each handler file. If a handler with the same name already exists, it is replaced.
func RegisterEmulatorRunner ¶ added in v1.222.0
func RegisterEmulatorRunner(r EmulatorRunner)
RegisterEmulatorRunner wires the emulator lifecycle implementation. It is called from pkg/component/emulator's init so the `emulator` step works whenever that package is linked into the binary (always, via cmd/emulator).
func RenderCommand ¶
func RenderCommand(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition, command string)
RenderCommand renders the command before execution if show.command is enabled. Displays the command with a $ prefix for shell-like appearance.
func RunGrouped ¶ added in v1.223.0
func RunGrouped(atmosConfig *schema.AtmosConfiguration, name, command string, fn func() error) error
RunGrouped runs a single step's execution (fn) wrapped in a collapsible CI log group when grouping is active for the current run (see ci.Group). The group label is the step `name` when set, falling back to the resolved `command`. Outside CI — or when grouping is disabled — fn runs unchanged.
This is the one place the step abstraction owns per-step CI log grouping, so both the workflow executor and the custom-command runner get identical behavior across every step type by routing their per-step dispatch through it.
func RunGroupedForType ¶ added in v1.223.0
func RunGroupedForType(atmosConfig *schema.AtmosConfiguration, name, command, stepType string, fn func() error) error
RunGroupedForType is RunGrouped for ordinary step types, but deliberately skips grouping for exec steps. Exec steps may replace the Atmos process on Unix, so a deferred group close would never run after a successful handoff.
func ShowCommand ¶
func ShowCommand(cfg *schema.ShowConfig) bool
ShowCommand returns true if the command feature is enabled.
func ShowCount ¶
func ShowCount(cfg *schema.ShowConfig) bool
ShowCount returns true if the count feature is enabled.
func ShowFlags ¶
func ShowFlags(cfg *schema.ShowConfig) bool
ShowFlags returns true if the flags feature is enabled.
func ShowHeader ¶
func ShowHeader(cfg *schema.ShowConfig) bool
ShowHeader returns true if the header feature is enabled.
func ShowLabels ¶ added in v1.223.0
func ShowLabels(cfg *schema.ShowConfig) bool
ShowLabels returns true unless labels are explicitly disabled.
func ShowProgress ¶
func ShowProgress(cfg *schema.ShowConfig) bool
ShowProgress returns true if the progress feature is enabled.
func ValidateStep ¶
func ValidateStep(step *schema.WorkflowStep) error
ValidateStep validates a step configuration.
func ValidateWorkflow ¶
func ValidateWorkflow(workflow *schema.WorkflowDefinition) []error
ValidateWorkflow validates all steps in a workflow definition.
Types ¶
type AlertHandler ¶
type AlertHandler struct {
BaseHandler
}
AlertHandler plays a terminal bell sound.
func (*AlertHandler) Execute ¶
func (h *AlertHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute plays the terminal bell and optionally displays a message.
func (*AlertHandler) Validate ¶
func (h *AlertHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type AtmosHandler ¶
type AtmosHandler struct {
BaseHandler
}
AtmosHandler executes atmos commands.
func (*AtmosHandler) Execute ¶
func (h *AtmosHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute runs the atmos command.
func (*AtmosHandler) ExecuteWithWorkflow ¶
func (h *AtmosHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, workflow *schema.WorkflowDefinition) (*StepResult, error)
ExecuteWithWorkflow runs the atmos command with workflow context for output mode.
func (*AtmosHandler) Validate ¶
func (h *AtmosHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type BaseHandler ¶
type BaseHandler struct {
// contains filtered or unexported fields
}
BaseHandler provides common functionality for step handlers.
func NewBaseHandler ¶
func NewBaseHandler(name string, category StepCategory, requiresTTY bool, aliases ...string) BaseHandler
NewBaseHandler creates a new BaseHandler. Optional aliases are alternate type names that resolve to the same handler (e.g. "webhook" as an alias for "http").
func (BaseHandler) CheckTTY ¶
func (h BaseHandler) CheckTTY(step *schema.WorkflowStep) error
CheckTTY verifies TTY availability for interactive steps. Returns an error if TTY is required but not available.
func (BaseHandler) GetAliases ¶ added in v1.222.0
func (h BaseHandler) GetAliases() []string
GetAliases returns the alternate type names that resolve to this handler.
func (BaseHandler) GetCategory ¶
func (h BaseHandler) GetCategory() StepCategory
GetCategory returns the step category.
func (BaseHandler) GetName ¶
func (h BaseHandler) GetName() string
GetName returns the step type name.
func (BaseHandler) RequiresTTY ¶
func (h BaseHandler) RequiresTTY() bool
RequiresTTY returns whether this handler requires an interactive terminal.
func (BaseHandler) ResolveCommand ¶
func (h BaseHandler) ResolveCommand(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (string, error)
ResolveCommand resolves Go templates in the command field.
func (BaseHandler) ResolveContent ¶
func (h BaseHandler) ResolveContent(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (string, error)
ResolveContent resolves Go templates in the content field.
func (BaseHandler) ResolvePrompt ¶
func (h BaseHandler) ResolvePrompt(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (string, error)
ResolvePrompt resolves Go templates in the prompt field.
func (BaseHandler) ValidateRequired ¶
func (h BaseHandler) ValidateRequired(step *schema.WorkflowStep, field, value string) error
ValidateRequired checks that a required field is not empty.
type CancelHandler ¶ added in v1.222.0
type CancelHandler struct{ BaseHandler }
CancelHandler registers the `cancel` action step (tear down named background steps).
func (*CancelHandler) Execute ¶ added in v1.222.0
func (h *CancelHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
func (*CancelHandler) Validate ¶ added in v1.222.0
func (h *CancelHandler) Validate(step *schema.WorkflowStep) error
Validate requires `for:` to name at least one target.
type CastHandler ¶ added in v1.223.0
type CastHandler struct {
BaseHandler
}
func (*CastHandler) Execute ¶ added in v1.223.0
func (h *CastHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
func (*CastHandler) ExecuteWithWorkflow ¶ added in v1.223.0
func (h *CastHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, workflow *schema.WorkflowDefinition) (*StepResult, error)
func (*CastHandler) Validate ¶ added in v1.223.0
func (h *CastHandler) Validate(step *schema.WorkflowStep) error
type ChooseHandler ¶
type ChooseHandler struct {
BaseHandler
}
ChooseHandler prompts for single selection from a list.
func (*ChooseHandler) Execute ¶
func (h *ChooseHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute prompts for selection and returns the chosen value.
func (*ChooseHandler) Validate ¶
func (h *ChooseHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type ClearHandler ¶
type ClearHandler struct {
BaseHandler
}
ClearHandler clears the current terminal line.
func (*ClearHandler) Execute ¶
func (h *ClearHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute clears the current terminal line.
func (*ClearHandler) Validate ¶
func (h *ClearHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type ConfirmHandler ¶
type ConfirmHandler struct {
BaseHandler
}
ConfirmHandler prompts for yes/no confirmation.
func (*ConfirmHandler) Execute ¶
func (h *ConfirmHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute prompts for confirmation and returns "true" or "false".
func (*ConfirmHandler) Validate ¶
func (h *ConfirmHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type ContainerHandler ¶ added in v1.222.0
type ContainerHandler struct {
BaseHandler
}
ContainerHandler executes one-shot container steps.
func (*ContainerHandler) Execute ¶ added in v1.222.0
func (h *ContainerHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute runs the container step.
func (*ContainerHandler) ExecuteWithWorkflow ¶ added in v1.222.0
func (h *ContainerHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, workflow *schema.WorkflowDefinition) (*StepResult, error)
ExecuteWithWorkflow runs the container step with workflow output inheritance.
func (*ContainerHandler) Validate ¶ added in v1.222.0
func (h *ContainerHandler) Validate(step *schema.WorkflowStep) error
Validate checks container step configuration.
type EmulatorHandler ¶ added in v1.222.0
type EmulatorHandler struct {
BaseHandler
}
EmulatorHandler manages an emulator component's lifecycle as a step, so component lifecycle hooks (`kind: step`, `type: emulator`) can bring a local cloud sandbox up before a terraform operation and tear it down after.
func (*EmulatorHandler) Execute ¶ added in v1.222.0
func (h *EmulatorHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute runs the emulator lifecycle action.
func (*EmulatorHandler) Validate ¶ added in v1.222.0
func (h *EmulatorHandler) Validate(step *schema.WorkflowStep) error
Validate checks emulator step configuration.
type EmulatorRunner ¶ added in v1.222.0
type EmulatorRunner interface {
// Up starts (or reuses) the emulator component's container in the stack.
// When ephemeral is true the instance runs without persistence.
Up(ctx context.Context, component, stack string, ephemeral bool) error
// Down stops and removes the emulator component's container.
Down(ctx context.Context, component, stack string) error
// Reset stops the container and wipes its persisted state.
Reset(ctx context.Context, component, stack string) error
}
EmulatorRunner drives the lifecycle of an emulator component. It is the seam that lets the emulator step start/stop a sandbox without pkg/runner/step importing pkg/component/emulator directly (which would create an import cycle through internal/exec). The implementation is registered at startup via RegisterEmulatorRunner by pkg/component/emulator.
type EnvHandler ¶
type EnvHandler struct {
BaseHandler
}
EnvHandler sets environment variables for subsequent steps.
func (*EnvHandler) Execute ¶
func (h *EnvHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute sets environment variables in the workflow context.
func (*EnvHandler) Validate ¶
func (h *EnvHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type ExitHandler ¶
type ExitHandler struct {
BaseHandler
}
ExitHandler exits the workflow with a specific exit code.
func (*ExitHandler) Execute ¶
func (h *ExitHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute exits the workflow with the specified exit code. It returns an error with the exit code attached that the workflow executor should handle to exit the program.
func (*ExitHandler) Validate ¶
func (h *ExitHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type FileHandler ¶
type FileHandler struct {
BaseHandler
}
FileHandler prompts for file selection.
func (*FileHandler) Execute ¶
func (h *FileHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute prompts for file selection and returns the chosen path.
func (*FileHandler) Validate ¶
func (h *FileHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type FilterHandler ¶
type FilterHandler struct {
BaseHandler
}
FilterHandler prompts for fuzzy filter selection.
func (*FilterHandler) Execute ¶
func (h *FilterHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute prompts for filtered selection and returns the chosen value(s).
func (*FilterHandler) Validate ¶
func (h *FilterHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type FormatHandler ¶
type FormatHandler struct {
BaseHandler
}
FormatHandler formats and displays text using Go templates.
func (*FormatHandler) Execute ¶
func (h *FormatHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute formats and displays the content.
func (*FormatHandler) Validate ¶
func (h *FormatHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type HTTPHandler ¶ added in v1.222.0
type HTTPHandler struct {
BaseHandler
}
HTTPHandler executes an HTTP request (GET, POST, and other verbs) with query, body, headers, timeouts, and retries. It composes with the step's `retry:` configuration.
func (*HTTPHandler) Execute ¶ added in v1.222.0
func (h *HTTPHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute performs the HTTP request, applying per-attempt timeouts and retry.
func (*HTTPHandler) Validate ¶ added in v1.222.0
func (h *HTTPHandler) Validate(step *schema.WorkflowStep) error
Validate checks the http step configuration before execution.
type HintHandler ¶ added in v1.223.0
type HintHandler struct {
BaseHandler
}
HintHandler displays a muted hint message with the Atmos hint UI style.
func (*HintHandler) Execute ¶ added in v1.223.0
func (h *HintHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute displays the hint message.
func (*HintHandler) Validate ¶ added in v1.223.0
func (h *HintHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type InputHandler ¶
type InputHandler struct {
BaseHandler
}
InputHandler prompts for single-line text input.
func (*InputHandler) Execute ¶
func (h *InputHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute prompts for user input and returns the result.
func (*InputHandler) Validate ¶
func (h *InputHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type JUnitHandler ¶ added in v1.222.0
type JUnitHandler struct {
BaseHandler
}
JUnitHandler ingests JUnit XML files and surfaces them in CI: it renders a markdown step summary and emits inline annotations for failing/errored tests. It works with any test runner that produces JUnit (terraform/opentofu test, pytest, go-test→junit, …), usable from a workflow, custom command, or `kind: step` lifecycle hook.
func (*JUnitHandler) Execute ¶ added in v1.222.0
func (h *JUnitHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute parses the JUnit files, writes a CI step summary, and emits annotations for failures.
func (*JUnitHandler) Validate ¶ added in v1.222.0
func (h *JUnitHandler) Validate(step *schema.WorkflowStep) error
Validate checks junit step configuration.
type JoinHandler ¶
type JoinHandler struct {
BaseHandler
}
JoinHandler joins multiple strings together.
func (*JoinHandler) Execute ¶
func (h *JoinHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute joins strings and returns the result.
func (*JoinHandler) Validate ¶
func (h *JoinHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type LinebreakHandler ¶
type LinebreakHandler struct {
BaseHandler
}
LinebreakHandler outputs one or more blank lines.
func (*LinebreakHandler) Execute ¶
func (h *LinebreakHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute outputs the specified number of blank lines.
func (*LinebreakHandler) Validate ¶
func (h *LinebreakHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type LogHandler ¶
type LogHandler struct {
BaseHandler
}
LogHandler logs a message using the atmos logger.
func (*LogHandler) Execute ¶
func (h *LogHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute logs the message at the specified level.
func (*LogHandler) Validate ¶
func (h *LogHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type MarkdownHandler ¶
type MarkdownHandler struct {
BaseHandler
}
MarkdownHandler renders and displays markdown content.
func (*MarkdownHandler) Execute ¶
func (h *MarkdownHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute renders and displays the markdown content.
func (*MarkdownHandler) Validate ¶
func (h *MarkdownHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type MatrixHandler ¶ added in v1.222.0
type MatrixHandler struct {
BaseHandler
}
MatrixHandler registers the matrix workflow control step type.
func (*MatrixHandler) Execute ¶ added in v1.222.0
func (h *MatrixHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute is intentionally not implemented here. The workflow executor handles matrix control steps because it owns command execution, auth, retry, and output.
func (*MatrixHandler) Validate ¶ added in v1.222.0
func (h *MatrixHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the matrix control step is structurally valid.
type OutputMode ¶
type OutputMode string
OutputMode controls how command output is displayed.
const ( // OutputModeViewport displays output in an interactive TUI pager. OutputModeViewport OutputMode = "viewport" // OutputModeRaw passes output directly to stdout/stderr. OutputModeRaw OutputMode = "raw" // OutputModeLog groups output with step boundaries. OutputModeLog OutputMode = "log" // OutputModeNone suppresses all output. OutputModeNone OutputMode = "none" )
func GetOutputMode ¶
func GetOutputMode(step *schema.WorkflowStep, workflow *schema.WorkflowDefinition) OutputMode
GetOutputMode returns the effective output mode for a step. Checks step-level, workflow-level, and defaults.
type OutputModeWriter ¶
type OutputModeWriter struct {
// contains filtered or unexported fields
}
OutputModeWriter wraps command execution with the specified output mode.
func NewOutputModeWriter ¶
func NewOutputModeWriter(mode OutputMode, stepName string, viewport *schema.ViewportConfig, show ...*schema.ShowConfig) *OutputModeWriter
NewOutputModeWriter creates a new OutputModeWriter.
func (*OutputModeWriter) ExecuteWithIO ¶ added in v1.222.0
func (w *OutputModeWriter) ExecuteWithIO(runner func(stdout, stderr io.Writer) error) (string, string, error)
ExecuteWithIO runs a command-like operation with the configured output mode. The runner receives stdout and stderr writers to attach to the operation.
type PagerHandler ¶
type PagerHandler struct {
BaseHandler
}
PagerHandler displays content in a scrollable pager.
func (*PagerHandler) Execute ¶
func (h *PagerHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute displays content in a pager.
func (*PagerHandler) Validate ¶
func (h *PagerHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields. Either content or path must be provided.
type ParallelHandler ¶ added in v1.222.0
type ParallelHandler struct {
BaseHandler
}
ParallelHandler registers the parallel workflow control step type.
func (*ParallelHandler) Execute ¶ added in v1.222.0
func (h *ParallelHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute is intentionally not implemented here. The workflow executor handles parallel control steps because it owns command execution, auth, retry, and output.
func (*ParallelHandler) Validate ¶ added in v1.222.0
func (h *ParallelHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the parallel control step is structurally valid.
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry manages step type handlers.
type RequireHandler ¶ added in v1.222.0
type RequireHandler struct {
BaseHandler
// contains filtered or unexported fields
}
RequireHandler asserts that required CLI tools are on PATH and that required files and directories exist. It is a read-only preconditions gate: it never mutates PATH or the environment, which keeps it safe to run alongside other steps that may write to the shared step environment.
func (*RequireHandler) Execute ¶ added in v1.222.0
func (h *RequireHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute verifies every declared requirement and fails with an aggregated, hinted error listing everything that is missing.
func (*RequireHandler) Validate ¶ added in v1.222.0
func (h *RequireHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step declares at least one requirement.
type SayHandler ¶ added in v1.222.0
type SayHandler struct {
BaseHandler
}
SayHandler speaks the step content using text-to-speech, degrading to a formatted info message when audio is unavailable.
func (*SayHandler) Execute ¶ added in v1.222.0
func (h *SayHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute speaks the content. The `print` field selects how the message is shown when (or whether) it is also printed.
func (*SayHandler) Validate ¶ added in v1.222.0
func (h *SayHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type ScriptHandler ¶ added in v1.223.0
type ScriptHandler struct {
BaseHandler
}
ScriptHandler executes inline scripts with an explicit interpreter.
func (*ScriptHandler) Execute ¶ added in v1.223.0
func (h *ScriptHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute runs the script.
func (*ScriptHandler) ExecuteWithWorkflow ¶ added in v1.223.0
func (h *ScriptHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, workflow *schema.WorkflowDefinition) (*StepResult, error)
ExecuteWithWorkflow runs the script with workflow-level output defaults.
func (*ScriptHandler) Validate ¶ added in v1.223.0
func (h *ScriptHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the script step has required fields and does not use command.
type ShellHandler ¶
type ShellHandler struct {
BaseHandler
}
ShellHandler executes shell commands.
func (*ShellHandler) Execute ¶
func (h *ShellHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute runs the shell command.
func (*ShellHandler) ExecuteWithWorkflow ¶
func (h *ShellHandler) ExecuteWithWorkflow(ctx context.Context, step *schema.WorkflowStep, vars *Variables, workflow *schema.WorkflowDefinition) (*StepResult, error)
ExecuteWithWorkflow runs the shell command with workflow context for output mode.
func (*ShellHandler) Validate ¶
func (h *ShellHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type SleepHandler ¶
type SleepHandler struct {
BaseHandler
}
SleepHandler pauses execution for a specified duration.
func (*SleepHandler) Execute ¶
func (h *SleepHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute pauses execution for the specified duration.
func (*SleepHandler) Validate ¶
func (h *SleepHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type SpinHandler ¶
type SpinHandler struct {
BaseHandler
}
SpinHandler displays a spinner while executing a command.
func (*SpinHandler) Execute ¶
func (h *SpinHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute runs the command with a spinner.
func (*SpinHandler) Validate ¶
func (h *SpinHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type StageHandler ¶
type StageHandler struct {
BaseHandler
}
StageHandler displays workflow stage position among stage steps. Unlike the step count which shows position among all steps, stage shows position only among steps of type "stage".
func (*StageHandler) Execute ¶
func (h *StageHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute renders the stage indicator. Format: [Stage 1/3] Setup.
func (*StageHandler) Validate ¶
func (h *StageHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type StepCategory ¶
type StepCategory string
StepCategory groups step types for documentation and validation.
const ( // CategoryInteractive requires user input (TTY required). CategoryInteractive StepCategory = "interactive" // CategoryOutput displays formatted output. CategoryOutput StepCategory = "output" // CategoryUI displays status messages. CategoryUI StepCategory = "ui" // CategoryCommand executes commands. CategoryCommand StepCategory = "command" )
type StepExecutor ¶
type StepExecutor struct {
// contains filtered or unexported fields
}
StepExecutor runs workflow steps using the step registry. This provides a simplified interface for executing steps with variable passing.
func NewStepExecutor ¶
func NewStepExecutor() *StepExecutor
NewStepExecutor creates a new step executor.
func NewStepExecutorWithVars ¶
func NewStepExecutorWithVars(vars *Variables) *StepExecutor
NewStepExecutorWithVars creates a new executor with pre-populated variables.
func (*StepExecutor) Execute ¶
func (e *StepExecutor) Execute(ctx context.Context, step *schema.WorkflowStep) (*StepResult, error)
Execute runs a single step and stores the result.
func (*StepExecutor) GetResult ¶
func (e *StepExecutor) GetResult(name string) (*StepResult, bool)
GetResult returns the result of a previously executed step.
func (*StepExecutor) RunAll ¶
func (e *StepExecutor) RunAll(ctx context.Context, workflow *schema.WorkflowDefinition) error
RunAll executes all steps in order.
func (*StepExecutor) SetAtmosConfig ¶ added in v1.223.0
func (e *StepExecutor) SetAtmosConfig(config *schema.AtmosConfiguration)
SetAtmosConfig sets the active Atmos configuration for handlers that need process-level settings.
func (*StepExecutor) SetEnv ¶
func (e *StepExecutor) SetEnv(key, value string)
SetEnv sets an environment variable for use in templates.
func (*StepExecutor) SetFlag ¶ added in v1.222.0
func (e *StepExecutor) SetFlag(key, value string)
SetFlag sets a workflow flag for use in templates.
func (*StepExecutor) SetWorkflow ¶
func (e *StepExecutor) SetWorkflow(workflow *schema.WorkflowDefinition)
SetWorkflow sets the workflow context for output mode inheritance.
func (*StepExecutor) Variables ¶
func (e *StepExecutor) Variables() *Variables
Variables returns the executor's variable store.
type StepHandler ¶
type StepHandler interface {
// GetName returns the step type name (e.g., "input", "choose", "success").
GetName() string
// GetCategory returns the step category for grouping.
GetCategory() StepCategory
// Execute runs the step and returns the result.
Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
// Validate checks step configuration before execution.
Validate(step *schema.WorkflowStep) error
// RequiresTTY returns true if the step requires an interactive terminal.
RequiresTTY() bool
}
StepHandler defines the interface for workflow step type handlers.
func Get ¶
func Get(typeName string) (StepHandler, bool)
Get returns a handler by type name, falling back to registered aliases.
type StepResult ¶
type StepResult struct {
// Value is the primary output value (for variable capture).
Value string
// Values holds multiple values for multiselect operations.
Values []string
// Metadata contains additional data from the step execution.
Metadata map[string]any
// Outputs contains named outputs declared by the step.
Outputs map[string]string
// Skipped indicates if the step was skipped.
Skipped bool
// Error captures any error message from the step.
Error string
}
StepResult captures the output of a step execution.
func NewStepResult ¶
func NewStepResult(value string) *StepResult
NewStepResult creates a new StepResult with the given value.
func (*StepResult) WithError ¶
func (r *StepResult) WithError(err string) *StepResult
WithError adds an error message to the result.
func (*StepResult) WithMetadata ¶
func (r *StepResult) WithMetadata(key string, value any) *StepResult
WithMetadata adds metadata to the result.
func (*StepResult) WithOutput ¶ added in v1.222.0
func (r *StepResult) WithOutput(key, value string) *StepResult
WithOutput adds a declared output to the result.
func (*StepResult) WithSkipped ¶
func (r *StepResult) WithSkipped() *StepResult
WithSkipped marks the result as skipped.
func (*StepResult) WithValues ¶
func (r *StepResult) WithValues(values []string) *StepResult
WithValues adds multiple values to the result.
type StreamingOutputWriter ¶
type StreamingOutputWriter struct {
// contains filtered or unexported fields
}
StreamingOutputWriter handles real-time output streaming with prefix per line.
func NewStreamingOutputWriter ¶
func NewStreamingOutputWriter(prefix string, target io.Writer) *StreamingOutputWriter
NewStreamingOutputWriter creates a writer that prefixes each line.
func (*StreamingOutputWriter) Flush ¶
func (w *StreamingOutputWriter) Flush()
Flush writes any buffered content to the target.
func (*StreamingOutputWriter) String ¶
func (w *StreamingOutputWriter) String() string
String returns the captured output, flushing any buffered content first.
type StyleHandler ¶
type StyleHandler struct {
BaseHandler
}
StyleHandler applies terminal styling to text (like gum style).
func (*StyleHandler) Execute ¶
func (h *StyleHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute applies styling and displays the content.
func (*StyleHandler) Validate ¶
func (h *StyleHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type TableHandler ¶
type TableHandler struct {
BaseHandler
}
TableHandler renders data as a formatted table.
func (*TableHandler) Execute ¶
func (h *TableHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute renders the table.
func (*TableHandler) Validate ¶
func (h *TableHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type TemplateRenderer ¶ added in v1.222.0
TemplateRenderer renders one template pass with the provided data.
type TitleHandler ¶
type TitleHandler struct {
BaseHandler
}
TitleHandler sets the terminal window title.
func (*TitleHandler) Execute ¶
func (h *TitleHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute sets or restores the terminal window title.
func (*TitleHandler) Validate ¶
func (h *TitleHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has valid fields.
type ToastHandler ¶
type ToastHandler struct {
BaseHandler
}
ToastHandler displays a styled message with icon (success, info, warning, error).
func (*ToastHandler) Execute ¶
func (h *ToastHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute displays the message with the appropriate style based on level.
func (*ToastHandler) Validate ¶
func (h *ToastHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type Variables ¶
type Variables struct {
// Steps maps step names to their results.
Steps map[string]*StepResult
// Env contains environment variables.
Env map[string]string
// Flags contains workflow command-line flags exposed to step templates.
Flags map[string]string
AtmosConfig *schema.AtmosConfiguration
// contains filtered or unexported fields
}
Variables holds step outputs accessible via Go templates.
func NewVariables ¶
func NewVariables() *Variables
NewVariables creates a new Variables instance with OS environment pre-populated.
func (*Variables) EnsureBinaryInPath ¶ added in v1.223.0
EnsureBinaryInPath prepends the directory of binaryPath to the PATH variable unless it is already present, matching the existing key's casing (Windows uses "Path"). Command- or step-level env can override PATH entirely; calling this afterwards preserves the guarantee that a bare `atmos` in steps resolves to the running binary.
func (*Variables) EnvSlice ¶ added in v1.222.0
EnvSlice returns the variable environment as a sorted slice of "KEY=VALUE" entries, suitable for use as a subprocess environment. The slice is the complete environment (it includes the inherited OS environment loaded by NewVariables plus any workflow/step/identity-resolved entries), so callers can hand it to a container runtime via container.EnvSetter to carry credentials materialized by auth integrations (e.g. DOCKER_CONFIG for ECR login).
func (*Variables) GetStageIndex ¶
GetStageIndex returns the current stage index.
func (*Variables) GetTotalStages ¶
GetTotalStages returns the total number of stage steps.
func (*Variables) IncrementStageIndex ¶
IncrementStageIndex increments and returns the current stage index.
func (*Variables) LoadOSEnv ¶
func (v *Variables) LoadOSEnv()
LoadOSEnv populates the Env map with all OS environment variables.
func (*Variables) ProtectTemplateRoots ¶ added in v1.222.0
ProtectTemplateRoots prevents template markers in selected roots from being re-evaluated during later render passes.
func (*Variables) ResolveEnvMap ¶
ResolveEnvMap resolves Go templates in a map of environment variables.
func (*Variables) ResolveOutputs ¶ added in v1.222.0
func (v *Variables) ResolveOutputs(outputs map[string]string, result *StepResult) (map[string]string, error)
ResolveOutputs resolves a step's declared outputs against the current result and all previously stored step results.
func (*Variables) ResolveWith ¶ added in v1.223.0
ResolveWith resolves Go templates in input using the current variable data with envOverlay merged on top of the persisted env for this call only. The overlay does not mutate the Variables' env, so a per-step environment does not leak into later steps' template context.
func (*Variables) Set ¶
func (v *Variables) Set(name string, result *StepResult)
Set stores a step result by name.
func (*Variables) SetAtmosConfig ¶ added in v1.223.0
func (v *Variables) SetAtmosConfig(config *schema.AtmosConfiguration)
SetAtmosConfig stores the active Atmos configuration for step handlers that need to respect process-level settings such as native CI summary controls.
func (*Variables) SetTemplateData ¶ added in v1.222.0
SetTemplateData sets extra root values exposed during template resolution.
func (*Variables) SetTemplatePasses ¶ added in v1.222.0
SetTemplatePasses sets the maximum number of render passes used by Resolve.
func (*Variables) SetTemplateRenderer ¶ added in v1.222.0
func (v *Variables) SetTemplateRenderer(renderer TemplateRenderer)
SetTemplateRenderer sets the one-pass renderer used by Resolve.
func (*Variables) SetTotalStages ¶
SetTotalStages sets the total number of stage steps in the workflow.
func (*Variables) SetWithOutputs ¶ added in v1.222.0
func (v *Variables) SetWithOutputs(name string, result *StepResult, outputs map[string]string) error
SetWithOutputs evaluates declared outputs and stores a step result by name.
func (*Variables) TemplateData ¶ added in v1.222.0
TemplateData returns the data structure used for Go template execution.
type WaitAllHandler ¶ added in v1.222.0
type WaitAllHandler struct{ BaseHandler }
WaitAllHandler registers the `wait-all` action step (block until all background steps ready).
func (*WaitAllHandler) Execute ¶ added in v1.222.0
func (h *WaitAllHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
func (*WaitAllHandler) Validate ¶ added in v1.222.0
func (h *WaitAllHandler) Validate(step *schema.WorkflowStep) error
Validate is a no-op: wait-all takes no targets.
type WaitHandler ¶ added in v1.222.0
type WaitHandler struct{ BaseHandler }
WaitHandler registers the `wait` action step (block until named background steps ready).
func (*WaitHandler) Execute ¶ added in v1.222.0
func (h *WaitHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
func (*WaitHandler) Validate ¶ added in v1.222.0
func (h *WaitHandler) Validate(step *schema.WorkflowStep) error
Validate requires `for:` to name at least one target.
type WorkdirHandler ¶ added in v1.223.0
type WorkdirHandler struct {
BaseHandler
}
WorkdirHandler provisions a mutable working directory from a source.
func (*WorkdirHandler) Execute ¶ added in v1.223.0
func (h *WorkdirHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute provisions the configured source into the target path.
func (*WorkdirHandler) Validate ¶ added in v1.223.0
func (h *WorkdirHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
type WriteHandler ¶
type WriteHandler struct {
BaseHandler
}
WriteHandler prompts for multi-line text input.
func (*WriteHandler) Execute ¶
func (h *WriteHandler) Execute(ctx context.Context, step *schema.WorkflowStep, vars *Variables) (*StepResult, error)
Execute prompts for multi-line input and returns the result.
func (*WriteHandler) Validate ¶
func (h *WriteHandler) Validate(step *schema.WorkflowStep) error
Validate checks that the step has required fields.
Source Files
¶
- alert.go
- atmos.go
- background_steps.go
- cast.go
- cast_simulate.go
- choose.go
- clear.go
- confirm.go
- container.go
- container_build.go
- container_inspect.go
- container_push.go
- container_run.go
- container_summary.go
- emulator.go
- env.go
- executor.go
- exit.go
- file.go
- filter.go
- format.go
- handler_base.go
- hint.go
- http.go
- input.go
- join.go
- junit.go
- linebreak.go
- log.go
- loggroup.go
- markdown.go
- matrix.go
- output_mode.go
- pager.go
- parallel.go
- registry.go
- require.go
- say.go
- script.go
- shell.go
- show_config.go
- sleep.go
- spin.go
- stage.go
- style.go
- table.go
- title.go
- toast.go
- types.go
- variables.go
- workdir.go
- write.go