npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

cbrowser

v16.4.0

Published

Cognitive browser automation that thinks like your users. Simulate real user cognition with abandonment detection, constitutional safety, chaos engineering, and UX friction discovery.

Readme

CBrowser — Cognitive Browser Automation

The browser automation that thinks. After 360+ tool invocations across rigorous stress testing, CBrowser earned a Grade A assessment—17 issues tracked, 17 fixed, zero regressions.

npm version Grade A Tests License: BSL-1.1 MCP Ready TypeScript Node

Built for AI agents. Trusted by humans. The only browser automation that asks: "Will a confused first-timer complete this task—and exactly when will they give up?"


What Makes CBrowser Different

31 of 34 tools graded A- or above. After extensive stress testing:

| Capability | Status | Why It Matters | |------------|--------|----------------| | Natural Language Tests | ⭐ Best-in-class | Write tests in plain English. 10-step E2E flows run 100% stable. | | Cognitive User Simulation | 🔬 Novel | 12 research-backed traits model real human behavior—not just clicks. | | Empathy Accessibility Audits | 🔬 Novel | Simulate users with tremors, low vision, ADHD. No competitor offers this. | | Self-Healing Selectors | ✅ Production-ready | ARIA-first with 0.8+ confidence gating. Handles DOM changes automatically. | | Constitutional AI Safety | 🔬 Novel | Risk-classified actions prevent autonomous agents from doing damage. | | 43 MCP Tools | ✅ Production-ready | Full Claude integration—local and remote servers. |


The Problem We Solve

Traditional browser automation answers one question: "Does this button click?"

CBrowser answers the question that actually matters: "Will a confused first-timer on a slow connection find this button—and will they give up before they do?"

Built on Playwright with cognitive user simulation, constitutional AI safety, and research-backed behavioral models, CBrowser is the only testing framework designed for the AI agent era.


Core Differentiators

| Challenge | Traditional Tools | CBrowser | |-----------|-------------------|----------| | User behavior | Simulates clicks and keystrokes | Simulates human cognition—patience decay, frustration accumulation, decision fatigue | | Abandonment prediction | Fails when elements don't exist | Predicts when users give up before they do | | AI agent safety | No guardrails for autonomous agents | Constitutional AI safety—risk-classified actions with verification gates | | Selector resilience | Breaks when DOM changes | Self-healing ARIA-first selectors with 0.8+ confidence gating | | Accessibility testing | WCAG compliance checklists | Disability empathy simulation—experience your site as a user with tremors, low vision, or ADHD |


Quick Start

Installation

npm install cbrowser
npx playwright install chromium

First Commands

# Navigate with intelligent wait detection
npx cbrowser navigate "https://your-site.com"

# Self-healing click with 80%+ confidence threshold
npx cbrowser smart-click "Add to Cart"

# Natural language assertions
npx cbrowser assert "page contains 'Order Confirmed'"

# Run a cognitive journey—simulate a real user
npx cbrowser cognitive-journey \
  --persona first-timer \
  --start "https://your-site.com" \
  --goal "complete checkout"

Constitutional AI Safety

AI agents need boundaries. CBrowser classifies every action by risk level:

| Zone | Examples | Behavior | |------|----------|----------| | 🟢 Green | Navigate, read, screenshot | Auto-execute | | 🟡 Yellow | Click buttons, fill forms | Log and proceed | | 🔴 Red | Submit, delete, purchase | Requires verification | | ⬛ Black | Bypass auth, inject scripts | Never executes |

An AI agent can freely browse and gather data, but cannot accidentally submit a form, delete records, or make purchases without explicit verification.


Cognitive User Simulation

CBrowser models 12 research-backed cognitive traits to simulate how real users think and behave:

| Trait | Research Basis | What It Models | |-------|---------------|----------------| | Patience | — | How quickly users abandon on friction | | Frustration | — | Accumulates with errors, decays with success | | Decision Fatigue | Baumeister's ego depletion | Users start choosing defaults after too many decisions | | Dual-Process Thinking | Kahneman (Nobel Prize) | System 1 (fast/automatic) vs System 2 (slow/deliberate) | | Self-Efficacy | Bandura (1977) | Belief in ability to solve problems; low = faster abandonment | | Satisficing | Simon (1956) | Accept "good enough" vs. optimize; satisficers decide 50% faster | | Trust Calibration | Fogg (2003) | Baseline trust affects click-through by 40% | | Interrupt Recovery | Mark et al. (2005) | Average recovery time 23min; models context preservation |

Abandonment Detection

The simulation stops when a realistic user would give up:

# Output from cognitive journey
⚠️ ABANDONED after 8 steps
Reason: Patience depleted (0.08) - "This is taking too long..."
Friction points:
  1. Password requirements unclear (step 4)
  2. Form validation error not visible (step 6)

Natural Language Testing

Write tests in plain English:

# Test: Checkout Flow
go to https://your-site.com/products
click "Add to Cart" button
verify page contains "1 item in cart"
click checkout
fill email with "[email protected]"
click "Place Order"
verify url contains "/confirmation"
npx cbrowser test-suite checkout-test.txt --html

Self-Healing Test Repair

When tests break due to site changes:

npx cbrowser repair-tests broken-test.txt --auto-apply --verify

CBrowser analyzes failures, generates alternative selectors, and repairs tests automatically.


