This repository is primarily set up for local development, building, and testing.
Requirements:
- Bun
1.3+ - Node.js
18+ - macOS for GUI automation work and
bun run smoke:gui
Install dependencies:
bun installRun from source:
bun run devUseful variants:
bun run dev -- --help
bun run dev -- --versionbun run dev executes src/entrypoints/cli.tsx with scripts/dev-preload.mjs, so local workspace packages are used directly during development.
Build the CLI:
bun run buildBuild output is written to dist:
Clean generated output:
bun run cleanStandard smoke test:
bun run smokeGUI smoke test:
bun run smoke:guiRecommended validation sequence:
bun install
bun run build
bun run smoke
bun run smoke:guiThe standard smoke test currently verifies:
- build success
./dist/claude --versionnode bin/claude.js --version./dist/claude --help./dist/claude auth status --text./dist/claude plugin list./dist/claude mcp list./dist/claude agents- workspace package loading
computer-useMCP server initialization
The GUI smoke test currently verifies:
- build
- GUI permission preflight
- frontmost app and mouse position checks
- package-backed screenshot capture
- executor screenshot
- mouse move and restore
- key press and release
- opening
TextEdit, creating a document, inserting a fixed test string, and verifying the document content
Permissions involved:
AccessibilityScreen Recording
If Screen Recording is granted during the run, macOS may still require restarting the terminal before the GUI smoke test can fully pass.
The main local workspace packages involved in development and smoke coverage are:
audio-capture-napiclaude-for-chrome-mcpcomputer-usecomputer-use-inputcomputer-use-mcpimage-processor-napimodifiers-napiurl-handler-napi
src: main CLI sourcepackages: local workspace packagesscripts: build, development, and smoke-test scriptsbin: launcher entrypointvendor: vendored helper binaries such as fallbackripgrep
- The repository is documented as
VideCoding CLI, but the current runtime identifiers and binary paths still useclaudenaming internally. - Actual model use still requires a valid login state.
- GUI validation depends on a real macOS desktop session with the required permissions.