> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI を使う

## TUI モード

任意のプロジェクトルートで `qodercli` を実行すると、既定の TUI（インタラクティブ）モードに入ります。CLI とはテキストで対話でき、スラッシュコマンドで専用機能を実行できます。

### 入力モード

TUI では複数の入力モードを利用できます。

| Command | Description                                       |
| :------ | :------------------------------------------------ |
| `>`     | ダイアログモード（デフォルト）。任意のテキストを入力して CLI と対話します           |
| `!`     | Bash モード。ダイアログモードで `!` を入力すると shell コマンドを直接実行できます |
| `/`     | スラッシュモード。ダイアログモードで `/` を入力して組み込みコマンドを開き、実行します     |
| `\` `⏎` | Enter で複数行入力を開始します                                |

### 組み込みツール

Qoder CLI には、ファイル/ディレクトリ操作や shell コマンド実行に使える Grep、Read、Write、Bash などのツールが組み込まれています。

ツール機能と制御方法の詳細については、[ツール](/ja/cli/tools) を参照してください。

### スラッシュコマンド

以下の組み込みスラッシュコマンドで、機能や設定にすばやくアクセスできます。

| Command          | Description                                     |
| :--------------- | :---------------------------------------------- |
| `/login`         | Qoder アカウントにログインする                              |
| `/help`          | TUI ヘルプを表示する                                    |
| `/init`          | プロジェクト内の `AGENTS.md` メモリファイルを初期化または更新する         |
| `/memory`        | ユーザー、プロジェクト、ローカル、自動メモリの概要を開く                    |
| `/quest`         | Spec 駆動の委任タスクを実行する                              |
| `/review`        | ローカル変更をコードレビューする                                |
| `/resume`        | セッションを一覧表示して再開する                                |
| `/clear`         | 現在のセッションの context 履歴をクリアする                      |
| `/compact`       | 現在のセッションの context 履歴を要約する                       |
| `/usage`         | 現在の Credit 使用状況を表示する                            |
| `/status`        | CLI ステータスを表示する：バージョン、モデル、アカウント、API 接続状況、ツール状態など |
| `/config`        | Qoder CLI のシステム設定を表示する                          |
| `/effort`        | 現在のモデルの推論 effort と関連モデルオプションを調整する               |
| `/agents`        | サブエージェントの一覧、作成、管理を行う                            |
| `/tasks`         | 実行中のバックグラウンドタスクを一覧表示する                          |
| `/release-notes` | Qoder CLI のリリースノートを表示する                         |
| `/vim`           | 入力を編集するため外部エディタを開く                              |
| `/feedback`      | Qoder CLI に関するフィードバックを送信する                      |
| `/quit`          | TUI を終了する                                       |
| `/logout`        | Qoder アカウントからログアウトする                            |

### 高度な起動オプション

CLI を起動する際は、以下のオプションで動作を制御できます。

| Command              | Description           | Example                                          |
| :------------------- | :-------------------- | :----------------------------------------------- |
| `-w`                 | ワークスペースディレクトリを指定する    | `qodercli -w /Users/demo/projects/nacos`         |
| `-c`                 | 直近のセッションを続行する         | `qodercli -c`                                    |
| `-r`                 | 指定したセッションを再開する        | `qodercli -r *******-c09a-40a9-82a7-a565413fa39` |
| `--allowed-tools`    | 指定したツールのみ許可する         | `qodercli --allowed-tools=Read,Write`            |
| `--disallowed-tools` | 指定したツールを禁止する          | `qodercli --disallowed-tools=Read,Write`         |
| `--max-turns`        | 最大ターン数                | `qodercli --max-turns=10`                        |
| `--worktree [name]`  | 別の Git worktree で開始する | `qodercli --worktree feature-a`                  |
| `--yolo`             | 権限チェックをスキップする         | `qodercli --yolo`                                |

権限関連の起動オプションと設定は [権限](/ja/cli/permissions) を参照してください。

## Print モード

Print モードは非対話型です。`qodercli --print` を実行するとこのモードに入り、出力は `--output-format` に従って表示されます。

### フラグ

グローバルオプションは任意のコマンドで使用できます。

| Option               | Description                | Example                                             |
| :------------------- | :------------------------- | :-------------------------------------------------- |
| `-p`                 | Agent を非対話モードで実行する         | `qodercli -p hi`                                    |
| `--output-format`    | 出力形式：text、json、stream-json | `qodercli --output-format=json`                     |
| `-w`                 | ワークスペースディレクトリを指定する         | `qodercli -w /Users/qoder_user/projects/qoder_demo` |
| `-c`                 | 直近のセッションを続行する              | `qodercli -c`                                       |
| `-r`                 | 指定したセッションを再開する             | `qodercli -r ********-c09a-40a9-82a7-a565413fa393`  |
| `--allowed-tools`    | 指定したツールのみ許可する              | `qodercli --allowed-tools=Read,Write`               |
| `--disallowed-tools` | 指定したツールを禁止する               | `qodercli --disallowed-tools=Read,Write`            |
| `--max-turns`        | 最大ターン数                     | `qodercli --max-turns=10`                           |
| `--worktree [name]`  | 別の Git worktree で開始する      | `qodercli --worktree feature-a -p "Fix login"`      |
| `--yolo`             | 権限チェックをスキップする              | `qodercli --yolo`                                   |

## Worktree

`--worktree [name]` を使うと、別の Git worktree で Qoder CLI セッションを開始できます。同じリポジトリに対して複数のセッションを並行して進め、メインのチェックアウトに触れたくない場合に便利です。

> 要件：Git リポジトリ内で実行し、ローカルに Git がインストールされていることを確認してください。

### worktree で開始する

```shell theme={null}
qodercli --worktree feature-a
qodercli --worktree feature-a "Implement the login fix"
qodercli --worktree
```

worktree 名を省略すると、Qoder CLI が自動で名前を生成します。worktree 名は合計 256 文字までで、英数字、ドット、アンダースコア、ハイフン、`/` で区切ったセグメントを使用できます。`/` を含む名前は、ディレクトリ名とブランチ名では `+` に変換されます。

新しい名前付き worktree を作成すると、Qoder CLI は `<repo>/.qoder/worktrees/<flattened-name>` に配置し、`worktree-<flattened-name>` という一時ブランチを使います。同じ名前の worktree がすでにある場合は、新しく作らずにそのディレクトリを再利用します。

新しい worktree は、利用できる場合はローカルの `origin/HEAD` が指す既定ブランチの ref から始まります。`origin/HEAD` が設定されていない場合、Qoder CLI は `origin/main` を解決または取得できればそれを使い、できなければ現在の `HEAD` にフォールバックします。最新のリモートコミットから始める必要がある場合は、先に `git fetch origin` を実行してください。

### ローカルファイルをコピーする

新しい worktree はクリーンなチェックアウトなので、`.env` などの未追跡ファイルは既定では含まれません。新しい worktree にローカルファイルをコピーするには、リポジトリルートに `.worktreeinclude` を追加します。

```text theme={null}
.env
.env.local
config/secrets.json
```

`.worktreeinclude` に一致し、かつ Git で ignore されているファイルだけがコピーされます。プロジェクトローカル設定の `.qoder/settings.local.json` がある場合は自動でコピーされます。

### 再開とクリーンアップ

セッション終了時には、worktree のパスと再開用コマンドが表示されます。

```shell theme={null}
cd <worktree-path> && qodercli --resume <session-id>
```

対話的に終了すると、worktree 内の未コミットファイルと新しいコミットが確認されます。クリーンな worktree は自動削除できます。ローカルファイルやコミットがある場合は、終了時のプロンプトで保持または削除を選択します。削除すると、それらの変更は破棄され、一時ブランチも削除されます。

worktree を手動で削除するには、次を実行します。

```shell theme={null}
git worktree remove <worktree-path>
```

`worktree-<flattened-name>` ブランチが不要になった場合は、別途削除してください。

```shell theme={null}
git branch -d worktree-<flattened-name>
```

### セッション中に worktree を使う

実行中のセッションでも、隔離された worktree で作業するよう Qoder CLI に依頼できます。Qoder CLI は現在のセッション用に worktree を作成して移動し、必要に応じて worktree を出て元の作業ディレクトリを復元できます。

Subagent でも worktree 隔離を使用できます。ファイル編集を別のチェックアウトで実行したい Markdown Subagent には、定義に `isolation: worktree` を追加します。クリーンな Subagent worktree は Subagent 終了後に削除され、変更がある worktree は保持されます。設定方法は [サブエージェント](/ja/cli/subagent) を参照してください。

セッション中に作成する worktree と worktree 隔離を使う Subagent では、`WorktreeCreate` Hook でカスタム worktree パスを返すことができます。対応する `WorktreeRemove` のクリーンアップ動作については [Hooks](/ja/cli/hooks) を参照してください。`--worktree` 起動オプション自体は Git リポジトリ内での使用を前提とし、Git で worktree を作成します。

ディレクトリやブランチを完全に手動で管理する場合は、Git で worktree を作成してから、そのディレクトリで Qoder CLI を起動します。

```shell theme={null}
git worktree add ../project-feature-a -b feature-a
cd ../project-feature-a && qodercli
```

## メモリ

Qoder CLI は `AGENTS.md` ファイルと任意の自動メモリで、セッションをまたいだ context を保持します。よく使うファイルは、ユーザーレベルの `~/.qoder/AGENTS.md`、プロジェクトレベルの `${project}/AGENTS.md`、ローカルプロジェクトレベルの `${project}/AGENTS.local.md` です。

### 自動生成

対象プロジェクトで TUI を起動し、`/init` を入力すると、プロジェクトディレクトリに `AGENTS.md` が生成されます。

### 手動で管理

* プロジェクト内に `AGENTS.md` を作成し、内容を編集します。
* TUI で `/memory` を入力し、ユーザー、プロジェクト、ローカルのメモリファイルを管理します。
* 自動メモリが有効な場合は、`/memory` で auto-memory folder を開くか、`/memory manage` で自動保存されたメモリファイルを管理します。

詳しくは [メモリ](/ja/cli/memory) を参照してください。