Visual Testing Suite

AI Visual Regression

Semantic comparison—understands what changed, not just pixel differences:

npx cbrowser ai-visual capture "https://your-site.com" --name homepage
npx cbrowser ai-visual test "https://staging.your-site.com" homepage --html

Cross-Browser & Responsive

# Compare Chrome, Firefox, Safari rendering
npx cbrowser cross-browser "https://your-site.com" --html

# Test across mobile, tablet, desktop
npx cbrowser responsive "https://your-site.com" --html

# A/B comparison (staging vs production)
npx cbrowser ab "https://staging.your-site.com" "https://your-site.com" --html

UX Analysis Suite

Agent-Ready Audit

Analyze any website for AI-agent friendliness:

npx cbrowser agent-ready-audit "https://your-site.com" --html

Returns:

  • Findability score — Can agents locate elements? (ARIA labels, semantic HTML)
  • Stability score — Will selectors break? (hidden inputs, overlays)
  • Letter grade (A-F) with prioritized remediation and code examples

Competitive UX Benchmark

Run identical cognitive journeys across your site and competitors:

npx cbrowser competitive-benchmark \
  --sites "https://your-site.com,https://competitor-a.com,https://competitor-b.com" \
  --goal "sign up for free trial" \
  --persona first-timer \
  --html

Accessibility Empathy Mode

Simulate how users with disabilities experience your site:

npx cbrowser empathy-audit "https://your-site.com" \
  --goal "complete signup" \
  --disabilities "motor-tremor,low-vision,adhd" \
  --html

Available personas: motor-tremor, low-vision, cognitive-adhd, dyslexic, deaf, elderly


MCP Server Integration

CBrowser runs as an MCP server for Claude Desktop and claude.ai.

Remote MCP (claude.ai)

Public Demo Server (rate-limited, no auth):

https://cbrowser-mcp-demo.wyldfyre.ai/mcp

Deploy your own: see Remote MCP Server Guide

Local MCP (Claude Desktop)

{
  "mcpServers": {
    "cbrowser": {
      "command": "npx",
      "args": ["cbrowser", "mcp-server"]
    }
  }
}

43 MCP Tools

| Category | Tools | |----------|-------| | Navigation | navigate, screenshot, extract | | Interaction | click, smart_click, fill, scroll | | Testing | test_suite, repair_tests, flaky_check | | Visual | visual_baseline, visual_compare, responsive_test, cross_browser_test, ab_compare | | Cognitive | cognitive_journey_init, cognitive_journey_update_state, compare_personas | | Analysis | hunt_bugs, chaos_test, agent_ready_audit, competitive_benchmark, empathy_audit |


CI/CD Integration

GitHub Actions

name: CBrowser Tests
on: [pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: alexandriashai/cbrowser@v12
        with:
          test-file: tests/e2e/checkout.txt
          sensitivity: strict

Docker

docker run --rm -v $(pwd)/tests:/work/tests ghcr.io/alexandriashai/cbrowser:latest \
  test-suite tests/checkout.txt --html

Modular Architecture

Tree-shakeable imports for minimal bundle size:

// Import specific modules
import { runVisualRegression, runCrossBrowserTest } from 'cbrowser/visual';
import { runNLTestSuite, detectFlakyTests, repairTest } from 'cbrowser/testing';
import { huntBugs, runChaosTest, findElementByIntent } from 'cbrowser/analysis';
import { capturePerformanceBaseline, detectPerformanceRegression } from 'cbrowser/performance';

API Reference

import { CBrowser } from 'cbrowser';

const browser = new CBrowser({
  headless: true,
  persistent: true,  // Maintain cookies between sessions
});

await browser.navigate('https://example.com');

const result = await browser.smartClick('Sign In', {
  maxRetries: 3,
  minConfidence: 0.8  // v12.0.0: Raised threshold for reliable healing
});

const assertion = await browser.assert("page contains 'Welcome'");
if (!assertion.passed) {
  console.error(assertion.message);
}

await browser.close();

Configuration

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | CBROWSER_DATA_DIR | ~/.cbrowser | Data storage directory | | CBROWSER_HEADLESS | true | Run headless | | CBROWSER_BROWSER | chromium | Browser engine | | CBROWSER_TIMEOUT | 30000 | Default timeout (ms) |

API Key (for Cognitive Journeys)

npx cbrowser config set-api-key

Examples

| Example | Description | |---------|-------------| | examples/basic-usage.ts | Navigation, extraction, sessions | | examples/cognitive-journey.ts | Cognitive simulation with personas | | examples/visual-testing.ts | Visual regression, cross-browser, A/B | | examples/workflows/ | E2E recipes for common scenarios | | examples/ci-cd/ | GitHub Actions, GitLab CI setup |


License

Business Source License 1.1 (BSL-1.1)

  • ✅ Free for non-production use: development, testing, personal projects, evaluation
  • ✅ Read, modify, and contribute to the source
  • ⚠️ Production use (including production testing pipelines) requires a commercial license

Note: Non-production use means evaluation of CBrowser itself, not using CBrowser as part of a production testing service.

Converts to Apache 2.0 on February 5, 2030.

For commercial licensing: [email protected]


Copyright

© 2026 WF Media (Alexandria Eden). All rights reserved.


Links