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 install
Run from source:
bun run dev
Useful variants:
bun run dev -- --help bun run dev -- --version
bun run dev executes scripts/dev.ts, which builds src/entrypoints/cli.tsx into dist/src-build/cli.js and runs that bundle with the shared feature configuration used by the build pipeline.
Build the CLI:
bun run build
Build output is written to dist:
Clean generated output:
bun run clean
Testing scope and stop-rule are documented in TESTING.md.
Unit and integration tests:
bun run testCoverage report:
bun run test:coverage
Standard smoke test:
bun run smoke
GUI smoke test:
bun run smoke:gui
Test layering:
bun run test: source-level tests for modules, handlers, and entrypointsbun run smoke: built-artifact smoke checks in the current machine environmentbun run smoke:gui: macOS desktop smoke checks
Recommended validation sequence:
bun install
bun run test
bun run build
bun run smoke
bun run smoke:guiThe standard smoke test currently verifies:
- build success
./dist/claude --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 scriptsvendor: 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.