🌵

Amazon Q Developper CLIを試してみる(q chat編)

に公開

Amazon Q Developper CLIを試してみる

やりたい事がありすぎて触れていなかったので周回遅れで手を動してみたいと思います。
全部触ると長くなりそうなの事が判明した為、本記事ではq chatのみです。

触ってみたよーというだけの内容ですが、宜しければ斜め読み程度にお付き合いいただければ幸いです。


公式ブログ(日本語)

https://aws.amazon.com/jp/blogs/news/introducing-the-enhanced-command-line-interface-in-amazon-q-developer/


公式ドキュメント

https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/command-line-installing.html


インストール

brew install amazon-q
q --version

サブコマンド一覧を確認

※2025/4/20時点

まずはhelpを実行(説明文翻訳済)

q --help

q (Amazon Q CLI)

Popular Subcommands              Usage: q [subcommand]
╭────────────────────────────────────────────────────╮
│ chat         Amazon Qとチャットする                   │
│ translate    自然言語からシェルへの翻訳           │
│ doctor       インストールに関する問題をデバッグする       │ 
│ settings     インストールに関する問題をデバッグする       │
│ quit         アプリを終了する                         │
╰────────────────────────────────────────────────────╯

To see all subcommands, use:
 ❯ q --help-all

全てのサブコマンドを見るには

q --help-all

を叩いてねとの事で実行(説明文翻訳済)

q --help-all

USAGE:
    q [OPTIONS] [SUBCOMMAND]

Commands:
  debug         アプリをデバッグする  
  settings      外観と動作をカスタマイズする  
  setup         CLI コンポーネントをセットアップする  
  update        Amazon Q アプリケーションを更新する  
  diagnostic    診断テストを実行する  
  init          指定したシェル用の設定ファイルを生成する  
  theme         テーマを取得または設定する  
  issue         新しい GitHub issue を作成する  
  login         ログインする  
  logout        ログアウトする  
  whoami        現在のユーザー情報を表示する  
  user          アカウントを管理する  
  doctor        一般的な問題を修正・診断する  
  launch        デスクトップアプリを起動する  
  quit          デスクトップアプリを終了する  
  restart       デスクトップアプリを再起動する  
  integrations  システム統合を管理する  
  translate     自然言語をシェルコマンドに変換する  
  dashboard     ダッシュボードを開く  
  chat          ターミナル内のAIアシスタント  
  inline        シェル補完機能(インライン)  
  help          このメッセージ、または指定したサブコマンドのヘルプを表示する

Options:
  -v, --verbose...
          ログの詳細度を上げる(冗長モード)

      --help-all
          すべてのサブコマンドのヘルプを表示する

  -h, --help
          ヘルプを表示する

  -V, --version
          バージョン情報を表示する

とりあえずq chatを体験してみる

事前にTLで見かけていましたが、既に日本語対応済みの様子。
(日本語出来ない時を先に触ってみるべきだったが時既に遅し)
新しい設定をせずに日本語で話しかけると日本語で返ってくる模様。
https://aws.amazon.com/jp/about-aws/whats-new/2025/04/amazon-q-developer-multi-language-ide-cli/

q chat

Hi, I'm Amazon Q. Ask me anything.

Things to try
• Fix the build failures in this project.
• List my s3 buckets in us-west-2.
• Write unit tests for my application.
• Help me understand my git status.

/tools        View and manage tools and permissions
/issue        Report an issue or make a feature request
/profile      (Beta) Manage profiles for the chat session
/context      (Beta) Manage context files for a profile
/compact      Summarize the conversation to free up context space
/help         Show the help dialogue
/quit         Quit the application

Use Ctrl(^) + j to provide multi-line prompts.

> 以降は日本語で対応してください。

はい、これからは日本語で対応いたします。何かお手伝いできることがありましたら、お気軽にお尋ねください。

> それぞれの機能について再度詳細な説明をお願い出来ますか(何が出来るのか)

⠹ Thinking...
もちろん、Amazon Q CLIの各コマンドの詳細な説明をいたします。

