github cloudposse/atmos v1.201.0-rc.2

pre-release20 hours ago
feat: Path-based component resolution for all commands @osterman (#1774) ## Summary

Enables developers to use filesystem paths (e.g., ., ./vpc) instead of component names with all component-related commands. Paths are automatically resolved to component names based on stack configuration, eliminating the need to memorize component names.

Changes

  • Core Implementation: Path extraction, normalization, and stack validation utilities with symlink resolution
  • Commands Enhanced: Terraform, Helmfile, Packer, describe component, and validate component commands
  • Tab Completion: Enhanced completion with path support and graceful degradation when resolution fails
  • Testing: 17 integration test scenarios + 6 unit tests covering all use cases
  • Documentation: Full documentation with examples for all command types + blog post

Example Usage

# Navigate to component
cd components/terraform/vpc

# Use . to reference current directory
atmos terraform plan . --stack dev
atmos describe component . --stack dev
atmos validate component . --stack dev

Features

  • Auto-detection of component type from filesystem path
  • Stack validation to ensure component exists in specified stack
  • Clear error messages when paths cannot be resolved
  • Backward compatible - existing component name syntax still works

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Path-based component resolution (., ./, ../, absolute) with auto-type detection, stack validation, interactive disambiguation, and directory-aware tab completion.
  • Bug Fixes

    • Commands propagate errors instead of exiting; config now exposes absolute base-paths and clearer, actionable path/stack errors.
  • Documentation

    • PRD, CLI usage pages, and blog post updated with path-based examples and guidance.
  • Tests

    • Extensive new/updated unit, integration, and golden snapshot tests covering path resolution, completions, and edge cases.
  • Other

    • Telemetry notice added; CLI help lists a new terraform subcommand ("provision"); legacy CLI config file removed.

✏️ Tip: You can customize this high-level summary in your review settings.

Don't miss a new atmos release

NewReleases is sending notifications on new releases.