claude_code
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| claude_code [2026/02/04 12:10] – nullpon | claude_code [2026/04/01 12:34] (現在) – nullpon | ||
|---|---|---|---|
| 行 3: | 行 3: | ||
| Anthropic社のコーディングAIエージェント | Anthropic社のコーディングAIエージェント | ||
| + | |||
| + | - [Claude Code by Anthropic | AI Coding Agent, Terminal, IDE(claude.com)](https:// | ||
| + | - [Claude Code overview - Claude Code Docs(code.claude.com)](https:// | ||
| + | |||
| + | ## 設定ファイル | ||
| + | |||
| + | 設定ファイルは3種類 | ||
| + | |||
| + | - グローバルスコープ: | ||
| + | - プロジェクトスコープ: | ||
| + | - ローカルスコープ: | ||
| + | |||
| + | 下のスコープほど優先度が高い。 | ||
| + | |||
| + | - グローバルスコープ: | ||
| + | - プロジェクトスコープ: | ||
| + | - ローカルスコープ: | ||
| + | |||
| + | ## CLAUDE.md | ||
| + | |||
| + | セッション開始時に読み込まれるプロンプト。セッション開始時に進みコンテキストが増えるほど影響が小さくなっていく。このため常に守って欲しいルール、例えば「コード修正したらテストを実行すること」といったルールを書くべきではない。(このようなルールはhookを使うといい) | ||
| + | |||
| + | CLAUDE.mdには、セッション開始時に「このプロジェクトは何?」といった作業の取り掛かりになる情報を与えるのが良い。 | ||
| + | |||
| ## ヘッドレスモード | ## ヘッドレスモード | ||
| 行 11: | 行 35: | ||
| cat error.log | claude -p ' | cat error.log | claude -p ' | ||
| ``` | ``` | ||
| + | |||
| + | プロンプトは次のようになる。この時カレントディレクトリのCLAUDE.mdも参照される | ||
| + | |||
| + | ``` | ||
| + | < | ||
| + | このエラーの原因を簡潔に説明してください | ||
| + | ``` | ||
| + | |||
| + | ## Claude Codeが実行するシェル環境 | ||
| + | |||
| + | (このセクションはv2.1.45時点での情報です) | ||
| + | |||
| + | claude codeはコマンドをbashまたはzshで実行する。この時の環境はログインシェルかつ非インタラクティブシェルである。つまりzshであれば`, | ||
| + | |||
| + | これはshell-snapshotという仕組みで実現されている。詳細は不明だがおそらく.zshrcの内容を先に実行して、その結果作成されるシェル関数、シェルオプション、コマンドエイリアス、PATH環境変数を~/ | ||
| + | |||
| + | この仕組みのためか、コマンドの遅延ロードのようなギミックを仕込んでいるとコマンドが正常に動かないことがある。shell-snapshotを作成するときは`CLAUDECODE`という環境変数がセットされている。これを見て遅延ロードしないように分岐すると良い | ||
| + | |||
| + | ```bash | ||
| + | if command -v rbenv >/ | ||
| + | if [[ $CLAUDECODE == 1 ]]; then | ||
| + | # claude codeはrbenvを即時ロードする | ||
| + | eval " | ||
| + | else | ||
| + | # 人間はrbenvを遅延ロードする | ||
| + | _rbenv_lazy_init() { | ||
| + | unfunction _rbenv_lazy_init rbenv ruby bundle gem rake rails irb 2>/ | ||
| + | eval " | ||
| + | } | ||
| + | for cmd in rbenv ruby bundle gem rake rails irb; do | ||
| + | eval " | ||
| + | done | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | ``` | ||
| + | |||
| ## AIの使い方の方針 | ## AIの使い方の方針 | ||
claude_code.1770207024.txt.gz · 最終更新: by nullpon