Rene Fichtmueller b943bb1d59 feat: Implement Phase 2G.1 — Claude Code IDE bridge
- Create @llm-gateway/claude-code-bridge package
- Support explain, refactor, test, document, fix commands
- Automatic fallback to local Ollama when gateway unavailable
- Health monitoring and confidence tracking
- Comprehensive test suite covering all completion methods
- Follows ADR-0005 agent integration protocol
2026-04-19 22:02:06 +02:00

124 lines
3.2 KiB
Markdown

# Claude Code Bridge
Integration layer between Claude Code IDE and LLM Gateway.
## Overview
Provides a high-level API for Claude Code to leverage the LLM Gateway's multi-model orchestration, confidence gating, and fallback capabilities.
## Installation
```bash
npm install @llm-gateway/claude-code-bridge
```
## Usage
```typescript
import { ClaudeCodeBridge } from '@llm-gateway/claude-code-bridge'
const bridge = new ClaudeCodeBridge({
gatewayUrl: 'https://llm-gateway.context-x.org',
agentId: 'claude-code-ide',
ideVersion: '1.0.0',
extensionVersion: '1.0.0',
ollamaUrl: '192.168.178.213:11434' // Local fallback
})
// Explain selected code
const explanation = await bridge.explain(context, selectedCode)
// Refactor code
const refactored = await bridge.refactor(context, selectedCode)
// Generate tests
const tests = await bridge.test(context, selectedCode)
// Add documentation
const docs = await bridge.document(context, selectedCode)
// Fix errors
const fix = await bridge.fixError(errorMessage, context)
// Check health
const status = await bridge.health()
```
## Features
- **Code Explanation**: Analyze and explain code snippets
- **Refactoring**: Suggest improvements to existing code
- **Test Generation**: Automatically generate test cases
- **Documentation**: Create JSDoc/TSDoc comments
- **Error Fixing**: Debug and fix code errors
- **Fallback**: Automatic fallback to local Ollama when gateway unavailable
- **Confidence Tracking**: Monitor model confidence in responses
- **Token Counting**: Track usage for billing/analytics
## Architecture
The bridge implements the three-layer agent integration stack from ADR-0005:
1. **Transport Layer**: HTTP/WebSocket communication with gateway
2. **Adapter Layer**: ClaudeCodeBridge wraps client SDK
3. **Protocol Layer**: Standardized request/response format
## Health Status
```typescript
const health = await bridge.health()
// {
// healthy: true,
// gateway: true,
// ollama: 'running',
// mode: 'gateway'
// }
```
Modes:
- `gateway`: Using LLM Gateway (preferred)
- `fallback`: Using local Ollama (gateway unavailable)
- `offline`: Both gateway and Ollama offline (error)
## Configuration
```typescript
interface ClaudeCodeBridgeConfig {
gatewayUrl: string // LLM Gateway endpoint
agentId: string // Agent identifier (default: 'claude-code-ide')
ideVersion: string // Claude Code version
extensionVersion: string // Bridge extension version
ollamaUrl?: string // Local Ollama URL (optional)
apiKey?: string // Gateway API key (if required)
requestTimeout?: number // Request timeout in ms (default: 30000)
}
```
## Response Format
```typescript
interface ClaudeCodeResponse {
text: string // Generated response
tokens: {
input: number // Input tokens
output: number // Output tokens
}
model: string // Model used
fallback: boolean // Whether using fallback
confidence: number // 0-1 confidence score
}
```
## Testing
```bash
npm test
```
Tests cover:
- Health checks
- All completion methods (explain, refactor, test, document, fix)
- Fallback behavior
- Token limiting
- Metadata tracking