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 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 buildBuild output is written to dist:
Clean generated output:
bun run cleanTesting scope and stop-rule are documented in TESTING.md.
Unit and integration tests:
bun run testCoverage report:
bun run test:coverageStandard smoke test:
bun run smokeGUI smoke test:
bun run smoke:guiTest 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.