A CLI tool for managing test cases
Project description
Bugster CLI
🐛 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
- Download install.bat
- 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
-
Initialize your project
bugster init -
Generate test cases
bugster generate -
Run your tests
bugster run -
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
bugster destructive
🔥 Destructive testing for changed pages
Run AI-powered destructive agents to find potential bugs in your recent code changes. Agents like 'form_destroyer' and 'ui_crasher' will attempt to break your application.
Examples:
# Run on all changed pages
bugster destructive
# Run without browser UI
bugster destructive --headless
# Run up to 5 agents in parallel
bugster destructive --max-concurrent 5
# Run local link rot agent to find broken links
bugster destructive --local-agent link-rot
Local Agents
The destructive command now supports local agents that run entirely on your machine without needing the Bugster API.
--local-agent link-rot: This agent checks for broken links (404 errors) on pages affected by your code changes. It's fast, runs offline, and provides immediate feedback.
Verification Steps for Link Rot Agent
To verify the functionality of the bugster destructive --local-agent link-rot command:
-
Dependency Installation:
- Ensure you have
httpxinstalled:pip install httpx - Install Playwright browsers:
playwright install(if not already installed by Bugster's automated setup).
- Ensure you have
-
Test Existing Functionality:
- Run the project's existing test suite to ensure no regressions were introduced:
pytest tests/(Adjust the command if your project uses a different test runner or specific test paths).
- Run the project's existing test suite to ensure no regressions were introduced:
-
Manual Testing Protocol (Link Rot Agent):
- Setup a Test Environment:
- Create a simple web project (e.g., a basic HTML file served by a local web server, or a Next.js/React app).
- Include some intentionally broken links (e.g.,
<a href="/non-existent-page">Broken Link</a>) and some valid links. - Ensure your
bugster.config.yamlbase_urlpoints to your local test server (e.g.,http://localhost:3000).
- Simulate Code Changes:
- Make a small, non-functional change to the file containing the links (e.g., add a comment) to ensure
git diffdetects it.
- Make a small, non-functional change to the file containing the links (e.g., add a comment) to ensure
- Run the Link Rot Agent:
bugster destructive --local-agent link-rot --base-url http://localhost:YOUR_PORT
(ReplaceYOUR_PORTwith the port your local test server is running on). - Expected Output:
- The CLI should report any broken links found on the changed pages.
- If no broken links are found, it should indicate that.
- The output should be formatted clearly, showing the page and the broken link URL.
- Setup a Test Environment:
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:
- Opening the Bugster dashboard
- Copying your API key
- 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
- 📚 Documentation: docs.bugster.dev
- 🌐 Dashboard: gui.bugster.dev
- 🐙 GitHub: github.com/Bugsterapp/bugster-cli
- 💬 Issues: GitHub Issues
Built with ❤️ by Bugster
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bughunter_akabarki76-0.3.23.tar.gz.
File metadata
- Download URL: bughunter_akabarki76-0.3.23.tar.gz
- Upload date:
- Size: 56.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2b62c6e86a96d8deb3ee01e4fe5fc792a45529ee283de651ecf616882d57efd
|
|
| MD5 |
6295618082bc87341eab0b8074100097
|
|
| BLAKE2b-256 |
a478298e014d60cbc339d2e6e60cab3bf5dbf382b528ffabd6e68beee8d1e1ce
|
File details
Details for the file bughunter_akabarki76-0.3.23-py3-none-any.whl.
File metadata
- Download URL: bughunter_akabarki76-0.3.23-py3-none-any.whl
- Upload date:
- Size: 65.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
948cf011f43d7ab6270563d867a3a6800da05e81b445edc5ebadb6dde21081a7
|
|
| MD5 |
ee749de3725b1398b4997c7185561772
|
|
| BLAKE2b-256 |
82e7f84a1422bd8b7ec7bddcb8d84526c84ee07125be8fa2e9031ac51069615b
|