Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 45 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,50 @@ Xcode's `mcpbridge` returns tool responses in the `content` field but omits the
- Python 3.7+
- **Xcode Tools MCP Server enabled** (see below)

> ⚠️ **Important:** You MUST enable Xcode Tools MCP in Xcode settings:
> 1. Open **Xcode** > **Settings** (⌘,)
> 2. Select **Intelligence** in the sidebar
> 3. Under **Model Context Protocol**, toggle **Xcode Tools** ON
>
> If you see "Found 0 tools" in your MCP client logs, this setting is not enabled.

### Cursor Quick Setup

If you use **Cursor**, no installation is needed — just add this to `~/.cursor/mcp.json`:

```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": ["--from", "mcpbridge-wrapper", "mcpbridge-wrapper"]
}
}
}
```

With Web UI dashboard (optional — adds real-time monitoring at http://localhost:8080):

```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": [
"--from",
"mcpbridge-wrapper",
"mcpbridge-wrapper",
"--web-ui",
"--web-ui-port",
"8080"
]
}
}
}
```

Restart Cursor and you're done. For other clients or installation methods, read on.

### Python Environment Setup (Development)

If you plan to run `make install`, `pytest`, or other development commands, create and activate a virtual environment first. This avoids Homebrew Python's `externally-managed-environment` (PEP 668) error.
Expand All @@ -56,13 +100,6 @@ which pip

Both should point to `.venv/bin/...` while the environment is active.

> ⚠️ **Important:** You MUST enable Xcode Tools MCP in Xcode settings:
> 1. Open **Xcode** > **Settings** (⌘,)
> 2. Select **Intelligence** in the sidebar
> 3. Under **Model Context Protocol**, toggle **Xcode Tools** ON
>
> If you see "Found 0 tools" in your MCP client logs, this setting is not enabled.

### Installation

#### Option 1: Using uvx (Recommended - Easiest)
Expand Down Expand Up @@ -147,39 +184,7 @@ Options:

#### Cursor

**Using uvx (Recommended):**

Edit `~/.cursor/mcp.json`:

```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": ["--from", "mcpbridge-wrapper", "mcpbridge-wrapper"]
}
}
}
```

**Using uvx with Web UI (Optional):**
```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": [
"--from",
"mcpbridge-wrapper",
"mcpbridge-wrapper",
"--web-ui",
"--web-ui-port",
"8080"
]
}
}
}
```
For **uvx** setup (recommended), see [Cursor Quick Setup](#cursor-quick-setup) above.

**Using manual installation:**

Expand Down
4 changes: 4 additions & 0 deletions SPECS/ARCHIVE/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
| P10-T3 | [P10-T3_Recover_Main_Branch_After_Accidental_Web_UI_Merge/](P10-T3_Recover_Main_Branch_After_Accidental_Web_UI_Merge/) | 2026-02-11 | PASS |
| FU-REBUILD-P10-T1-5 | [FU-REBUILD-P10-T1-5_Validate_Documentation_Paths/](FU-REBUILD-P10-T1-5_Validate_Documentation_Paths/) | 2026-02-11 | PASS |
| FU-REBUILD-P10-T1-6 | [FU-REBUILD-P10-T1-6_Fix_Uninstall_Asymmetry/](FU-REBUILD-P10-T1-6_Fix_Uninstall_Asymmetry/) | 2026-02-12 | PASS |
| P7-T12 | [P7-T12_Move_Cursor_UVX_Before_Installation/](P7-T12_Move_Cursor_UVX_Before_Installation/) | 2026-02-12 | PASS |

## Historical Artifacts

Expand Down Expand Up @@ -110,6 +111,7 @@
| [FOLLOWUP_P10-T3_Main_Branch_Recovery.md](P10-T3_Recover_Main_Branch_After_Accidental_Web_UI_Merge/FOLLOWUP_P10-T3_Main_Branch_Recovery.md) | Follow-up report for P10-T3 |
| [REVIEW_FU-REBUILD-P10-T1-5_Documentation_Paths.md](FU-REBUILD-P10-T1-5_Validate_Documentation_Paths/REVIEW_FU-REBUILD-P10-T1-5_Documentation_Paths.md) | Review report for FU-REBUILD-P10-T1-5 |
| [REVIEW_FU-REBUILD-P10-T1-6_Uninstall_Asymmetry.md](FU-REBUILD-P10-T1-6_Fix_Uninstall_Asymmetry/REVIEW_FU-REBUILD-P10-T1-6_Uninstall_Asymmetry.md) | Review report for FU-REBUILD-P10-T1-6 |
| [REVIEW_P7-T12_Cursor_Quick_Setup.md](P7-T12_Move_Cursor_UVX_Before_Installation/REVIEW_P7-T12_Cursor_Quick_Setup.md) | Review report for P7-T12 |

## Archive Log

Expand Down Expand Up @@ -174,3 +176,5 @@
| 2026-02-12 | P8-T1 | Archived REVIEW_P8-T1_Current_Branch_Validation report |
| 2026-02-12 | FU-REBUILD-P10-T1-6 | Archived Fix_Uninstall_Asymmetry (PASS) |
| 2026-02-12 | FU-REBUILD-P10-T1-6 | Archived REVIEW_FU-REBUILD-P10-T1-6_Uninstall_Asymmetry report |
| 2026-02-12 | P7-T12 | Archived Move_Cursor_UVX_Before_Installation (PASS) |
| 2026-02-12 | P7-T12 | Archived REVIEW_P7-T12_Cursor_Quick_Setup report |
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# P7-T12 — Move Cursor IDE uvx Settings Before Installation Instructions in README

**Priority:** P1
**Phase:** Phase 7: Documentation
**Dependencies:** P7-T10

## Objective

Reorder README.md so the Cursor IDE uvx configuration (basic and Web UI variants) appears before the Installation section. Cursor is the primary target client, and most users only need to paste a JSON block into `~/.cursor/mcp.json` — they shouldn't have to scroll through five installation options first.

## Success Criteria

1. The Cursor uvx basic `mcp.json` snippet is visible in the README before the "### Installation" heading.
2. The Cursor uvx-with-Web-UI `mcp.json` snippet (`--web-ui`, `--web-ui-port 8080`) is shown alongside the basic snippet.
3. All other README content (installation options, other client configs, usage, etc.) remains intact and in a logical order.
4. No broken markdown links, formatting issues, or content loss.
5. The Configuration > Cursor section no longer duplicates the uvx snippets that were moved up (but retains manual / venv options).

## Plan

### Phase A: Extract and Relocate

1. **Create a new section** between "Quick Start > Prerequisites / Python Environment" and "### Installation" titled something like "### Cursor Quick Setup (Recommended)" or similar.
2. **Move** the two Cursor uvx snippets (basic + Web UI) into this new section, with brief instructions to paste into `~/.cursor/mcp.json`.
3. **Remove** the "Using uvx (Recommended)" and "Using uvx with Web UI" entries from the Configuration > Cursor subsection to avoid duplication.
4. **Add a note** in Configuration > Cursor referencing the Quick Setup section above for uvx users.

### Phase B: Validate

1. Review the entire README top-to-bottom for logical flow.
2. Check that no markdown anchors or cross-references are broken.
3. Run quality gates (pytest, ruff, mypy) to ensure no code was accidentally affected.

## Affected Files

- `README.md` — section reorder

## Notes

- No code changes required; documentation-only task.
- Other client configurations (Claude Code, Codex CLI, Zed, Kimi) stay in the Configuration section unchanged.
- The full Cursor subsection (manual install, venv options) remains in Configuration for users who need it.

---
**Archived:** 2026-02-12
**Verdict:** PASS
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# P7-T12 Validation Report

**Task:** Move Cursor IDE uvx settings before installation instructions in README
**Date:** 2026-02-12
**Verdict:** PASS

## Changes Made

1. **Added new "Cursor Quick Setup" section** (lines 66-101) between Prerequisites and Installation in README.md. Contains:
- Basic uvx `mcp.json` snippet
- uvx-with-Web-UI `mcp.json` snippet (`--web-ui`, `--web-ui-port 8080`)
- Brief intro text and "restart Cursor" CTA

2. **Replaced duplicated uvx entries** in Configuration > Cursor with a cross-reference link: `For **uvx** setup (recommended), see [Cursor Quick Setup](#cursor-quick-setup) above.`

3. **Preserved** all manual installation, venv, and Web UI options in the Configuration > Cursor subsection.

## Acceptance Criteria Verification

| Criterion | Status |
|-----------|--------|
| Cursor uvx basic snippet visible before "### Installation" heading | PASS — lines 70-78 |
| Cursor uvx-with-Web-UI snippet shown alongside basic snippet | PASS — lines 83-98 |
| All other README content intact and in logical order | PASS — no content removed, order preserved |
| No broken markdown links or formatting issues | PASS — verified top-to-bottom |
| No duplicate uvx snippets in Configuration > Cursor | PASS — replaced with cross-reference |

## Quality Gate Results

| Gate | Result |
|------|--------|
| pytest | 296 passed, 9 skipped |
| ruff check src/ | All checks passed |
| mypy src/ | Success: no issues found in 12 source files |

## Files Modified

- `README.md` — section reorder (documentation-only change)
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## REVIEW REPORT — P7-T12 Cursor Quick Setup

**Scope:** 6 commits on `claude/reorder-readme-sections-eEEGI`
**Files:** 1 code file (README.md), plus workflow artifacts (Workplan, next.md, PRD, validation report, INDEX.md)

### Summary Verdict
- [x] Approve

### Critical Issues
None.

### Secondary Issues
None.

### Architectural Notes
- The new "Cursor Quick Setup" section sits at the ideal position: after prerequisites (so the user knows about Xcode MCP toggle) but before the five installation options. This mirrors the common "TL;DR" pattern in popular open-source README files.
- Cross-reference link `[Cursor Quick Setup](#cursor-quick-setup)` in Configuration > Cursor avoids content duplication while keeping the Configuration section navigable for manual/venv users.
- No code changes; documentation-only, so no risk of regression.

### Tests
- All 296 tests pass (9 skipped, as before).
- Coverage unaffected (documentation-only change).
- ruff and mypy clean.

### Next Steps
- No follow-up tasks required. The change is self-contained and complete.
2 changes: 1 addition & 1 deletion SPECS/INPROGRESS/next.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ The previously selected task has been archived.

## Recently Archived

- 2026-02-12 — P7-T12: Move Cursor IDE uvx settings before installation instructions in README (PASS)
- 2026-02-12 — FU-REBUILD-P10-T1-6: Fix uninstall.sh package detection/removal asymmetry and venv cleanup (PASS)
- 2026-02-11 — FU-REBUILD-P10-T1-5: Validate and fix documentation paths for local-running MCP server with Web UI (PASS)
- 2026-02-11 — P10-T3: Recover main branch after accidental Web UI merge (PASS)

## Suggested Next Tasks

Expand Down
15 changes: 14 additions & 1 deletion SPECS/Workplan.md
Original file line number Diff line number Diff line change
Expand Up @@ -701,10 +701,23 @@ Create a Python-based protocol compatibility wrapper that intercepts MCP respons
- **Priority:** P2
- **Dependencies:** P7-T10
- **Parallelizable:** yes
- **Outputs/Artifacts:**
- **Outputs/Artifacts:**
- `CHANGELOG.md` with initial 1.0.0 entry
- **Acceptance Criteria:** Follows Keep a Changelog format; all phases summarized

#### ✅ P7-T12: Move Cursor IDE uvx settings before installation instructions in README
- **Description:** Reorder the README.md so that the Cursor IDE uvx configuration snippet (currently under Configuration > Cursor > "Using uvx (Recommended)") appears before the Installation section. This gives Cursor users the fastest path to getting started — they only need to paste the JSON block into `~/.cursor/mcp.json` and they're done, without scrolling through five installation options first. Include both the basic uvx snippet and the uvx-with-Web-UI variant (`--web-ui`, `--web-ui-port 8080`) so users can choose either option up front.
- **Priority:** P1
- **Dependencies:** P7-T10
- **Parallelizable:** yes
- **Outputs/Artifacts:**
- Updated `README.md` with reordered sections
- **Acceptance Criteria:**
- The Cursor uvx `mcp.json` snippet (basic) is visible in the README before the "Installation" heading
- The Cursor uvx-with-Web-UI `mcp.json` snippet (`--web-ui`, `--web-ui-port 8080`) is also shown alongside the basic snippet
- All other README content (installation options, other client configs, usage, etc.) remains intact and in a logical order
- No broken markdown links or formatting issues

---

### Phase 8: Documentation Publishing
Expand Down
50 changes: 38 additions & 12 deletions Sources/XcodeMCPWrapper/Documentation.docc/XcodeMCPWrapper.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,43 @@ This wrapper intercepts responses from `xcrun mcpbridge` and copies the data fro

## Quick Start

### Cursor Quick Setup

If you use **Cursor**, no installation is needed — just add this to `~/.cursor/mcp.json`:

```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": ["--from", "mcpbridge-wrapper", "mcpbridge-wrapper"]
}
}
}
```

With Web UI dashboard (optional — adds real-time monitoring at http://localhost:8080):

```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": [
"--from",
"mcpbridge-wrapper",
"mcpbridge-wrapper",
"--web-ui",
"--web-ui-port",
"8080"
]
}
}
}
```

Restart Cursor and you're done. For other clients or installation methods, read on.

### Python Environment Setup (Development)

If you plan to run development commands such as `make install`, `make test`, or editable installs, create and activate a virtual environment first. This avoids Homebrew Python's `externally-managed-environment` (PEP 668) error.
Expand Down Expand Up @@ -93,18 +130,7 @@ To remove xcodemcpwrapper from your system:

#### Cursor

**Using uvx (Recommended):**

```json
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": ["--from", "mcpbridge-wrapper", "mcpbridge-wrapper"]
}
}
}
```
For **uvx** setup (recommended), see **Cursor Quick Setup** above.

**Using manual installation:**

Expand Down