ATAC - ターミナル API クライアント チートシート
ATAC (Arguably a Terminal API Client) はターミナル内で完全に実行される Postman/Insomnia スタイルの API クライアント。その哲学は無料、アカウント不要、オフライン — リクエストコレクションは Git にコミット可能な平ファイルとして保存され、クラウドまたはログインがなく、単一の Rust バイナリとして実行。通常の HTTP メソッド、認証スキーム、環境/変数、プリ/ポスト要求スクリプトをサポートし、既存 Postman と Insomnia コレクションをインポート可能。
インストール
| プラットフォーム | コマンド |
|---|
| Cargo (すべてのプラットフォーム) | cargo install atac |
| macOS (Homebrew) | brew install atac |
| Arch Linux (AUR) | yay -S atac |
| バイナリ | GitHub Releases ページからダウンロード |
| 確認 | atac --version |
起動
| コマンド | 説明 |
|---|
atac | デフォルトコレクションディレクトリで開く |
atac -d ~/api-collections | コレクション用に特定ディレクトリを使用 |
atac --help | 完全オプションリスト |
| Postman インポート | ATAC を指す Postman エクスポート; コンバート |
レイアウトとナビゲーション
| キー | アクション |
|---|
Tab / Shift+Tab | ペーン間で移動 |
↑ / ↓ または j / k | リスト内で移動 |
Enter | 開く/選択 |
q | 終了 |
? / h | ヘルプ |
Ctrl+c | キャンセル / 終了 |
コレクションとリクエスト
| アクション | 方法 |
|---|
| 新規コレクション | コレクションペーンから作成 |
| 新規リクエスト | コレクション下にリクエスト追加 |
| 名前変更/削除 | ツリーのアイテムを管理 |
| ストレージ | すべてファイルとして保存 (JSON/YAML) → Git フレンドリー |
リクエストを構築
| フィールド | 注記 |
|---|
| メソッド | GET, POST, PUT, PATCH, DELETE, … |
| URL | {{variable}} 補間をサポート |
| クエリパラメータ | 編集可能キー/値テーブル |
| ヘッダー | キー/値テーブル |
| ボディ | 生, JSON, フォーム, マルチパート |
| 認証 | Basic, Bearer トークン、その他 |
送信とレスポンス
| キー | アクション |
|---|
| リクエスト送信 | 現在のリクエストを実行 (非同期) |
| レスポンス表示 | ステータス, 時刻, サイズ, ヘッダー, ボディ |
| プリティビュー | JSON/レスポンス フォーマット |
| コピー | レスポンスボディをコピー |
環境と変数
| コンセプト | 用途 |
|---|
| 環境ファイル | {{base_url}}, トークン、他を定義 |
| 変数補間 | URL, ヘッダー, ボディで {{var}} |
| 環境切り替え | リクエスト編集なしで Dev/staging/prod |
スクリプティング
| フック | 目的 |
|---|
| プリ要求スクリプト | 送信前に変数/認証をセットアップ |
| ポスト要求スクリプト | レスポンスから値を抽出 (例: トークン) |
一般的なワークフロー
# API コレクションをリポで保持してターミナルで開く
atac -d ./api-tests # リクエスト編集、ファイルとして保存しコミット可能
# 既存 Postman コレクションをインポート、アカウント不要で実行
atac # Postman エクスポートをインポート、リクエスト送信
# リクエストをチェーン: ポスト要求スクリプトでトークンキャプチャ、{{token}} で再利用
ATAC vs その他の API クライアント
| アスペクト | ATAC | Postman | Yaak | Bruno |
|---|
| インターフェース | ターミナル TUI | デスクトップ GUI | デスクトップ GUI | デスクトップ GUI |
| アカウント | なし | 任意/クラウド | なし | なし |
| ストレージ | 平ファイル (Git) | クラウド/ローカル | ファイル (Git) | ファイル (Git) |
| 最適な用途 | ターミナルファースト、SSH、CI | チーム、クラウド同期 | GUI + Git | GUI + Git |
リソース