### /tools - ツールと権限の表示と管理
• Amazon Qが使用できるツールの一覧を表示します
• ツールの権限設定を確認・変更できます
• 特定のツールの使用を許可または制限することができます

### /issue - 問題の報告や機能リクエスト
• Amazon Qの使用中に発生した問題を報告できます
• 新しい機能のリクエストを送信できます
• フィードバックを開発チームに直接伝えることができます

### /profile - (ベータ) チャットセッションのプロファイル管理
• 異なるプロファイルを作成・管理できます
• プロファイルごとに異なる設定や環境を保存できます
• 用途に応じたプロファイルを切り替えて使用できます

### /context - (ベータ) プロファイルのコンテキストファイル管理
• チャットの文脈として使用するファイルを追加・削除できます
• コードやドキュメントなどのファイルをコンテキストとして提供できます
• Amazon Qがより適切な回答を提供するための情報源として活用できます

### /compact - コンテキスト領域を解放するための会話の要約
• 長い会話履歴を要約して、コンテキスト容量を節約します
• 重要なポイントを保持しながら、会話を簡潔にまとめます
• 長時間の対話セッションを続ける際に有用です

### /help - ヘルプダイアログの表示
• 利用可能なコマンドの一覧と簡単な説明を表示します
• Amazon Qの使い方に関する基本的な情報を提供します
• 困ったときにサポート情報を確認できます

### /quit - アプリケーションの終了
• 現在のAmazon Qセッションを終了します
• アプリケーションを完全に閉じます
• 終了時にセッション情報は保存されません

これらのコマンドを使って、Amazon Q CLIをより効率的に活用することができます。何か特定のコマンドについてさらに詳しく知
りたい場合は、お気軽にお尋ねください。

> これらを使いたい場合はこのチャットが継続中に例えば /tools 等入力すれば良いですか?

はい、その通りです。これらのコマンドを使用する場合は、チャットセッションが継続中に、そのままコマンドを入力するだけで
実行できます。

例えば、ツールと権限を管理したい場合は、このチャット内で単に「/tools」と入力して送信します。すると、Amazon Qが利用可
能なツールの一覧や権限設定のインターフェースが表示されます。

同様に、他のコマンドも使いたい場合は:
• 問題を報告したい場合は「/issue」
• プロファイルを管理したい場合は「/profile」
• コンテキストファイルを管理したい場合は「/context」
• 会話を要約したい場合は「/compact」
• ヘルプを表示したい場合は「/help」
• アプリケーションを終了したい場合は「/quit」

と、このチャット内で入力するだけで各機能にアクセスできます。スラッシュ(/)で始まるこれらのコマンドは、通常の会話とは区別され、システムコマンドとして認識されます。

/tools

> /tools

Current tool permissions:
- fs_read         Trusted [Default] 
- report_issue    Trusted [Default] 
- fs_write        Per-request [Default] 
- execute_bash    Write-only commands [Default] 
- use_aws         Write-only commands [Default] 

Use /tools help to edit permissions.

> こちらも先程同様それぞれに日本語で詳細な説明をつけてください。

### fs_read - Trusted [Default]
ファイルシステムの読み取り操作が信頼されています。Amazon Qはファイルやディレクトリの内容を読み取り、表示することができます。デフォルトで許可されています。

### report_issue - Trusted [Default]
問題報告機能が信頼されています。Amazon Qの使用中に発生した問題を報告するための機能が有効になっています。デフォルトで許可されています。

### fs_write - Per-request [Default]
ファイルシステムへの書き込み操作はリクエストごとに許可が必要です。Amazon Qがファイルを作成・編集する際には、その都度ユーザーの承認が求められます。デフォルト設定です。

### execute_bash - Write-only commands [Default]
Bashコマンドの実行は書き込み専用コマンドに制限されています。システムに影響を与える可能性のあるコマンドは制限され、安全なコマンドのみが実行できます。デフォルト設定です。

### use_aws - Write-only commands [Default]
AWS CLIの使用は書き込み専用コマンドに制限されています。AWSリソースに対する読み取り操作は許可されますが、変更を加える操作は制限されています。デフォルト設定です。

