# pi-cursor

Cursor ACP extension for [pi](https://github.com/mariozechner/pi) - Use Cursor's AI agent via the Agent Client Protocol.

## Features

- **Delegate tasks to Cursor Agent** - Offload complex coding tasks with full tool access
- **Multiple modes** - `agent` (full access), `plan` (read-only), `ask` (Q&A)
- **Built-in tools** - `cursor_agent`, `cursor_status`, `cursor_disconnect`
- **Commands** - `/cursor:connect`, `/cursor:mode`, `/cursor:help`, `/cursor:disconnect`
- **Skill included** - Auto-detected by pi agents for guided usage

## Prerequisites

- [Cursor IDE](https://cursor.com) installed
- [pi](https://github.com/mariozechner/pi) installed

## Installation

### Option 1: Clone & Symlink (Recommended for Development)

```bash
git clone https://github.com/YOUR_USER/pi-cursor.git
cd pi-cursor
pi install ./extensions
```

### Option 2: Direct Clone to Extensions Directory

```bash
pi install https://github.com/YOUR_USER/pi-cursor.git
```

### Option 3: Manual Installation

```bash
# Install Cursor CLI
curl https://cursor.com/install -fsS | bash

# Authenticate
agent login

# Create symlink
mkdir -p ~/.pi/agent/extensions
ln -sf /path/to/pi-cursor/extensions/cursor-acp.ts ~/.pi/agent/extensions/cursor-acp.ts
```

## Setup Cursor CLI

1. Install the Cursor Agent CLI:
   ```bash
   curl https://cursor.com/install -fsS | bash
   ```

2. Authenticate:
   ```bash
   agent login
   ```

3. Verify installation:
   ```bash
   agent --version
   ```

## Usage

### Commands in pi

```
/cursor:connect     # Start Cursor Agent session
/cursor:mode agent  # Switch to agent mode (default)
/cursor:mode plan   # Switch to read-only planning mode
/cursor:mode ask    # Switch to Q&A mode
/cursor:disconnect  # End session
/cursor:help        # Show help
```

### Tools

#### `@cursor_agent(prompt, mode?)`

Delegate a task to Cursor Agent.

**Examples:**
```
@cursor_agent Write a README for this project

@cursor_agent Plan: Analyze the codebase structure

@cursor_agent Fix the bug in src/auth/login.ts
```

#### `cursor_status`

Check if Cursor CLI is installed and authenticated.

#### `cursor_disconnect`

End the Cursor Agent session.

## How It Works

```
pi → cursor-acp extension → agent acp (CLI process) → Cursor Cloud
```

The extension spawns an `agent acp` child process and communicates via JSON-RPC over stdio.

## Troubleshooting

### "Command not found: agent"

The Cursor CLI isn't installed. Run:
```bash
curl https://cursor.com/install -fsS | bash
```

### "Authentication required"

Run `agent login` to authenticate with your Cursor account.

### Extension not loading

Check that the symlink exists:
```bash
ls -la ~/.pi/agent/extensions/cursor-acp.ts
```

## License

MIT
