Add working_directory support to commands and workflows @osterman (#1852)
## what- Add optional
working_directoryfield to custom commands and workflow steps to control where they execute - Support absolute paths, relative paths (resolved against
base_path), and!repo-rootYAML function - Automatically discover
.atmos.d/at git repository root for repo-wide configuration - Add parent directory search for
atmos.yamlconfiguration file - Introduce Profiles as first-class configuration concept in precedence list
- Document all features with comprehensive examples in CLI configuration docs
why
Users need fine-grained control over where commands and workflows execute, especially when using .atmos.d/ at the repository root for shared configurations. Parent directory search and git root discovery make Atmos work seamlessly from any subdirectory, mirroring Git's behavior.
Profiles deserve first-class documentation as a primary configuration mechanism for environment-specific overrides.
references
Closes #DEV-3007
Summary by CodeRabbit
-
New Features
- Working directory support for commands and workflows (workflow- and step-level overrides; relative paths resolved against the project base).
- Repo-wide fragments: automatic parent-directory search for atmos.yaml and discovery of .atmos.d at the Git repository root.
-
Documentation
- New docs and blog posts covering working_directory, discovery precedence, profiles, and examples.
-
Improvements
- Better config discovery diagnostics and more consistent path normalization in outputs and tests.
✏️ Tip: You can customize this high-level summary in your review settings.