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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@xtest-cli/cli

v0.6.2

Published

CLI for xtest.ing - AI-powered test generation platform

Readme

@xtest-cli/cli

The official CLI for xtest.ing - AI-Powered Browser Automation & Test Generation Platform.

npm version License: MIT

Installation

npm install -g @xtest-cli/cli@latest

Features

  • Remote Browser Control: Control browser sessions running on xtest.ing infrastructure
  • Live Browser View: See what's happening in real-time with headed mode
  • AI-Powered Testing: Generate intelligent test cases using AI
  • Session Management: Create, list, and manage multiple browser sessions
  • Secure Authentication: Email/password authentication with JWT tokens
  • Subscription-Based: Requires active xtest.ing subscription
  • Interactive Mode: NEW! Control dual browsers with persistent state
  • Mirror Mode: NEW! Synchronized browser control - actions mirror between browsers

Prerequisites

  • Node.js 16.0.0 or higher
  • Active xtest.ing subscription
  • xtest.ing account credentials

Installation

npm install -g @xtest-cli/cli@latest

Authentication

The CLI uses email/password authentication. You'll need:

  1. An active xtest.ing account
  2. A valid subscription
  3. Your account credentials

Login

xtest auth

You'll be prompted for:

  • Email: Your xtest.ing account email
  • Password: Your account password
  • Server URL: Default is https://xtest.ing

Example:

Login to xtest.ing

  Note: You need an active subscription to use the CLI
  Sign up at: https://xtest.ing/pricing

  Email: [email protected]
  Password: ••••••••

✓ Login successful!
  Welcome back, John!
   Subscription: Active

Check Authentication Status

xtest auth status

Logout

xtest auth logout

Quick Start

  1. Install the CLI

    npm install -g @xtest-cli/cli@latest
  2. Login to your account

    xtest auth
  3. Start a browser session

    xtest browser --mode headed
  4. Navigate to a website

    xtest browser --url https://example.com

Commands

Authentication Commands

| Command | Description | |---------|-------------| | xtest auth | Login with your xtest.ing credentials | | xtest auth status | Check authentication and subscription status | | xtest auth logout | Logout and clear stored credentials |

Browser Commands

| Command | Description | |---------|-------------| | xtest browser | Start a browser session (headless by default) | | xtest browser --mode headed | Start browser in headed mode (visible) | | xtest browser --mode headless | Start browser in headless mode | | xtest browser --url <url> | Navigate to specific URL on start | | xtest browser --type <type> | Browser type: chromium, firefox, webkit |

Session Commands

| Command | Description | |---------|-------------| | xtest sessions list | List all active browser sessions | | xtest sessions | Alias for sessions list |

Interactive Mode (NEW in v0.5.0+)

| Command | Description | |---------|-------------| | xtest interactive | Start interactive dual browser control | | xtest i | Alias for interactive mode |

Interactive Mode Commands

Once in interactive mode, you can use these commands:

  • local <url> - Navigate local browser to URL
  • cloud <url> - Navigate cloud browser to URL
  • local click <selector> - Click element in local browser
  • cloud click <selector> - Click element in cloud browser
  • local type <selector> <text> - Type text in local browser
  • cloud type <selector> <text> - Type text in cloud browser
  • status - Show current state of both browsers
  • exit - Close both browsers and exit

Mirror Mode (NEW in v0.6.0+)

| Command | Description | |---------|-------------| | xtest mirror | Start synchronized browser control | | xtest mirror --url <url> | Start with specific URL |

Mirror mode launches two browsers:

  • Local Browser: Opens on your laptop (visible)
  • Cloud Browser: Runs on xtest.ing servers

All actions in the local browser are automatically mirrored to the cloud browser in real-time!

Synchronized Browser Control (Mirror Mode)

# Start mirror mode with default URL (Google)
xtest mirror

# Start with a specific URL
xtest mirror --url https://github.com

# What happens:
# 1. Local browser opens on your laptop
# 2. Cloud browser starts on xtest.ing
# 3. Navigate, click, or type in local browser
# 4. Actions automatically mirror to cloud browser
# 5. Both browsers stay in sync!

Usage Examples

Basic Browser Automation

# Start a visible browser session
xtest browser --mode headed

# Navigate to a specific URL
xtest browser --url https://github.com --mode headed

# Use Firefox instead of Chromium
xtest browser --type firefox --mode headed

Interactive Dual Browser Control

# Start interactive mode
xtest interactive

# In the interactive prompt:
xtest> local https://google.com
xtest> cloud https://github.com
xtest> status
xtest> exit

Session Management

# List all your active sessions
xtest sessions list

# Check your authentication status
xtest auth status

Security

  • Token-Based: Uses JWT tokens that expire after 30 days
  • Secure Storage: Credentials are stored securely in your home directory
  • Subscription Required: All commands require an active subscription
  • HTTPS Only: All communication is encrypted

Subscription Management

The CLI requires an active xtest.ing subscription. To manage your subscription:

  1. Visit xtest.ing
  2. Login to your account
  3. Click on your profile → "Manage Subscription"
  4. You'll be redirected to the Stripe customer portal

Configuration

Configuration is stored in ~/.xtest/config.json:

{
  "apiKey": "your-jwt-token",
  "serverUrl": "https://xtest.ing"
}

Troubleshooting

"Subscription required" error

  • Ensure you have an active subscription at https://xtest.ing/pricing
  • Try logging out and logging in again: xtest auth logout then xtest auth

"Invalid credentials" error

  • Double-check your email and password
  • Ensure your account is active
  • Try resetting your password on the website

Connection issues

  • Check your internet connection
  • Verify the server URL (default: https://xtest.ing)
  • Check if you're behind a firewall or proxy

Changelog

See CHANGELOG.md for version history.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

MIT - see LICENSE for details.

Support


Made with love by the xtest.ing team