Skip to content

AKA-NETWORK/bugster-cli

 
 

Repository files navigation

Bugster CLI

release version build status

🐛 Bugster Agent - Simple Browser testing

Bugster CLI generate comprehensive test specs for your web applications and keep them synchronized across your team. Minimal setup.

Table of Contents

Features

AI-Powered Test Generation: Automatically analyze your codebase and generate comprehensive test specs
🎯 Intelligent Updates: Automatically update test specs when your code changes
🚀 Cross-Platform: Works on Windows, macOS, and Linux
🌐 Framework Support: Currently supports Next.js applications
📊 Dashboard Integration: Stream results to the Bugster dashboard for team visibility

Installation

Automated Installation (Recommended)

Our installers automatically check for and install dependencies (Python 3.10+, Node.js 18+, Playwright).

macOS/Linux

curl -sSL https://github.com/Bugsterapp/bugster-cli/releases/latest/download/install.sh | bash -s -- -y

Windows

  1. Download install.bat
  2. Right-click and select "Run as administrator"

Manual Installation

If you already have Python 3.10+ and Node.js 18+ installed:

curl -sSL https://raw.githubusercontent.com/Bugsterapp/bugster-cli/main/scripts/install.py | python3

Prerequisites

  • Python 3.10+: Required for the CLI core functionality
  • Node.js 18+: Required for Playwright browser automation
  • Playwright: Automatically installed during setup

Quick Start

  1. Initialize your project

    bugster init
  2. Generate test cases

    bugster generate
  3. Run your tests

    bugster run
  4. Keep tests up to date

    bugster update

Commands

bugster init

Initialize Bugster CLI configuration in your project. Sets up authentication, project settings, and test credentials.

bugster init

bugster generate

Analyze your codebase and generate AI-powered test specs. This command scans your application structure and creates comprehensive test cases.

bugster generate [options]

Options:
  -f, --force        Force analysis even if already completed
  --show-logs        Show detailed logs during analysis

bugster run

Execute your Bugster tests with various options for different environments.

bugster run [path] [options]

Arguments:
  path               Path to test file or directory (optional)

Options:
  --headless         Run tests in headless mode
  --silent           Run in silent mode (less verbose output)
  --stream-results   Stream test results to dashboard
  --output FILE      Save test results to JSON file
  --base-url URL     Override base URL for testing
  --only-affected    Only run tests affected by recent changes
  --max-concurrent N Maximum concurrent tests (up to 5)
  --verbose          Show detailed execution logs

Examples:

# Run all tests
bugster run

# Run tests in a specific directory
bugster run auth/

# Run with custom configuration
bugster run --headless --stream-results

# Run only tests affected by code changes
bugster run --only-affected

bugster update

Update your test specs when your codebase changes. Intelligently detects modifications and updates relevant tests.

bugster update [options]

Options:
  --update-only      Only update existing specs
  --suggest-only     Only suggest new specs
  --delete-only      Only delete obsolete specs
  --show-logs        Show detailed logs during analysis

bugster sync

Synchronize test cases with your team across different branches and environments.

bugster sync [options]

Options:
  --branch BRANCH    Branch to sync with (defaults to current)
  --pull             Only pull specs from remote
  --push             Only push specs to remote
  --clean-remote     Delete remote specs that don't exist locally
  --dry-run          Show what would happen without making changes
  --prefer OPTION    Prefer 'local' or 'remote' when resolving conflicts

Examples:

# Sync with main branch
bugster sync --branch main

# Only download remote changes
bugster sync --pull

# Preview sync changes
bugster sync --dry-run

bugster issues

Get debugging information about failed test runs from recent executions.

bugster issues [options]

Options:
  --history          Get issues from the last week
  --save             Save issues to .bugster/issues directory

bugster upgrade

Update Bugster CLI to the latest version.

bugster upgrade [options]

Options:
  -y, --yes          Automatically confirm the upgrade

Configuration

Bugster CLI uses a YAML configuration file located at .bugster/config.yaml:

project_name: "My App"
project_id: "my-app-123456"
base_url: "http://localhost:3000"
credentials:
  - id: "admin"
    username: "admin"
    password: "admin"
x-vercel-protection-bypass: "optional-bypass-key"

Authentication

Set up your API key to connect with the Bugster platform:

bugster auth

This will guide you through:

  1. Opening the Bugster dashboard
  2. Copying your API key
  3. Configuring authentication locally

Examples

Basic Workflow

# 1. Set up your project
bugster init

# 2. Generate test cases from your codebase
bugster generate

# 3. Run all tests
bugster run

# 4. Run specific tests with streaming
bugster run auth/ --stream-results

CI/CD Integration

# Run tests in CI environment
bugster run \
  --headless \
  --stream-results \
  --base-url $PREVIEW_URL \
  --output results.json

Team Collaboration

# Pull latest test changes from team
bugster sync --pull

# Update tests after code changes
bugster update

# Push updated tests to team
bugster sync --push

Advanced Usage

# Run only tests affected by recent changes
bugster run --only-affected --max-concurrent 3

# Generate test cases with debugging
bugster generate --force --show-logs

# Sync with conflict resolution
bugster sync --prefer local --dry-run

Project Structure

After initialization, Bugster creates the following structure:

.bugster/
├── config.yaml          # Project configuration
├── tests/               # Generated test specifications
│   ├── auth/           # Feature-based test organization
│   │   ├── 1_login.yaml
│   │   └── 2_signup.yaml
│   └── dashboard/
│       └── 1_overview.yaml
├── results/            # Test execution results
├── videos/             # Test recordings (when enabled)
└── logs/              # Execution logs

Supported Frameworks

  • Next.js: Full support for both App Router and Pages Router
  • 🚧 React: Coming soon
  • 🚧 Vue.js: Coming soon

Test Limits

Bugster CLI applies intelligent test limits to ensure efficient execution:

  • Free tier: Up to 5 tests per execution
  • Distribution: Tests are distributed across feature folders
  • Selection: Representative tests are chosen using smart algorithms

Requirements

  • Python: 3.10 or higher
  • Node.js: 18 or higher
  • Operating System: Windows 10+, macOS 10.15+, or Linux
  • Browser: Chrome/Chromium (automatically installed via Playwright)

Contributing

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support


Built with ❤️ by Bugster

DashboardDocumentationGitHub

About

A CLI for testing your UI. Easy

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.7%
  • Shell 4.3%
  • Batchfile 1.8%
  • Just 0.2%