docs(cua-driver): sync to cua-driver-rs 0.3.2 - #1742
Conversation
The cua-driver fumadocs were auto-generated from the Swift driver (~v0.2.0)
and badly drifted from the shipping Rust port (0.3.2). This PR resyncs them
to the live binary as ground truth.
Reference docs (rewritten from `cua-driver list-tools` / `describe` / `--help`):
- reference/mcp-tools.mdx: real tool count 34 (was "29"). Added the 7 tools
that were missing on Rust (bring_to_front, check_for_update,
debug_window_info, get_accessibility_tree, kill_app, start_recording,
stop_recording). Removed the 2 that don't exist (screenshot, set_recording).
Fixed move_cursor (overlay, not real cursor), set_value (window_id required,
ValuePattern), set_agent_cursor_motion defaults, scroll direction enum,
type_text_in/scroll_in -> type_text/scroll. Added a Dispatch modes section
(background/foreground/auto was undocumented). Replaced the junk
auto-generated examples (set_config {"key":"return"}, degenerate
drag/zoom). Provenance header is now honest instead of "Swift v0.2.0 /
DO NOT EDIT".
- reference/cli-reference.mdx: real verbs autostart, check-update, skills,
mcp-config. doctor corrected (health probe, not "cleanup"). Version header
0.2 -> 0.3.2. Documents only flags verified against the binary; adds the
PowerShell-5.1 JSON-quoting gotcha the binary itself surfaces.
Consistency sweep across guide pages:
- Version 0.1.0 / 0.2.x -> 0.3.2 everywhere (install --version output,
--help overview, doctor sample output, update banner, PS5.1 zip-install
pin).
- Windows install paths: env-var override table, autostart manual block,
and lockfile example switched from legacy `trycua\cua-driver-rs\bin` +
`.cua-driver-rs` to the real `Programs\Cua\cua-driver\bin` +
`.cua-driver` (verified against the installed binary's mcp-config
output). Historical "v0.2.13 and earlier used ..." mentions kept.
- Bare-verb tool invocations `cua-driver <tool> '{...}'` (which hang on
the Rust binary) converted to `cua-driver call <tool> '{...}'` across
intro, quickstart, faq, installation. Verified zero remain.
- Broken /cua-driver/explanation/process-attribution link in linux.mdx
repointed at the existing process-model + windows-ssh pages.
- PiP default geometry 320x200 -> 480x360 (matches binary --help).
- Fictional "gemma4:26b" Ollama model in integrations example replaced
with the real llama3.2-vision.
Cross-platform reframe:
- introduction.mdx rewritten to lead cross-platform (macOS Swift /
Windows-Linux Rust) instead of "a macOS computer-use driver". Per-backend
internals are accurate for each platform.
- comparison.mdx de-macOS'd in title/header/summary; the per-product
sections stay as-is.
- quickstart.mdx labeled as macOS-flavored with a callout pointing
Windows/Linux readers at autostart / linux pages.
- process-model.mdx scoped to macOS with an orientation callout
cross-referencing the Windows daemon-proxy variant.
Write-well pass: cut "All are quality projects", "In under 5 minutes",
"Ready to try it?", a made-up "90% of the time" stat, "dead simple", and
capitalized "Just Works". Trimmed the most-redundant Session 0 retelling
in autostart.mdx down to the page-appropriate answer + a link to the
canonical windows-ssh deep-dive.
Out of scope (flagged in PR body):
- scripts/docs-generators/cua-driver.ts still builds Swift and calls
`cua-driver dump-docs --type all`, which is stubbed on the Rust port.
Repointing the generator at the Rust binary needs Rust-side dump-docs
work; until then treat the two reference .mdx as hand-maintained.
- The --claude-code-computer-use-compat / screenshot compat-mode story
in integrations/installation could not be confirmed against the running
Rust server (no `screenshot` tool, flag not in --help). Left as-is
pending verification on a build you control.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✅ Files skipped from review due to trivial changes (2)
📝 WalkthroughWalkthroughThis PR updates cua-driver documentation across getting-started and reference pages to v0.3.2: broadens macOS-only wording to cross-platform, replaces legacy subcommand examples with ChangesCua Driver v0.3.2 Documentation Update
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Three lychee external-link failures on pages this PR touches — all pre-existing, fixed as part of the sync: - autostart.mdx, linux.mdx: install-local.sh path was `libs/cua-driver/rust/scripts/install-local.sh`, but the file lives at `libs/cua-driver/scripts/install-local.sh`. Updated both refs. - process-model.mdx: dropped the dead `trycua/hermes#22821` PR link; the surrounding prose about catch-error-and-reconnect stands without it. Docs-Sync workflow: the cua-driver entry in scripts/docs-generators/config.json was `enabled: true`, but the generator tries to run `.build/release/cua-driver dump-docs --type all` which (a) requires a Swift build the CI workflow doesn't run for this generator and (b) returns a stub for `--type cli` on the shipping Rust port. Setting `enabled: false` with a `notes` field (same shape `cua-cli`/`mcp-server` already use) so the runner cleanly skips it. The runner already has the matching skip path at line 129-135 of runner.ts. Once the Rust binary grows a real `dump-docs --type all`, flip `enabled` back to `true` and repoint `extractCommand` at the Rust binary's output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
docs/content/docs/cua-driver/guide/getting-started/linux.mdx (1)
75-75:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the broken
install-local.shGitHub link.Line 75 points to
.../libs/cua-driver/rust/scripts/install-local.sh, and CI reports it as 404. Please update this URL to the current path (or remove the link if no longer public).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/content/docs/cua-driver/guide/getting-started/linux.mdx` at line 75, The markdown link to the install-local.sh script is broken; open the docs/content/docs/cua-driver/guide/getting-started/linux.mdx and locate the reference to "libs/cua-driver/rust/scripts/install-local.sh" (the install-local.sh link) and update the URL to the repository's current path for that script or remove the hyperlink if the script is no longer public; ensure the visible text remains accurate (e.g., keep "install-local.sh") and that the updated link points to the correct file in the repo or a suitable replacement doc.docs/content/docs/cua-driver/guide/getting-started/process-model.mdx (1)
140-140:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReplace the dead Hermes PR link.
Line 140 links to
https://github.com/trycua/hermes/pull/22821, which returns 404 and is currently failing the link checker. Please switch to a valid public reference (or remove the link).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/content/docs/cua-driver/guide/getting-started/process-model.mdx` at line 140, The link to trycua/hermes#22821 in the sentence "Hermes' wrapper in [trycua/hermes#22821](https://github.com/trycua/hermes/pull/22821) implements exactly this pattern." is broken; update that anchor to point to a valid public reference (e.g., a different PR/issue or a docs page) or delete the bracketed link so the sentence reads without it. Edit the line containing the Hermes wrapper reference in process-model.mdx to either replace the URL with the correct public URL or remove the markdown link while keeping the explanatory text intact.docs/content/docs/cua-driver/guide/getting-started/autostart.mdx (1)
22-23:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix broken GitHub links for the macOS/Linux
--autostartmanual recipe
- In
docs/content/docs/cua-driver/guide/getting-started/autostart.mdx(lines 22-23), the links point tolibs/cua-driver/rust/scripts/install-local.sh, but that file does not exist in the repo.- Update both URLs to
https://github.com/trycua/cua/blob/main/libs/cua-driver/scripts/install-local.sh(this wrapper accepts--autostartand routes it to the Rust helper that registers the macOS LaunchAgent / Linuxsystemd --userunit).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/content/docs/cua-driver/guide/getting-started/autostart.mdx` around lines 22 - 23, Update the broken GitHub links in docs/content/docs/cua-driver/guide/getting-started/autostart.mdx: replace the two occurrences of "libs/cua-driver/rust/scripts/install-local.sh" (the macOS and Linux `--autostart` table entries) with "https://github.com/trycua/cua/blob/main/libs/cua-driver/scripts/install-local.sh" so the manual `LaunchAgent`/`systemd --user` recipe points to the wrapper script that accepts `--autostart`.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@docs/content/docs/cua-driver/guide/getting-started/autostart.mdx`:
- Around line 22-23: Update the broken GitHub links in
docs/content/docs/cua-driver/guide/getting-started/autostart.mdx: replace the
two occurrences of "libs/cua-driver/rust/scripts/install-local.sh" (the macOS
and Linux `--autostart` table entries) with
"https://github.com/trycua/cua/blob/main/libs/cua-driver/scripts/install-local.sh"
so the manual `LaunchAgent`/`systemd --user` recipe points to the wrapper script
that accepts `--autostart`.
In `@docs/content/docs/cua-driver/guide/getting-started/linux.mdx`:
- Line 75: The markdown link to the install-local.sh script is broken; open the
docs/content/docs/cua-driver/guide/getting-started/linux.mdx and locate the
reference to "libs/cua-driver/rust/scripts/install-local.sh" (the
install-local.sh link) and update the URL to the repository's current path for
that script or remove the hyperlink if the script is no longer public; ensure
the visible text remains accurate (e.g., keep "install-local.sh") and that the
updated link points to the correct file in the repo or a suitable replacement
doc.
In `@docs/content/docs/cua-driver/guide/getting-started/process-model.mdx`:
- Line 140: The link to trycua/hermes#22821 in the sentence "Hermes' wrapper in
[trycua/hermes#22821](https://github.com/trycua/hermes/pull/22821) implements
exactly this pattern." is broken; update that anchor to point to a valid public
reference (e.g., a different PR/issue or a docs page) or delete the bracketed
link so the sentence reads without it. Edit the line containing the Hermes
wrapper reference in process-model.mdx to either replace the URL with the
correct public URL or remove the markdown link while keeping the explanatory
text intact.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 62947e42-6676-4a83-8c0c-dcc38f64dc01
📒 Files selected for processing (14)
docs/content/docs/cua-driver/guide/getting-started/autostart.mdxdocs/content/docs/cua-driver/guide/getting-started/comparison.mdxdocs/content/docs/cua-driver/guide/getting-started/faq.mdxdocs/content/docs/cua-driver/guide/getting-started/installation.mdxdocs/content/docs/cua-driver/guide/getting-started/integrations.mdxdocs/content/docs/cua-driver/guide/getting-started/introduction.mdxdocs/content/docs/cua-driver/guide/getting-started/linux.mdxdocs/content/docs/cua-driver/guide/getting-started/pip-preview.mdxdocs/content/docs/cua-driver/guide/getting-started/process-model.mdxdocs/content/docs/cua-driver/guide/getting-started/quickstart.mdxdocs/content/docs/cua-driver/guide/getting-started/windows-ssh.mdxdocs/content/docs/cua-driver/reference/cli-reference.mdxdocs/content/docs/cua-driver/reference/limits.mdxdocs/content/docs/cua-driver/reference/mcp-tools.mdx
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Thanks @coderabbitai — all 3 outside-diff findings were fixed in commit fd2f87d (the CI-fixes follow-up I pushed at 08:09, before this review of 8ee71e5 came back):
Lychee now reports 0 errors on the latest commit. |
|
Tip For best results, initiate chat on the files or code changes.
Zero Lychee errors is a good signal. The PR looks good to go! 🐇✨ If you found this review helpful, would you consider giving us a shout-out on X? Thank you for using CodeRabbit! |
Why
The cua-driver fumadocs were auto-generated from the Swift driver (~v0.2.0) and badly drifted from the shipping Rust port
cua-driver-rs0.3.2. Concrete examples surfaced in an audit:bring_to_front,check_for_update,debug_window_info,get_accessibility_tree,kill_app,start_recording,stop_recording) were undocumented; two documented tools (screenshot,set_recording) don't exist on the Rust port.cli-reference.mdxhaddoctordocumented as "Clean up stale install bits" — it's actually a structured health report (doctor --json). It also omitted real verbs:autostart,check-update,skills.cua-driver <tool> '{...}', which hangs on the Rust binary (the real form iscua-driver call <tool>).introduction.mdxframed cua-driver as macOS-only ("Requires macOS 14") while the same getting-started section ships dedicated Windows and Linux pages and the binary self-describes as "cross-platform."%LOCALAPPDATA%\Programs\trycua\cua-driver-rs\bin+%USERPROFILE%\.cua-driver-rs, but the actual install lives atPrograms\Cua\cua-driver\bin+.cua-driver(verified againstcua-driver mcp-configoutput).0.1.0→0.2.1→0.2.9within a single file.What changed
Reference docs rewritten from ground truth (
cua-driver list-tools+describe <tool>+--help):reference/mcp-tools.mdx— all 34 tools documented; added a Dispatch modes section (background/foreground/auto) that was missing entirely; fixed behavior drift (move_cursoris the overlay not the real cursor;set_valuerequireswindow_id;set_agent_cursor_motiondefaults updated); replaced the junk auto-generated examples (set_config {"key":"return"}, zero-areadrag/zoom); fixedtype_text_in/scroll_in→type_text/scroll.reference/cli-reference.mdx— rebuilt at verb level from--help;doctordescription inverted to the correct "health probe"; addedautostart,check-update,skills,mcp-config; added the PowerShell-5.1 JSON-quoting gotcha the binary itself surfaces.Consistency sweep across
installation,quickstart,faq,integrations,linux,pip-preview,process-model,windows-ssh,autostart,limits,comparison:Programs\Cua\cua-driver\bin+.cua-driver. Historical "v0.2.13 and earlier used …" mentions kept.cua-driver call <tool>(zerocua-driver (click|launch_app|…)matches remain)./cua-driver/explanation/process-attributionlink inlinux.mdxrepointed.320x200→480x360(matches binary).gemma4:26bOllama model → realllama3.2-vision.Cross-platform reframe of
introduction.mdxandcomparison.mdx;quickstart.mdxandprocess-model.mdxlabeled as macOS-flavored with cross-references towindows-ssh/linux.Write-well pass: cut "All are quality projects," "In under 5 minutes," "Ready to try it?," a made-up "90% of the time" stat, "dead simple," capitalized "Just Works." Trimmed the most-redundant Session 0 retelling in
autostart.mdx.Stats
The net deletion is mostly the slimmed-down reference docs — the Swift-era auto-gen padded each tool entry with a generated example object even when degenerate.
Out of scope (intentional)
scripts/docs-generators/cua-driver.tsstill doesswift build+cua-driver dump-docs --type alland hardcodes Swift prose.dump-docs --type cliis stubbed on the Rust port ({"_note":"CLI introspection not implemented on Rust port"}). Repointing the generator at the Rust binary needs Rust-sidedump-docswork; until then treat the two reference.mdxas hand-maintained. The in-file provenance now says so honestly instead of claiming "Swift v0.2.0 / DO NOT EDIT."--claude-code-computer-use-compat/screenshotcompat-mode story inintegrations/installationcouldn't be confirmed against the live Rust server (noscreenshottool in the running compat registration; flag not surfaced in--help). Left as-is pending verification on a build you control.Verification
cua-driver --version,cua-driver list-tools,cua-driver describe <tool>,cua-driver mcp-config --client cursor).%LOCALAPPDATA%\Programs\Cua\cua-driver\bin\cua-driver.exeexists;%USERPROFILE%\.cua-driver\packages\releases\0.3.2-x86_64-pc-windows-msvc\is the canonical package home.set_recording, notype_text_in/scroll_in, nocua-driver 0.1.0/0.2.xoutputs, no/explanation/process-attribution, no29 MCP tools.🤖 Generated with Claude Code
Summary by CodeRabbit