Metadata-Version: 2.4
Name: ide-bridge
Version: 0.2.0
Summary: Bridge IDE refactoring capabilities to AI coding tools
Author: IDE Bridge Team
License: MIT
Keywords: ai,claude,ide,mcp,refactoring,vscode
Requires-Python: >=3.12
Requires-Dist: dependency-injector>=4.40.0
Requires-Dist: mcp<2,>=1.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer>=0.15.0
Requires-Dist: websockets>=12.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pip-audit>=2.7.0; extra == 'dev'
Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.9.0; extra == 'dev'
Description-Content-Type: text/markdown

# IDE Bridge

> Bridge IDE refactoring capabilities to AI coding tools

IDE Bridge exposes your IDE's semantic operations (rename, find references, go to definition) to AI coding assistants like Claude Code, enabling accurate refactoring without text-based search/replace.

## Why?

| Operation | Without IDE Bridge | With IDE Bridge |
|-----------|-------------------|-----------------|
| Rename variable | grep + sed (breaks strings/comments) | Semantic rename (100% accurate) |
| Find references | Text search (false positives) | Actual code references only |
| Go to definition | Search for "def X" (misses re-exports) | Exact definition location |

## Quick Start

### Plugin-First Installation (Recommended)

1. Install the **IDE Bridge** extension from VS Code Marketplace
2. The extension will guide you through Claude Code integration
3. Done! Claude Code now has access to IDE refactoring tools

### Manual Installation

```bash
# Install Python package
pip install ide-bridge

# Register with Claude Code
ide-bridge mcp install

# Verify connection
ide-bridge status
```

## Usage

### CLI

```bash
# Rename a symbol
ide-bridge rename symbol src/main.py 42 10 newName

# Find all references
ide-bridge refs find src/main.py 42 10

# Go to definition
ide-bridge definition find src/main.py 42 10
```

### With Claude Code

Once installed, Claude Code automatically discovers IDE Bridge tools:

```
User: Rename the getUserById function to fetchUser

Claude: I'll use the IDE's rename functionality to safely rename this.
[Uses ide_rename_symbol]
Done! Renamed in 4 files.
```

## Architecture

```
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ Claude Code │────▶│ IDE Bridge  │────▶│   VSCode    │
│   (MCP)     │     │  (Sidecar)  │     │ (Extension) │
└─────────────┘     └─────────────┘     └─────────────┘
```

- **MCP Server**: Primary integration for Claude Code
- **CLI**: Universal access for any AI tool
- **WebSocket**: Low-latency communication with IDE

## Documentation

| Document | Description |
|----------|-------------|
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | System design |
| [IMPLEMENTATION_GUIDE.md](docs/IMPLEMENTATION_GUIDE.md) | Build guide |
| [USAGE_GUIDE.md](docs/USAGE_GUIDE.md) | Usage examples |
| [TECHNOLOGY_DECISIONS.md](docs/TECHNOLOGY_DECISIONS.md) | Tech stack rationale |

## Development

```bash
# Clone
git clone https://github.com/GvsSriRam/Claude_IDE_Bridge
cd Claude_IDE_Bridge

# Install Python dependencies
uv sync --all-extras --dev

# Install VSCode extension dependencies
cd packages/adapters/vscode && npm install && npm run build
cd ../../..

# Run tests
uv run pytest

# Type check
uv run mypy packages/ide-bridge/src

# Lint
uv run ruff check .
```

## Project Structure

```
ide-bridge/
├── packages/
│   ├── ide-bridge/        # Single Python package
│   │   ├── src/ide_bridge/
│   │   │   ├── core/      # Models, protocols, engine
│   │   │   ├── cli/       # CLI interface (Typer)
│   │   │   ├── mcp/       # MCP server (FastMCP)
│   │   │   ├── providers/ # IDE providers (VSCode, etc.)
│   │   │   └── transports/ # Communication (WebSocket)
│   │   └── tests/
│   └── adapters/
│       └── vscode/        # VSCode extension (TypeScript)
└── docs/                  # Documentation
```

## License

MIT
