Support configuring default arguments for atmos commands
- Dominant language
- Go
- Stars
- 1.4k
- Forks
- 175
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 134
Description
### Describe the Feature
Some projects need some specific arguments to successfully perform some atmos commands (cf below use cases).
It would help to specify those once for all in atmos config rather than having to type them each time we run these commands.
Here's what such a config could look like:
```yaml
stacks:
list:
columns: ...
args:
- --skip=terraform.state
- --identity=false
describe:
args:
- --process-functions=false
- --identity=false
components:
list:
columns: ...
args:
- --skip=terraform.state
- --identity=false
```
### Expected Behavior
Once configured, I can just type `atmos list stacks`, but what is actually executed is `atmos list stacks --skip terraform.state --identity=false`.
### Use Case
Use case 1:
https://github.com/cloudposse/atmos/issues/2566 can be worked around by adding `--skip=terraform.state` to the `atmos list stacks` command.
Use case 2:
my project defines a default identity for each stack. This prevents to set a global defaut identity. As a result, running `atmos list stacks` interactively asks for an identity to run with. This is worked around by adding `--identity=false`.
### Describe Ideal Solution
simple atmos commands (atmos list, atmos describe, ...) do what they are expected to without requiring specific arguments depending on how the prjoect and permissions are configured...
### Alternatives Considered
I don't see any, besides typing required arguments on each command.
### Additional Context
_No response_
Contributor guide
Research direction
Start by tracing how `atmos list stacks` and the other listed commands load configuration and assemble command-line arguments. Define how configured defaults should be merged with explicitly provided arguments, then verify that the configured examples produce the expected command behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100