「Use /tools help to edit permissions」は、これらの権限設定を変更したい場合は「/tools help」コマンドを使用して詳細なヘルプを表示できることを示しています。

(翻訳済)

/tools help

ツールの権限

デフォルトでは、Amazon Q は特定のツールを使用する前に許可を求めます。  
どのツールを信頼するかを設定することで、確認なしで使用できるようになります。  
これらの設定は、このセッション中のみ有効です。

使用方法: /tools [サブコマンド]

説明  
  現在のツールとその権限設定を表示します。  
  権限設定では、ユーザー確認が必要かどうかを示します。  
  信頼されたツールは確認なしで使用されます。  
  または、ツールの権限を変更するためのサブコマンドを指定してください。

使用可能なサブコマンド  
  help                           tools コマンドの説明を表示する  
  trust <ツール名>                指定したツールをセッション中信頼する  
  untrust <ツール名>              ツールを都度確認モードに戻す  
  trustall                       すべてのツールを信頼する(非推奨の /acceptall と同等)  
  reset                          すべてのツールの権限をデフォルトにリセットする 

試しにfs_writeのデフォルト挙動を確認

> このディレクトリに test.txt を作成して「こんにちは」と書いてください。

ファイルを作成するリクエストを実行します。現在のディレクトリ(/Users/hoge/Desktop/fuga)に「test.txt
」というファイルを作成し、「こんにちは」という内容を書き込みます。

[Tool Request] Write to filesystem
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Path: /Users/hoge/Desktop/fuga/test.txt

+    1: こんにちは

Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

> y

Writing to filesystem...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Creating: /Users/hoge/Desktop/fuga/test.txt

🟢 Completed in 0.6s

「test.txt」ファイルを正常に作成し、「こんにちは」という内容を書き込みました。ファイルは現在のディレクトリ(/Users/
hoge/Desktop/fuga)に保存されています。

確認を求められた後yと回答した事で作成されています。

fs_writeをtrustしてみます。

> /tools trust fs_write

Tool 'fs_write' is now trusted. I will not ask for confirmation before running this tool.

ツール『fs_write』が信頼されるようになりました。このツールを実行する前に確認を求めることはしません。との事

> このディレクトリに test2.txt を作成して「こんにちは2」と書いてください。

ファイルを作成するリクエストを実行します。

[Tool Request - Trusted] Write to filesystem
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Path: /Users/hoge/Desktop/fuga/test2.txt

+    1: こんにちは2

Writing to filesystem...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Creating: /Users/hoge/Desktop/fuga/test2.txt

🟢 Completed in 0.0s

「test2.txt」ファイルを正常に作成し、「こんにちは2」という内容を書き込みました。ファイルは現在のディレクトリ(/Users/
hoge/Desktop/fuga)に保存されています。

今度はy/n/tを聞かれませんでした。

Per-requestだった状態で以下のように問われた際、前述の通り「t」という選択肢があったのでそこからでも簡単に指示出来そうです。

Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

このアクションを許可しますか?セッションでこのツールを信頼する(常に許可する)には『t』を使う。[y/n/t]:

確認も含めuntrustに戻しておきます。

> /tools untrust fs_write

Tool 'fs_write' set to per-request confirmation.

aws cli実行を伴うアクションを自然言語で試していない事に気づいたので、このタイミングですがS3バケットの一覧を表示してみてもらいます。(バケット名は適当に変換済)

> S3バケットの一覧を表示してください

AWS S3バケットの一覧を表示するために、AWS CLIを使用します。us-west-2リージョンのS3バケットを確認します。

[Tool Request - Trusted] Use AWS CLI
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Running aws cli command:
Service name: s3api
Operation name: list-buckets
Parameters: 
Profile name: default
Region: us-west-2
Label: S3バケット一覧の取得

Using AWS CLI...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

🟢 Completed in 2.350s


S3バケットの一覧を取得しました。以下が現在のアカウントに存在するバケットです:

