ターミナルから直接コーディング支援!Claude Codeの使い方と特徴
Claude Code は,Anthropic が提供するコマンドラインツールです.開発者は直接ターミナルから Claude にアクセスし,コーディングタスクを助けてもらえます.
主な特徴
- ターミナルネイティブインターフェース: 開発者の自然な作業環境であるターミナルから直接利用可能
- コード理解・生成機能: 複雑なコードベースを理解し,新しいコードを生成
- ファイルシステム操作: プロジェクト内のファイルやディレクトリを読み取り,作成,更新が可能
- インテリジェントなタスク管理: 開発者の意図を理解し,複雑なタスクを自律的に実行
利用シナリオ
- 新機能の実装サポート
- バグの診断と修正
- 既存コードのリファクタリング
- 複雑なコード理解の支援
- テスト作成の自動化
インストール
実行に必要な要件はこちらです.
- オペレーティングシステム
- macOS 10.15+
- Ubuntu 20.04+/Debian 10+
- WSL経由のWindows
- ハードウェア:最小4GB RAM
- ソフトウェア:Node.js 18以上
node -v
でnode.jsのバージョンを確認し,18以上であれば以下のコマンドでインストールできます.
npm install -g claude-code
インストールできたら,早速 claude コマンドを実行してみます.
claude
色々でてくるのでひとまずEnterをおしておけばいいです.
プロンプト入力画面がでてくれば完了です.
コードの説明
Claude Codeを試すためにてきとーにシンプルな素数判定コードを書きました.全く同じである必要はまったくないんですが,同じ環境で試したい人向けに一応置いておきます.意図的にバグを含ませています.
プログラム
def is_prime(n):
if n % 2 == 0:
return False
for i in range(3, n):
if n % i == 0:
return False
else:
return True
n = int(input())
print(is_prime(n))
まずは/init
でCLAUDE.mdを作成します.中身はこんな感じになっていました.
# CLAUDE.md - Coding Assistant Guidelines
## Commands
- Run Python script: `python prime.py`
- Run tests: `pytest`
- Run single test: `pytest path/to/test.py::test_function_name`
- Lint code: `flake8`
- Type check: `mypy *.py`
## Code Style Guidelines
- **Imports**: Group standard library imports first, then third-party, then local
- **Formatting**: Follow PEP 8 guidelines (4 spaces indentation)
- **Types**: Add type hints to function parameters and return values
- **Naming**:
- snake_case for variables and functions
- CamelCase for classes
- UPPER_CASE for constants
- **Error Handling**: Use try/except blocks with specific exceptions
- **Functions**: Small, single-purpose functions with docstrings
- **Comments**: Use docstrings for functions; inline comments only when necessary
- **Testing**: Write tests for all new functionality
CLAUDE.md は,Claude Code を使用して claude init
コマンドを実行した際に生成されるドキュメントで,プロジェクトのコードスタイルやベストプラクティスを定義するためのガイドラインです.CLAUDE.md の内容は,プロジェクトの概要,コマンドの使用方法,コードスタイルのガイドライン,ベストプラクティスなどで構成されています.
続いて内容をもう少し詳しく説明してもらいましょう.
claude "explain this project"
と入力すると,以下のような内容が表示されます.
This is a simple Python project that checks if a number is prime.
It has a single file (prime.py) with a function that determines if a number is prime, then takes user input and prints the result.
このように,Claude Code はプロジェクトの概要を要約し,プロジェクトの構造や機能を説明してくれます.
このコードには問題点があるので,次はそれを修正していきましょう.
I'm seeing an error when I run this code.
と入力すると,Claude Code はエラーを特定し,修正するための提案を表示します.
There are several issues with the prime number checking algorithm:
1. It incorrectly returns False for n=2 (which is prime)
2. It doesn't handle n≤1 (which aren't prime)
3. The range should go up to sqrt(n), not n
4. The for-else construct isn't necessary
What specific error are you seeing when you run the code?
エラー内容を説明すると,
2 is a prime number, but it is printed as False.
と入力すると,Claude Code は修正案を提示します.
yesを押すと修正をしてくれました.正しくできているかテストしてみましょう.
add test cases for edge conditions in prime.py
run the new tests and fix any failures
と入力すると,Claude Code はテストケースを追加し,テストを実行して結果を表示します.
最初はエラーを出していましたが,何回かEnterキーを押すとテストが通るようになりました.
ここまでの実行に使ったコストを/cost
で確認することができます.
今回は$0.2034
でした.うーん意外と使うんですね.
コストが気になる場合は,
- 会話をコンパクトに: 文脈が大きくなる場合は/compactを使う
- 具体的なクエリを書く: 不必要なスキャンを引き起こす曖昧なリクエストは避ける
- 複雑なタスクを分解する: 大きなタスクを分割して集中的にやり取りする
- タスク間の履歴を消去する: コンテキストをリセットするには/clearを使う
を意識して使ってみるといいようです.
まとめ
今回はClaude Codeを試してみました.
ターミナルですべて完結するのはいいなと思いました.
CursorやAiderでも似たようなことができると思うのですが,僕は使ったことがないので使ったことある人は感想を教えてください.
今回は試していませんがPRを作成できたりmcpサーバーの構成設定ができたりするので,その辺も試してみたいです.
Claude Codeはまだリサーチプレビュー段階なので,これからの改善が楽しみです.
Discussion