Claude Code on the webで空リポジトリから15分でBMI計算CLIツールを作成

目次

はじめに

先日、ClaudeでWebアプリのコードを書いてもらっているときに、ふと気づきました。

「これ、空のGitHubリポジトリを用意しておいて、Claude Code on the webに『アプリ作って』って頼んだら、ゼロから完成品が作れるんじゃないか?」

そこで実際に試してみることにしました。この記事では、Claude Code on the webという新機能を使って、空のリポジトリから実用的なCLIツールを作成した過程を紹介します。

Claude Code on the webとは

Claude Code on the webは、2024年11月にAnthropicがリリースした新機能です。

主な特徴は以下の通りです。

  • ブラウザから直接コーディングタスクを依頼できる
  • GitHubリポジトリと連携して自動的にコードを作成
  • クラウド上の隔離環境で安全に作業
  • 複数タスクを並列実行可能
  • 自動的にブランチ作成とPR生成

詳細は公式ドキュメントで確認できます。

試してみたプロジェクト

初回テストなので、シンプルなものにしました。

BMI計算CLIツール

  • 身長(cm)と体重(kg)を入力
  • BMI値を計算
  • 体型カテゴリー(低体重/普通体重/過体重/肥満)を表示

医療系の仕事をしているので、実用的でありながら簡単なツールとして選びました。

環境・前提条件

  • GitHubアカウント
  • Claude Pro/Maxプラン(Claude Code on the webはリサーチプレビュー)
  • ブラウザ(今回はスマホのChromeを使用)

ハマったポイント

空のリポジトリでmainブランチが作られない問題

最初、GitHubで完全に空のリポジトリ(README等なし)を作成してClaude Code on the webを実行したところ、Claudeが作業用ブランチを直接作成してしまい、mainブランチが存在しない状態になってしまいました。

これは空のリポジトリには初期コミットがなく、デフォルトブランチが作られていなかったためです。

解決方法

完成後に、Claudeが作成したブランチを手動でmainにリネームしました。

今後同じことをする場合は、以下のいずれかの方法をおすすめします。

方法1: GitHubでREADMEを初期化(推奨)

リポジトリ作成時に「Add a README file」にチェックを入れるだけで、初期コミット+mainブランチが作られます。

方法2: ローカルで初期化

git clone https://github.com/username/repo.git
cd repo
echo "# Project Name" > README.md
git add README.md
git commit -m "Initial commit"
git push -u origin main

実行手順

1. GitHubリポジトリ作成

リポジトリ名: bmi-cli
公開設定: Public
初期化: なし(今回はハマったので空で作成)

リポジトリURL: https://github.com/kwrkb/bmi-cli.git

2. Claude Code on the webでタスク実行

claude.com/code にアクセスして、以下のプロンプトを入力しました。

Pythonで簡単なBMI計算CLIツールを作成してください。

要件:
- 身長(cm)と体重(kg)をコマンドライン引数で受け取る
- BMI値を計算して表示
- BMIカテゴリー(低体重/普通体重/肥満1度/肥満2度など)も表示
- README.mdに使い方と実行例を記載
- requirements.txt(必要なら)

シンプルに1ファイルで完結させてください。テストは不要です。

3. 作業完了を待つ

Claudeが自動的に以下を実行しました。

  1. リポジトリをクラウド環境にクローン
  2. コード作成
  3. README作成
  4. 新しいブランチにコミット&プッシュ

所要時間: わずか14分

生成されたコード

ファイル構成

bmi-cli/
├── README.md
└── bmi.py

シンプルに2ファイルのみ。テスト不要と指定したので、無駄がありません。

bmi.py の特徴

生成されたコードは予想以上に高品質でした。

1. argparseで柔軟な引数処理

# 両方の書き方に対応
python bmi.py 170 65
python bmi.py --height 175 --weight 70

2. 適切な関数分離

def calculate_bmi(height_cm, weight_kg):
    """BMIを計算する"""
    height_m = height_cm / 100
    bmi = weight_kg / (height_m ** 2)
    return bmi

def get_bmi_category(bmi):
    """BMI値からカテゴリーを判定する(WHO基準)"""
    if bmi < 18.5:
        return "低体重 (Underweight)"
    elif 18.5 <= bmi < 25:
        return "普通体重 (Normal weight)"
    elif 25 <= bmi < 30:
        return "過体重 (Overweight)"
    else:
        return "肥満 (Obese)"

3. エラーハンドリング

if height <= 0 or weight <= 0:
    print("エラー: 身長と体重は正の数でなければなりません。", file=sys.stderr)
    sys.exit(1)

4. 完全な日本語対応

README、エラーメッセージ、カテゴリー表示まで、すべて日本語で出力されます。プロンプトで指定していないのに、自然に日本語対応されていました。

5. docstring完備

各関数に適切なdocstringが付いているため、コードの保守性も高いです。

README.md

使い方や実行例が丁寧に説明されており、すぐに使えるドキュメントになっていました。

感想とポイント

今回、Claude Code on the webを初めて使ってみて、以下のポイントに驚きました。

良かった点

  • 圧倒的に速い: 14分で完成品
  • 高品質: argparse、エラーハンドリング、docstring完備
  • 日本語対応が自然: プロンプトに指定していないのに日本語で出力
  • WHO基準: BMIカテゴリーも医学的に正確
  • 柔軟な設計: 複数の引数形式に対応

注意点

  • 空のリポジトリ問題: 初期コミットがないとブランチ管理が複雑になる
  • 完全自動ではない: 空リポジトリの場合は事後調整が必要

まとめ

Claude Code on the webを使えば、以下のことが可能です。

  • 空のGitHubリポジトリから実用的なツールを自動生成
  • わずか15分程度で高品質なコード完成
  • ブラウザだけで完結(ターミナル不要)
  • 複数のプロジェクトを並列で開発可能

今回のように「簡単なツールを試しに作ってみたい」というケースでは非常に便利です。

ただし、空のリポジトリを使う場合は、GitHubでREADMEを初期化してからClaude Code on the webを実行することをおすすめします。

同じように試してみたい方の参考になれば幸いです。

参考リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次