aws-cli-agent 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project are documented here.
4
4
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
5
5
  versioning follows [SemVer](https://semver.org/).
6
6
 
7
+ ## [0.6.2] - 2026-06-05
8
+
9
+ ### Changed
10
+
11
+ - **README.md** Minor changes in the README.md.
12
+
7
13
  ## [0.6.1] - 2026-05-31
8
14
 
9
15
  ### Added
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # aws-cli-agent (`aca`)
1
+ # aws-cli-agent (aca)
2
2
 
3
3
  > Agentic AI assistant that turns natural-language requests into AWS CLI commands and runs them locally.
4
4
 
@@ -8,18 +8,20 @@ You describe what you want in plain English. The agent searches your local histo
8
8
 
9
9
  ```bash
10
10
  # Interactive session to an instance the agent has to look up
11
- aca "start ssm session to instance my-instance in my-account"
11
+ aca start ssm session to instance my-instance in my-account
12
12
 
13
- # Use the AWS CLI's table output for human consumption
14
- aca "print tags of gitlab instance as table"
13
+ # List resources
14
+ aca list instance ids, names in my-account as text
15
15
 
16
- # Cross-resource composition: instances, their IAM roles, and the attached policies
17
- aca "list ec2 instance id, name, instance profile arn plus the iam policies in the attached iam role as json in my-account"
16
+ # Cross-resource composition: instances, their profiles, and the attached policies
17
+ aca list ec2 instance ids, names and the iam policies in the instance profiles as json in my-account
18
18
  ```
19
19
 
20
- The first example is interactive — the agent runs a read-only `describe-instances` to resolve the name, then prompts before opening the SSM session. The second produces a table on stdout, pipeable to `less` or `grep`. The third is the kind of request where the agent will most likely build a bash script with `jq` plumbing rather than chain individual AWS CLI calls.
20
+ The first example is interactive — the agent runs a read-only `describe-instances` to resolve the name, then prompts before opening the SSM session. The second produces a text list on stdout, pipeable to `less` or `grep`. The third is the kind of request where the agent will most likely build a bash script with `jq` plumbing rather than chain individual AWS CLI calls.
21
21
 
22
- ## ⚠️ Warning — read before using
22
+ ![aca Demo](resources/aca-demo-v0.6.1.gif)
23
+
24
+ ## Warning - read before using
23
25
 
24
26
  `aca` runs real AWS CLI commands against your real AWS accounts. Treat it accordingly.
25
27
 
@@ -31,15 +33,9 @@ The first example is interactive — the agent runs a read-only `describe-instan
31
33
  - **Your prompts go to the model provider.** AWS CLI output is fed back to the model as part of subsequent steps. That means resource names, instance IDs, tag values, and any other data that appears in command output is transmitted to Anthropic / OpenAI / Google / Bedrock (depending on your provider choice). The provider does not retain this data beyond the request itself (and the cache TTL, ~5 minutes for cached prefixes), but **confirm this is compatible with the policies you have to respect** before pointing `aca` at sensitive accounts.
32
34
  - **Provider terms apply.** When you use a provider, you agree to that provider's terms of service. For Bedrock, that's AWS's own terms (data stays in your AWS account boundary). For Anthropic / OpenAI / Google, that's their respective enterprise / API terms. Read them.
33
35
  - **Audit log is your friend.** Every executed command — including its stdout, stderr, and exit code — lands in `audit.log` (JSONL). If you ever need to reconstruct what happened, it's all there. Don't disable `logging.auditLog` unless you have a specific reason.
34
- - **API keys in the config file persist to disk.** As of 0.6.0, you can put your LLM provider API key in `<provider>.apiKey` for convenience. The env var still takes precedence when both are set. Putting a key on disk is a meaningful step down from keeping it in your shell environment: backup tools, accidental `git add .` from the wrong directory, screen-sharing, and shoulder-surfing all become realistic leak vectors. The config file is created with mode 0600 by `aca config`, but that doesn't help if you edit it with another tool that resets permissions, or if you copy your `~/.config` into a dotfiles repo. Use the env var path when possible; reserve the config-file path for casual local use.
36
+ - **API keys in the config file persist to disk.** As of 0.6.0, you can put your LLM provider API key in `<provider>.apiKey` for convenience. The env var still takes precedence when both are set. Putting a key on disk is a meaningful step down from keeping it in your shell environment: backup tools, accidental `git add .` from the wrong directory, screen-sharing, and shoulder-surfing all become realistic leak vectors. Use the env var path when possible; reserve the config-file path for casual local use.
35
37
  - **No warranty.** **You use this agent at your own risk.** The authors are not responsible for unintended AWS API calls, deleted resources, exceeded budgets, or any other damage caused by using this tool. If you wouldn't run `aws` commands blindly from a script you found in someone's gist, don't run `aca` blindly either.
36
38
 
37
- ## Trademark & affiliation
38
-
39
- `aws-cli-agent` (`aca`) is an independent project, not affiliated with or
40
- endorsed by Amazon Web Services. "AWS" and "Amazon Web Services" are
41
- trademarks of Amazon.com, Inc.
42
-
43
39
  ## Installation
44
40
 
45
41
  ```bash
@@ -67,7 +63,7 @@ export ANTHROPIC_API_KEY=sk-ant-...
67
63
  # (Bedrock needs no API key — uses your AWS credential chain)
68
64
 
69
65
  # 3. Try it
70
- aca "list all s3 buckets in account my-staging"
66
+ aca list all s3 buckets in account my-staging
71
67
  ```
72
68
 
73
69
  ## Configuration
@@ -170,6 +166,26 @@ When the key is resolved from the config file instead of an env var, `aca` write
170
166
 
171
167
  The config file is created with file mode `0600` (owner read/write only) when `aca config` runs. If you edit it manually with another tool, `aca` won't re-permission it on read — that's on you.
172
168
 
169
+ ### Bedrock
170
+
171
+ When `provider = "bedrock"`, configure model, region, and (optionally) profile in the `bedrock` block:
172
+
173
+ ```json
174
+ {
175
+ "provider": "bedrock",
176
+ "bedrock": {
177
+ "model": "us.anthropic.claude-sonnet-4-6",
178
+ "region": "us-east-1",
179
+ "profile": "shared-services"
180
+ }
181
+ }
182
+ ```
183
+
184
+ - **Model IDs**: Bedrock uses fully-qualified inference-profile IDs. The `us.` / `eu.` / `apac.` prefix is required for most newer Anthropic models. Use `aws bedrock list-inference-profiles --region <region>` to discover what your account can invoke.
185
+ - **`bedrock.profile`** is independent from operational profiles. The agent calls Bedrock under `bedrock.profile`, but each AWS CLI command it issues uses its own `--profile` (resolved from the user's prompt / history). This is the right pattern when one account holds Bedrock entitlements and other accounts hold workloads.
186
+ - If `bedrock.region` is unset, falls back to `AWS_REGION` / `AWS_DEFAULT_REGION` env vars.
187
+ - Bedrock uses the AWS credential chain — there's no `apiKey` field.
188
+
173
189
  ### Logging
174
190
 
175
191
  ```json
@@ -198,26 +214,6 @@ If `defaultRegion` is set, `aca` appends `--region <value>` to every AWS CLI com
198
214
  aca --region eu-west-1 "list ec2 instances in my-staging"
199
215
  ```
200
216
 
201
- ### Bedrock
202
-
203
- When `provider = "bedrock"`, configure model, region, and (optionally) profile in the `bedrock` block:
204
-
205
- ```json
206
- {
207
- "provider": "bedrock",
208
- "bedrock": {
209
- "model": "us.anthropic.claude-sonnet-4-6",
210
- "region": "us-east-1",
211
- "profile": "shared-services"
212
- }
213
- }
214
- ```
215
-
216
- - **Model IDs**: Bedrock uses fully-qualified inference-profile IDs. The `us.` / `eu.` / `apac.` prefix is required for most newer Anthropic models. Use `aws bedrock list-inference-profiles --region <region>` to discover what your account can invoke.
217
- - **`bedrock.profile`** is independent from operational profiles. The agent calls Bedrock under `bedrock.profile`, but each AWS CLI command it issues uses its own `--profile` (resolved from the user's prompt / history). This is the right pattern when one account holds Bedrock entitlements and other accounts hold workloads.
218
- - If `bedrock.region` is unset, falls back to `AWS_REGION` / `AWS_DEFAULT_REGION` env vars.
219
- - Bedrock uses the AWS credential chain — there's no `apiKey` field.
220
-
221
217
  ### Prompt caching
222
218
 
223
219
  `aca` sends the same system prompt on every step of every invocation — roughly 3,300 tokens of stable content. When `caching: true` (the default), this prefix is marked cacheable on providers that support it:
@@ -415,6 +411,12 @@ aca ... 2>/dev/null # silence the agent's chrom
415
411
 
416
412
  Without this rule, the approval prompts and reasoning lines would land in the next process's stdin and corrupt downstream tools. With it, the agent is invisible to pipelines — exactly as if you'd run the `aws` command directly.
417
413
 
414
+ ## Trademark & affiliation
415
+
416
+ `aws-cli-agent` (`aca`) is an independent project, not affiliated with or
417
+ endorsed by Amazon Web Services. "AWS" and "Amazon Web Services" are
418
+ trademarks of Amazon.com, Inc.
419
+
418
420
  ## License
419
421
 
420
422
  MIT
package/dist/cli.js CHANGED
@@ -9,7 +9,7 @@ import { History } from './history.js';
9
9
  import { runAgent } from './agent.js';
10
10
  import { FILES, PATHS, DEFAULT_SCRIPT_FOLDER } from './paths.js';
11
11
  import { UserCancelledError } from './errors.js';
12
- const VERSION = '0.6.1';
12
+ const VERSION = '0.6.2';
13
13
  /**
14
14
  * Apply CLI flags on top of the loaded config. Flags only override; they
15
15
  * never widen or compose with each other implicitly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws-cli-agent",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Agentic AI assistant that turns natural-language requests into AWS CLI commands and runs them locally.",
5
5
  "type": "module",
6
6
  "bin": {