Web Analytics

claude-sh

⭐ 111 stars Japanese by jdcodes1

claude.sh

Claudeコードをbashスクリプトに書き直しました。約1,500行。npmパッケージは一切使用していません。

なぜ

元のClaudeコードは約380,000行のTypeScriptで、266のnpm依存関係があります。これはcurlとjqだけでbashで同じコア機能を実現しています。

特徴

インストール

git clone https://github.com/jdcodes1/claude.sh.git
cd claude.sh
chmod +x claude.sh

依存関係

実行時バージョンは .tool-versions に固定されています。mise でインストールしてください:

mise install

使い方

export ANTHROPIC_API_KEY="sk-ant-..."
./claude.sh

環境変数

| 変数 | デフォルト | 説明 | | --- | --- | --- | | ANTHROPIC_API_KEY | (必須) | あなたのAnthropic APIキー | | CLAUDE_MODEL | claude-sonnet-4-6 | 使用するモデル | | CLAUDE_MAX_TOKENS | 8192 | 最大出力トークン数 | | ANTHROPIC_API_URL | https://api.anthropic.com | APIのベースURL | | CLAUDE_SH_PERMISSIONS | ask | 許可モード:askallow、またはdeny |

コマンド

/help      — Show help
/cost      — Show session cost
/model     — Show/change model
/clear     — Clear conversation
/save      — Save current session
/resume    — List/resume saved sessions
/commit    — Auto-generate a git commit
/diff      — Show git diff
/quit      — Exit

セッションを再開する

# List saved sessions
./claude.sh
/resume

Resume by number

/resume 1

Resume from CLI

./claude.sh --resume 20240101-120000-12345

アーキテクチャ

claude.sh          # Main REPL loop, slash commands, process_turn()
lib/
  api.sh           # Anthropic API client, SSE streaming via FIFO, retry
  json.sh          # Message construction, session persistence, CLAUDE.md, git context
  tools.sh         # 6 tool implementations + permission system
  tui.sh           # ANSI colors, spinner, display helpers

仕組み

比較

| | claude.sh | Claude Code (TypeScript) | | --- | --- | --- | | コード行数 | 約1,500行 | 約380,000行 | | 依存関係 | curl, jq | 266 npmパッケージ | | バイナリサイズ | 0(スクリプト) | 約200MB node_modules | | 起動時間 | 即時 | 約500ms |

テスト

テストは bats(Bash Automated Testing System)を使用:

bats test/

License

MIT

--- Tranlated By Open Ai Tx | Last indexed: 2026-07-04 ---