Files
computer/libs/typescript
Aditya Bavadekar 258ae86988 chore: Setup code formatting and linting
- Add `.editorconfig` for editor consistency.
- Configure GitHub Actions workflow for linting (`.github/workflows/lint.yml`).
- Add pre-commit hooks for automated checks (`.pre-commit-config.yaml`).
- Configure Prettier and exclusions (`.prettierrc.yaml`, `.prettierignore`).
- Update VS Code extensions to include formatting tools (`.vscode/extensions.json`).
- Adjust VS Code settings for auto-formatting (`.vscode/settings.json`).
2025-10-21 21:27:53 +05:30
..
2025-08-28 13:59:44 -04:00
2025-06-23 16:19:25 -07:00
2025-07-22 10:04:13 -07:00

CUA TypeScript Libraries

This repository contains TypeScript implementations of the CUA libraries:

  • @trycua/core: Core functionality including telemetry and logging
  • @trycua/computer: Computer interaction SDK for VM management and control

Project Structure

libs/typescript/
├── computer/       # Computer SDK package
├── core/           # Core functionality package
├── package.json    # Root package configuration
└── pnpm-workspace.yaml  # Workspace configuration

Prerequisites

Setup and Installation

  1. Install dependencies for all packages:
pnpm install
  1. Build all packages:
pnpm build:all

Development Workflow

Building Packages

Build all packages in the correct dependency order:

pnpm build:all

Build specific packages:

# Build core package
pnpm --filter @trycua/core build

# Build computer package
pnpm --filter @trycua/computer build

Running Tests

Run tests for all packages:

pnpm test:all

Run tests for specific packages:

# Test core package
pnpm --filter @trycua/core test

# Test computer package
pnpm --filter @trycua/computer test

Linting

Lint all packages:

pnpm lint:all

Fix linting issues:

pnpm lint:fix:all

Package Details

@trycua/core

Core functionality for CUA libraries including:

  • Telemetry with PostHog integration
  • Common utilities and types

@trycua/computer

Computer interaction SDK for managing and controlling virtual machines:

  • VM provider system (Cloud)
  • Interface system for OS-specific interactions
  • Screenshot, keyboard, and mouse control
  • Command execution

Publishing

Prepare packages for publishing:

pnpm -r build

Publish packages:

pnpm -r publish