Skip to content

Feature/refactor pipeline and commands#42

Draft
marghidanu wants to merge 7 commits intomasterfrom
feature/refactor-pipeline-and-commands
Draft

Feature/refactor pipeline and commands#42
marghidanu wants to merge 7 commits intomasterfrom
feature/refactor-pipeline-and-commands

Conversation

@marghidanu
Copy link
Copy Markdown
Owner

No description provided.

Replace raw Hash(String, String) with a named type alias Werk::Variables
throughout the codebase. Adds a Variables.parse class method for parsing
CLI key=value pairs. Updates all consumers including Pipeline, Context,
Config, MCP tools, and specs.
- Simplify Pipeline constructor (remove YAGNI scheduler parameter)
- Inline signal trap/reset directly in Pipeline#run
- Use type-based pattern matching for executor dispatch instead of strings
- Replace lazy Docker client init with eager getter
- Use each_slice.with_index for batch tracking
- Use Time.utc instead of Time.local, has_job? via any?
- Return String from PipelineResult#to_table
Move entrypoint field from DockerJob to base Job as Array(String) with
default ["/bin/sh", "-c"]. Deprecate the old interpreter field. This
removes the hardcoded "-c" assumption and allows non-shell interpreters
like ruby -e or python -c to work correctly.
Replace two-level module nesting (e.g. module Werk::Commands + module Run)
with collapsed declarations (module Werk::Commands::Run) across all
command files and application module. Reduces indentation and removes
redundant end keywords.
Rename `working_dir`, `directory`, and `--context` flag to consistently
use `cwd` across Context, ExecutionResult, Pipeline, and commands.
Vault encrypt, decrypt, and rekey were missing OptionParser
missing_option handlers, unlike the run and plan commands.
@marghidanu marghidanu self-assigned this Mar 3, 2026
@marghidanu marghidanu marked this pull request as draft March 3, 2026 07:23
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