1. hoge-bucket (作成日: 2024-12-07)
2. fuga-bucket (作成日: 2024-11-09)
3. piyo-bucket (作成日: 2022-11-05)
4. foo-bucket (作成日: 2022-11-06)
5. bar-bucket (作成日: 2024-11-12)
6. buzz-bucket (作成日: 2023-09-03)
7. hoge-bucket2 (作成日: 2024-11-09)
8. hoge-bucket3 (作成日: 2024-11-12)
9. hoge-bucket4 (作成日: 2022-10-30)
10. hoge-bucket5 (作成日: 2024-11-12)

他にも多数のバケットがあります。特定のバケットについて詳細情報が必要な場合は、お知らせください。

us-west-2リージョンのと言っていますが、実際には東京のバケット等も一覧かしてくれています。
続いて、「空のバケット全部教えてね」と聞いてみます。

> オブジェクトが存在しない空のバケットを一覧化してください

空のバケット(オブジェクトが存在しないバケット)を確認するために、各バケットのオブジェクト数を確認します。

[Tool Request] Execute shell command
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I will run the following shell command: 
for bucket in $(aws s3api list-buckets --query "Buckets[].Name" --output text); do count=$(aws s3api list-objects-v2 --bucket $bucket --query "length(Contents[])" --output text 2>/dev/null || echo "Error"); echo "$bucket: $count"; done

Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

> y

Executing `for bucket in $(aws s3api list-buckets --query "Buckets[].Name" --output text); do count=$(aws s3api list-objects-v2 --bucket $bucket --query "length(Contents[])" --output text 2>/dev/null || echo "Error"); echo "$bucket: $count"; done`...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
hoge-bucket1: Error
hoge-bucket2: Error
hoge-bucket3: 3
hoge-bucket4: Error
hoge-bucket5: 14
...(※省略)

🟢 Completed in 50.660s

バケットのオブジェクト数を確認しました。「Error」と表示されているバケットは、アクセス権限の問題か空である可能性があり
ます。以下が空である可能性が高いバケットの一覧です:

1. hoge-bucket1
2. hoge-bucket2
3. hoge-bucket4
...(※省略)

これらのバケットは「Error」と表示されていますが、これはアクセス権限がないか、バケットが空である可能性があります。より
正確に確認するには、各バケットに対する適切な権限が必要です。

削除を命じてみます。

> hoge-bucket1を削除してください

AWS S3バケットを削除する前に、いくつか確認が必要です。S3バケットを削除するには、まずバケットが空である必要があります
。先ほどの確認では「hoge-bucket1」バケットにアクセスできなかったため、まずバケットの内容を確認し、必要に応じてオブジェクトを削除してから、バケット自体を削除する必要があります。

まず、バケットの内容を確認してみましょう。

[Tool Request - Trusted] Use AWS CLI
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Running aws cli command:
Service name: s3api
Operation name: list-objects-v2
Parameters: 
- bucket: "hoge-bucket1"
Profile name: default
Region: us-west-2
Label: バケット内のオブジェクト確認

Using AWS CLI...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

🟢 Completed in 2.700s

バケットの内容を確認しましたが、オブジェクトが存在しないようです。次にバケットを削除します。

[Tool Request] Use AWS CLI
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Running aws cli command:
Service name: s3api
Operation name: delete-bucket
Parameters: 
- bucket: "hoge-bucket1"
Profile name: default
Region: us-west-2
Label: S3バケットの削除

Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

> y

Using AWS CLI...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

🟢 Completed in 2.303s

「hoge-bucket1」バケットを正常に削除しました。

バケットの削除が完了し、エラーは発生しませんでした。このバケットはもうAWSアカウントに存在しません。

/issue

特に問題は発生していないのですが、/issueを実行してみようとしました。
なんらか上手く動作しませんでしたが、githubのIssueページをブラウザで開くだけとの事で、一旦そこまで注力する事もないので飛ばす事にします。
一連のq chatとのやりとりをGPTに要約させたのが以下

