Source Provisioner UX Improvements
· 2 min read
The source provisioner now provides better visual feedback with spinners during auto-provisioning, interactive confirmation prompts for delete operations, and interactive stack selection when --stack is omitted.
What Changed
Four UX improvements to the source provisioner:
- Auto-provisioning spinner: When components are automatically vendored on first use, you now see a spinner with progress instead of static messages
- Interactive delete confirmation: Running
atmos terraform source deletewithout--forcenow prompts for confirmation instead of erroring - Delete operation spinner: Deletion shows a spinner during the operation for consistent feedback
- Interactive stack selection: All source commands (pull, delete, describe, list) now prompt for stack selection when
--stackis omitted
Why This Matters
These changes align the source provisioner with UX patterns used elsewhere in Atmos:
# Before: Static messages during auto-provisioning
ℹ Auto-provisioning source for component 'myapp'
✓ Auto-provisioned source to .workdir/terraform/dev-myapp
# After: Spinner shows progress
⠋ Auto-provisioning source for 'myapp'
✓ Auto-provisioned source to .workdir/terraform/dev-myapp
# Before: Delete required --force or failed
$ atmos terraform source delete myapp --stack dev
Error: --force flag required for safety
# After: Interactive confirmation when --force omitted
$ atmos terraform source delete myapp --stack dev
? Delete directory: .workdir/terraform/dev-myapp? [Yes!/No.]
⠋ Deleting .workdir/terraform/dev-myapp
✓ Deleted .workdir/terraform/dev-myapp
# Before: Required --stack flag or error
$ atmos terraform source pull myapp
Error: --stack flag is required
# After: Interactive stack selection when --stack omitted
$ atmos terraform source pull myapp
? Choose a stack
dev
> prod
staging
ℹ Selected stack `prod`
⠋ Provisioning source for 'myapp'
✓ Provisioned source to components/terraform/myapp
How to Use It
No configuration changes needed. The improvements apply automatically:
- With TTY: Get interactive prompts and spinners
- Without TTY (CI/scripts): Use
--forceto skip confirmation, spinners degrade gracefully - Force flag: Still available for scripted workflows:
atmos terraform source delete myapp --stack dev --force
