This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Claude Code LM Studio API - OpenAI API互換のプロキシサーバーで、Claude Code SDKをバックエンドとして使用。既存のOpenAI APIクライアントを変更せずにClaude Codeの機能を利用可能。
- このプロジェクトの目標は OpenAI 互換API および LM Studio 互換API の実装 です。それぞれのサービスのプロキシーを作成するわけではありません。
npm run dev # 開発サーバー起動(自動リロード)
npm run build # TypeScriptビルド
npm run start # 本番サーバー起動npm run lint # Biomeによるリントチェック
npm run lint:fix # リント問題の自動修正
npm run format # コードフォーマット
npm run typecheck # TypeScript型チェック(ビルドなし)npm test # Vitestによるテスト実行(ウォッチモード)
npm run test:unit # 単体テスト実行(単発)
npm run test:watch # テストウォッチモードdocker-compose up -d # バックグラウンドで起動
docker-compose logs -f # ログ監視
docker-compose down # サービス停止- APIレイヤー: OpenAI API互換のHTTPエンドポイント
- 変換レイヤー: OpenAI API形式とClaude Code SDK間のデータ変換
- SDKレイヤー: Claude Code SDKを使用したClaude Codeとの通信
- セキュリティレイヤー: 認証、認可、ファイルシステム隔離
- Claude Code SDKとのインターフェース
- セッション管理とチャット/補完APIの実装
- ストリーミング対応
services/request-transformer.ts: OpenAI→Claude Code形式変換services/response-transformer.ts: Claude Code→OpenAI形式変換services/model-mapping.service.ts: モデル名マッピング
chat.controller.ts: チャット補完エンドポイントcompletions.controller.ts: テキスト補完エンドポイントmodels.controller.ts: モデル一覧エンドポイントembeddings.controller.ts: 埋め込み(未対応)
claude-code-auto: Claude Codeのデフォルトモデル選択claude-code-opus: 最高性能モデル(opus)claude-code-sonnet: バランス型モデル(sonnet)
環境変数CLAUDE_MODELで優先モデルを設定可能。
- 厳格モード有効:
strict: true - パスエイリアス:
@/*はsrc/*にマッピング - モジュール: NodeNext(ESモジュール)
- インデント: スペース2つ
- 行幅: 120文字
- クォート: シングル(文字列)、ダブル(JSX)
any型禁止、未使用変数はconst使用
- Dockerコンテナ内での隔離実行
- 読み取り専用ファイルシステム
- UID/GIDマッピング(デフォルト1000)
- Claude設定は
~/.claudeマウント
詳細な仕様は.kiro/specs/claude-code-openai-api/を参照:
requirements.md: 機能要件とユーザーストーリーdesign.md: 技術設計とアーキテクチャtasks.md: 実装タスク一覧
tests/配下にLM Studio API互換性テストが存在。将来的にLM Studio/Ollama APIとの互換性も計画。
- 作業前に必ず @.kiro/specs/claude-code-openai-api/design.md と @.kiro/specs/claude-code-openai-api/requirements.md を確認する必要があります。