/issue コマンドの概要
/issue をチャットで入力すると、GitHub の問題報告テンプレートページがブラウザで開く仕組み。

送信しなくてもOK。内容を見るだけでも可。

🔍 テンプレートが開かない主な理由
ポップアップブロックやブラウザ設定の制限
システムやCLIの権限設定による制限
コマンドの 入力方法が不適切(他の文章と一緒など)
一時的な ネットワークエラー

正しい使い方
チャット内で 単独で /issue とだけ入力するのが正しい方法です。
それでも開かない場合は、Amazon Q CLI のバージョンや設定を確認してください。
Amazon Q CLIの「/issue」コマンドは、システムのデフォルトブラウザを使用して問題報告テンプレートを開こうとします。
Amazon Q CLI自体には、使用するブラウザを指定する設定はありません。


/compact

> /compact

✔ Conversation history has been compacted successfully!

• The assistant has access to all previous tool executions, code analysis, and discussion details
• The assistant will reference specific information from the summary when relevant
• Use '/compact --summary' to view summaries when compacting

> /compact --summary

Conversation too short to compact.

✔ 会話履歴は正常にコンパクト化されました!

  • アシスタントは、以前のすべてのツール実行、コード解析、およびディスカッションの詳細にアクセスできます。
  • アシスタントは、関連する場合、サマリーから特定の情報を参照します。
  • '/compact --summary' を使用して、コンパクト化時にサマリーを表示します。

/compact --summary
会話をコンパクトにするには短すぎる。

/compact コマンドとは?
チャット履歴(会話のコンテキスト)を圧縮・要約して、メモリ使用量を抑えるための機能

要約された内容は、Amazon Q が今後の応答で「過去の内容を参照する」際に使われる

/compact --summary とは?
「実際にどう要約されたか」をユーザーが確認できるオプション


/profile

> /profile help
(Beta) Profile Management

Profiles allow you to organize and manage different sets of context files for different projects or tasks.

Available commands
  help                Show an explanation for the profile command
  list                List all available profiles
  create <name>       Create a new profile with the specified name
  delete <name>       Delete the specified profile
  set <name>          Switch to the specified profile
  rename <old> <new>  Rename a profile

Notes
• The "global" profile contains context files that are available in all profiles
• The "default" profile is used when no profile is specified
• You can switch between profiles to work on different projects
• Each profile maintains its own set of context files

(ベータ版)プロファイル管理
プロファイルを使うことで、異なるプロジェクトやタスクに応じてコンテキストファイルのセットを整理・管理できます。

利用可能なコマンド
help 説明を表示します
list すべてのプロファイルを一覧表示します
create <name> 指定した名前で新しいプロファイルを作成します
delete <name> 指定したプロファイルを削除します
set <name> 指定したプロファイルに切り替えます
rename <old> <new> プロファイルの名前を変更します

メモ
「global」プロファイルには、すべてのプロファイルで利用可能なコンテキストファイルが含まれます
「default」プロファイルは、プロファイルが指定されていない場合に使用されます
プロファイルを切り替えることで、異なるプロジェクト間の作業を簡単に分けることができます
各プロファイルは独自のコンテキストファイルセットを保持します


/context

> /context

(Beta) Context Rule Management

Context rules determine which files are included in your Amazon Q session. 
The files matched by these rules provide Amazon Q with additional information 
about your project or environment. Adding relevant files helps Q generate 
more accurate and helpful responses.

Available commands
  help                           Show an explanation for the context command

  show [--expand]                Display the context rule configuration and matched files
                                          --expand: Print out each matched file's content

  add [--global] [--force] <paths...>
                                 Add context rules (filenames or glob patterns)
                                 --global: Add to global rules (available in all profiles)
                                 --force: Include even if matched files exceed size limits

  rm [--global] <paths...>       Remove specified rules from current profile
                                 --global: Remove specified rules globally

  clear [--global]               Remove all rules from current profile
                                 --global: Remove global rules

Notes
• You can add specific files or use glob patterns (e.g., "*.py", "src/**/*.js")
• Profile rules apply only to the current profile
• Global rules apply across all profiles
• Context is preserved between chat sessions

