diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a793cc..1ce3007 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,29 @@ jobs: # non-mutating path. run: python3 scripts/preflight.py + linux-build-and-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Swift + uses: swift-actions/setup-swift@v2 + with: + swift-version: "6.0.3" + + - name: Cache SwiftPM + uses: actions/cache@v4 + with: + path: | + .build + ~/.cache/org.swift.swiftpm + key: ${{ runner.os }}-swiftpm-${{ hashFiles('Package.resolved') }} + restore-keys: | + ${{ runner.os }}-swiftpm- + + - name: Preflight (Linux, no GUI/TCC) + run: python3 scripts/preflight.py --bin .build/debug/computer-use-mcp + # Non-blocking style check: does not gate build-and-test. Prefer the # toolchain-bundled `swift format lint` over adding a SwiftLint dependency. lint: diff --git a/README.md b/README.md index 7cf8271..f21b6ea 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,11 @@ server. Point Claude Code, Cursor, Codex CLI, Gemini CLI, or your own agent at i and the agent can **see and operate the apps on your Mac — in the background, without hijacking your cursor or stealing focus.** -> **Status:** pre-1.0, used in production by the authors. macOS only. Runs while -> the Mac is unlocked (the system is kept from idle-sleeping during active -> sessions; if the screen locks, mutating tools pause with a recoverable error -> until you unlock). +> **Status:** pre-1.0, used in production by the authors. The interaction engine +> runs on macOS while the Linux build, tests, CLI, and daemon plumbing are +> supported. On macOS it runs while the Mac is unlocked (the system is kept from +> idle-sleeping during active sessions; if the screen locks, mutating tools pause +> with a recoverable error until you unlock).