Skip to content
CAI
Software that uses CAICheck a score

citrolabs/ego-lite

56.9

Adequate · 1 October 2026

28.3k

lines of production code

TypeScript

with JavaScript

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is the ego-browser SDK, a tool for automating native macOS browser interactions through a structured API. It provides capabilities for page navigation, element interaction, file downloads, and clipboard management, supported by a robust real-browser end-to-end testing infrastructure. The project also includes tooling for skill packaging, translation validation, and automated installation of the underlying Ego Lite application.

Features

Introduces native operation serialization, clipboard transactions, and structured error handling

The ego-browser runtime now guarantees that native operations targeting a specific task space are serialized via a new NativeOperationGate, preventing race conditions when switching spaces. It adds a clipboard helper that temporarily replaces macOS clipboard content and reliably restores it (or detects external changes) even if the action throws. Additionally, a centralized error-handling module maps stable error codes to owned, user-facing guidance for critical states like user control and inactive task spaces, replacing previously duplicated logic.

package/ego-browser/src · high confidence

New browser driver capabilities: downloads, action targeting, and keyboard input

The ego-browser driver now supports Playwright-style downloads, allowing pages to intercept, wait for, and save file downloads to temporary directories. It introduces a robust action-targeting system that correctly resolves element enabled/disabled states across shadow DOM boundaries and ARIA ancestry, and ensures pointer actions hit visible inline fragments rather than bounding-box gaps. Additionally, the driver provides a new keyboard controller that maps platform-specific shortcuts (like Cmd+V on macOS or Ctrl+A on Linux) to native editing commands and handles modifier state, alongside helpers for resolving file inputs for uploads.

package/ego-browser/src/driver · high confidence

New macOS installation script for ego lite

A new install.sh script has been added to the ego-browser skills directory to automate the installation of the ego lite application on macOS. The script handles downloading the appropriate DMG (ARM64 or x64), mounting it, copying the application bundle to /Applications, and stripping quarantine attributes to ensure the app launches without Gatekeeper warnings. It also includes logic to detect existing installations and clean up temporary files.

skills/ego-browser/scripts · high confidence

Removals

Removal of ego-browser artifacts bundle

The bundled JavaScript entry point for the ego-browser package (package/ego-browser/artifacts/ego-browser/index.js) has been removed from the repository. This file previously contained the core runtime logic for managing CDP sessions, handling browser events, and executing commands like fillInput and snapshotting. Its deletion indicates that this specific artifact is no longer part of the distribution or build output.

package/ego-browser/artifacts · high confidence

Removal of public demo assets and directory

The public directory and its contents, including the demo HTML page, hero SVG, and the Python script used to generate the demo GIF, have been deleted. This removes the static marketing and demonstration assets previously served from the public folder.

public · high confidence

Behavioural changes

Build process now bundles skill assets and adds translation/API validation scripts

The ego-browser build process has been updated to include skill source files (SKILL.md, learnings, references, scripts) in the release output, ensuring that skill documentation and metadata are packaged alongside the CLI. Additionally, new scripts have been introduced to validate that the Chinese skill translation remains in sync with the canonical source via SHA-256 checksums, and to generate or check the API reference documentation against the public API schema. An old E2E test runner script has been removed in favor of a new Node-based runner and a macOS-specific popup foreground reproduction script.

package/ego-browser/scripts · high confidence

Symlinks for the 'ego-browser' and 'ego-lite-simplify' skills have been added to both the .claude and .codex directories, pointing to their respective source locations in the repository. This allows developers to access these specific skills directly from the project root for both AI coding assistants.

.claude, .codex · high confidence

Refactor ego-browser learning module for improved code style and API clarity

The ego-browser learning module has been refactored to improve code readability and maintainability. Key changes include standardizing formatting across all source files, explicitly exporting the \urlHostname\ helper function for broader use, and removing the local duplicate of \urlHostname\ from the index file in favor of the centralized export. Additionally, function signatures have been expanded to include explicit return types (e.g., \Promise\<LearningManifest\>\) and parameter types, and error messages have been formatted for better clarity. These changes do not alter the functional behavior of the learning context loading or validation but enhance the internal structure and type safety of the module.

package/ego-browser/src/learning · high confidence

Unify ego-browser skill packaging

The .agents/skills/ego-browser entry is now a symbolic link pointing to the shared skills directory (../../skills/ego-browser). This change consolidates the skill's location, ensuring that the agent uses the single source of truth for the ego-browser skill rather than maintaining a separate local copy.

.agents · medium confidence

Test coverage

Expanded real-browser E2E test coverage for v2 page automation; Introduce real-browser E2E test infrastructure; Removed ego-browser test suite.

Dependencies

ego-browser dependency updates and build tooling additions

The ego-browser package updates esbuild from 0.25.12 to 0.28.1 and adds lefthook (2.1.9) and prettier (3.8.4) as dev dependencies. The package bin entry is renamed from index to ego-browser, and the build output path changes from artifacts/ego-browser/index.js to dist/out/index.js. New npm scripts are added for API documentation generation, skill translation checks, and style checking, while the test script is extended to include API and skill validation steps.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 63 → 57 (-6.0)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 58 → 58 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 80 → 78 (-1.4)
  • Readiness 56 → 42 (-13.9)
  • Security 75 → 77 (+2.2)
  • Performance 85 (new)

Resolved (8)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Hotspot: package/ego-browser/src/cdp-eval.ts (package/ego-browser/src/cdp-eval.ts)
  • Hotspot: package/ego-browser/src/driver/downloads.ts (package/ego-browser/src/driver/downloads.ts)
  • Hotspot: package/ego-browser/src/help-runtime.ts (package/ego-browser/src/help-runtime.ts)
  • Hotspot: package/ego-browser/src/learning/index.ts (package/ego-browser/src/learning/index.ts)
  • Hotspot: package/ego-browser/src/page-ref-registry.ts (package/ego-browser/src/page-ref-registry.ts)
  • Hotspot: package/ego-browser/src/snapshot-result.ts (package/ego-browser/src/snapshot-result.ts)
  • Off-boarding risk: anonymized user #1

New (6)

  • Further sole-owners (lower concentration)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Off-boarding risk: anonymized user #1
  • Outdated (npm): acorn

Changes since last survey

  • 8 commits — 8 feature/other, 0 fixes

By area

  • (root) — 7 commits
  • (repo) — 1 commit

Notable commits

  • change: Improve README.zh-CN.md clarity and details
  • change: Merge pull request #407 from citrolabs/docs/i18n-readmes-main
  • change: docs(i18n): add French, Italian and Russian READMEs
  • change: docs(i18n): add localized READMEs for zh-CN, ja, ko, pt-BR and es-419
  • change: docs(i18n): carry the zh-CN revision into ja/ko/pt/es and denominalize headlines
  • change: docs: apply native-reader reviews to every README
  • change: docs: bring the English README up to the revised copy and sync all locales
  • change: docs: they are a bridge to the browser, not automation bridges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

citrolabs/ego-lite was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit dca7003349c5f7132189ba00547cbbd7ff8e597e — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.