(ベータ版)コンテキストルール管理
コンテキストルールは、Amazon Q セッションで使用されるファイルを決定します。
これらのルールに一致するファイルは、プロジェクトや環境に関する追加情報を Amazon Q に提供します。
関連するファイルを追加することで、より正確で役立つ回答が得られます。

利用可能なコマンド
help
context コマンドの説明を表示します

show [--expand]
コンテキストルールの設定内容と一致するファイルを表示します
--expand: 各一致ファイルの内容も表示します

add [--global] [--force] <paths...>
コンテキストルール(ファイル名やグロブパターン)を追加します
--global: すべてのプロファイルに適用されるグローバルルールとして追加
--force: ファイルサイズ制限を超えていても強制的に追加します

rm [--global] <paths...>
指定したルールを現在のプロファイルから削除します
--global: 指定したルールをグローバルから削除します

clear [--global]
現在のプロファイルからすべてのルールを削除します
--global: グローバルルールをすべて削除します
メモ
特定のファイルだけでなく、グロブパターン(例: ".py"、"src/**/.js")も指定可能
プロファイルルールは現在のプロファイルにのみ適用されます
グローバルルールはすべてのプロファイルに適用されます
チャットセッション間でコンテキストは保持されます

機能要約
コンテキストルールを使って、プロジェクト関連ファイルを Amazon Q に読み込ませることができる。
対象ファイルは、ファイル名や *.ts のようなワイルドカードで指定可能。
プロファイルごとのルールと、すべてのプロファイルで共有されるグローバルルールがある。
マッチしたファイルは、Q の回答精度を向上させるために使われる。
一度設定したルールやファイル情報は、セッションをまたいで保持される。
CLIコマンドでルールの追加・削除・表示が可能。

先ほど作成したこんにちわファイルを読み込ませてみたいと思います。

> context add test.txt

I'll add the file test.txt to your context. Let me check if this file exists and add its contents to your context.

[Tool Request - Trusted] Read from filesystem
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Reading file: /Users/hoge/Desktop/fuga/test.txt, all lines

Reading from filesystem...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Reading: test.txt

🟢 Completed in 0.0s


I've added the file test.txt to your context. The file contains the text "こんにちは" (which means "Hello" in 
Japanese).

This matches what was mentioned in your conversation summary, where it was noted that you previously used fs_write to
create this file with the content "こんにちは".

> これってさっきfs_readがTrustedだったはずだけど、自然言語でこのファイル読んでよって言うのと何が違うの?コマンド化している意味は?

ご質問ありがとうございます。「context add」コマンドと通常の自然言語でファイルを読むよう依頼することの違いについて説明
します。

「context add」は特別なサブコマンドで、ファイルの内容を読み込むだけでなく、そのファイルを「コンテキスト」として追加し
ます。これにより、そのファイルの内容が会話の背景情報として保持され、今後の会話で参照できるようになります。

一方、自然言語で「このファイルを読んでください」と依頼した場合は:
1. ファイルの内容は一時的に表示されるだけで、自動的にコンテキストとして保存されません
2. 単にファイルの内容を確認するだけの一回限りの操作になります

会話の要約にも記載されていたように、「/context」コマンドはコンテキストファイル管理のための特別な機能です。これにより
、特定のファイルを会話の背景情報として明示的に追加し、その情報を継続的に参照できるようになります。

fs_readツールがTrustedであっても、「context add」はファイルを読むだけでなく、そのファイルをコンテキストとして登録する
という追加の機能を提供しています。これにより、複雑なプロジェクトやコードベースについて会話する際に、重要なファイルを
背景情報として常に参照できるようになります。

※ /profileと /contextについては以下ちゃんとした記事があるようでした。
https://zenn.dev/ymotongpoo/articles/20250408-qdev-profile-beta


/quit

無言で終了しました。


終わりに

--help-allに表示されていた他のコマンドもこの後試すつもりですが、一記事としては長いので今回はここまでにしたいと思います。

有難うございました。

Discussion