# 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](#features)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Commands](#commands)
- [Configuration](#configuration)
- [Examples](#examples)
- [Contributing](#contributing)
- [License](#license)
## 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
```bash
curl -sSL https://github.com/Bugsterapp/bugster-cli/releases/latest/download/install.sh | bash -s -- -y
```
#### Windows
1. Download [install.bat](https://github.com/Bugsterapp/bugster-cli/releases/latest/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:
```bash
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**
```bash
bugster init
```
2. **Generate test cases**
```bash
bugster generate
```
3. **Run your tests**
```bash
bugster run
```
4. **Keep tests up to date**
```bash
bugster update
```
## Commands
### `bugster init`
Initialize Bugster CLI configuration in your project. Sets up authentication, project settings, and test credentials.
```bash
bugster init
```
### `bugster generate`
Analyze your codebase and generate AI-powered test specs. This command scans your application structure and creates comprehensive test cases.
```bash
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.
```bash
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:**
```bash
# 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.
```bash
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.
```bash
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:**
```bash
# 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.
```bash
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.
```bash
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:**
```bash
# 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:
1. **Dependency Installation:**
* Ensure you have `httpx` installed: `pip install httpx`
* Install Playwright browsers: `playwright install` (if not already installed by Bugster's automated setup).
2. **Test Existing Functionality:**
* Run the project's existing test suite to ensure no regressions were introduced:
```bash
pytest tests/
```
(Adjust the command if your project uses a different test runner or specific test paths).
3. **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.yaml` `base_url` points 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 diff` detects it.
* **Run the Link Rot Agent:**
```bash
bugster destructive --local-agent link-rot --base-url http://localhost:YOUR_PORT
```
(Replace `YOUR_PORT` with 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.
## Configuration
Bugster CLI uses a YAML configuration file located at `.bugster/config.yaml`:
```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:
```bash
bugster auth
```
This will guide you through:
1. Opening the Bugster dashboard
2. Copying your API key
3. Configuring authentication locally
## Examples
### Basic Workflow
```bash
# 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
```bash
# Run tests in CI environment
bugster run \
--headless \
--stream-results \
--base-url $PREVIEW_URL \
--output results.json
```
### Team Collaboration
```bash
# 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
```bash
# 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](CONTRIBUTING.md) for details.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- 📚 **Documentation**: [docs.bugster.dev](https://docs.bugster.dev)
- 🌐 **Dashboard**: [gui.bugster.dev](https://gui.bugster.dev)
- 🐙 **GitHub**: [github.com/Bugsterapp/bugster-cli](https://github.bugster.com/Bugsterapp/bugster-cli)
- 💬 **Issues**: [GitHub Issues](https://github.com/Bugsterapp/bugster-cli/issues)
---
<div align="center">
<p>Built with ❤️ by Bugster</p>
<p>
<a href="https://gui.bugster.dev">Dashboard</a> •
<a href="https://docs.bugster.dev">Documentation</a> •
<a href="https://github.com/Bugsterapp/bugster-cli">GitHub</a>
</p>
</div>
Raw data
{
"_id": null,
"home_page": null,
"name": "bughunter-akabarki76",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "testing, cli, automation",
"author": "akabarki76",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/75/a8/eb9a2c2adcaf7ad7f825eaa9fef1aa641248d0dbef37c8f2565fd77004ff/bughunter_akabarki76-0.3.24.tar.gz",
"platform": null,
"description": "# Bugster CLI\n\n\n\n\n\ud83d\udc1b **Bugster Agent - Simple Browser testing**\n\nBugster CLI generate comprehensive test specs for your web applications and keep them synchronized across your team. Minimal setup.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Commands](#commands)\n- [Configuration](#configuration)\n- [Examples](#examples)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n\u2728 **AI-Powered Test Generation**: Automatically analyze your codebase and generate comprehensive test specs \n\ud83c\udfaf **Intelligent Updates**: Automatically update test specs when your code changes \n\ud83d\ude80 **Cross-Platform**: Works on Windows, macOS, and Linux \n\ud83c\udf10 **Framework Support**: Currently supports Next.js applications \n\ud83d\udcca **Dashboard Integration**: Stream results to the Bugster dashboard for team visibility \n\n## Installation\n\n### Automated Installation (Recommended)\n\nOur installers automatically check for and install dependencies (Python 3.10+, Node.js 18+, Playwright).\n\n#### macOS/Linux\n\n```bash\ncurl -sSL https://github.com/Bugsterapp/bugster-cli/releases/latest/download/install.sh | bash -s -- -y\n```\n\n#### Windows\n\n1. Download [install.bat](https://github.com/Bugsterapp/bugster-cli/releases/latest/download/install.bat)\n2. Right-click and select \"Run as administrator\"\n\n### Manual Installation\n\nIf you already have Python 3.10+ and Node.js 18+ installed:\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/Bugsterapp/bugster-cli/main/scripts/install.py | python3\n```\n\n### Prerequisites\n\n- **Python 3.10+**: Required for the CLI core functionality\n- **Node.js 18+**: Required for Playwright browser automation\n- **Playwright**: Automatically installed during setup\n\n## Quick Start\n\n1. **Initialize your project**\n ```bash\n bugster init\n ```\n\n2. **Generate test cases**\n ```bash\n bugster generate\n ```\n\n3. **Run your tests**\n ```bash\n bugster run\n ```\n\n4. **Keep tests up to date**\n ```bash\n bugster update\n ```\n\n## Commands\n\n### `bugster init`\n\nInitialize Bugster CLI configuration in your project. Sets up authentication, project settings, and test credentials.\n\n```bash\nbugster init\n```\n\n### `bugster generate`\n\nAnalyze your codebase and generate AI-powered test specs. This command scans your application structure and creates comprehensive test cases.\n\n```bash\nbugster generate [options]\n\nOptions:\n -f, --force Force analysis even if already completed\n --show-logs Show detailed logs during analysis\n```\n\n### `bugster run`\n\nExecute your Bugster tests with various options for different environments.\n\n```bash\nbugster run [path] [options]\n\nArguments:\n path Path to test file or directory (optional)\n\nOptions:\n --headless Run tests in headless mode\n --silent Run in silent mode (less verbose output)\n --stream-results Stream test results to dashboard\n --output FILE Save test results to JSON file\n --base-url URL Override base URL for testing\n --only-affected Only run tests affected by recent changes\n --max-concurrent N Maximum concurrent tests (up to 5)\n --verbose Show detailed execution logs\n```\n\n**Examples:**\n```bash\n# Run all tests\nbugster run\n\n# Run tests in a specific directory\nbugster run auth/\n\n# Run with custom configuration\nbugster run --headless --stream-results\n\n# Run only tests affected by code changes\nbugster run --only-affected\n```\n\n### `bugster update`\n\nUpdate your test specs when your codebase changes. Intelligently detects modifications and updates relevant tests.\n\n```bash\nbugster update [options]\n\nOptions:\n --update-only Only update existing specs\n --suggest-only Only suggest new specs\n --delete-only Only delete obsolete specs\n --show-logs Show detailed logs during analysis\n```\n\n### `bugster sync`\n\nSynchronize test cases with your team across different branches and environments.\n\n```bash\nbugster sync [options]\n\nOptions:\n --branch BRANCH Branch to sync with (defaults to current)\n --pull Only pull specs from remote\n --push Only push specs to remote\n --clean-remote Delete remote specs that don't exist locally\n --dry-run Show what would happen without making changes\n --prefer OPTION Prefer 'local' or 'remote' when resolving conflicts\n```\n\n**Examples:**\n```bash\n# Sync with main branch\nbugster sync --branch main\n\n# Only download remote changes\nbugster sync --pull\n\n# Preview sync changes\nbugster sync --dry-run\n```\n\n### `bugster issues`\n\nGet debugging information about failed test runs from recent executions.\n\n```bash\nbugster issues [options]\n\nOptions:\n --history Get issues from the last week\n --save Save issues to .bugster/issues directory\n```\n\n### `bugster upgrade`\n\nUpdate Bugster CLI to the latest version.\n\n```bash\nbugster upgrade [options]\n\nOptions:\n -y, --yes Automatically confirm the upgrade\n```\n\n### `bugster destructive`\n\n\ud83d\udd25 **Destructive** testing for changed pages\n\nRun AI-powered destructive agents to find potential bugs in your recent code changes.\nAgents like 'form_destroyer' and 'ui_crasher' will attempt to break your application.\n\n**Examples:**\n```bash\n# Run on all changed pages\nbugster destructive\n\n# Run without browser UI\nbugster destructive --headless\n\n# Run up to 5 agents in parallel\nbugster destructive --max-concurrent 5\n\n# Run local link rot agent to find broken links\nbugster destructive --local-agent link-rot\n```\n\n#### Local Agents\n\nThe `destructive` command now supports local agents that run entirely on your machine without needing the Bugster API.\n\n- `--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.\n\n#### Verification Steps for Link Rot Agent\n\nTo verify the functionality of the `bugster destructive --local-agent link-rot` command:\n\n1. **Dependency Installation:**\n * Ensure you have `httpx` installed: `pip install httpx`\n * Install Playwright browsers: `playwright install` (if not already installed by Bugster's automated setup).\n\n2. **Test Existing Functionality:**\n * Run the project's existing test suite to ensure no regressions were introduced:\n ```bash\n pytest tests/\n ```\n (Adjust the command if your project uses a different test runner or specific test paths).\n\n3. **Manual Testing Protocol (Link Rot Agent):**\n * **Setup a Test Environment:**\n * Create a simple web project (e.g., a basic HTML file served by a local web server, or a Next.js/React app).\n * Include some intentionally broken links (e.g., `<a href=\"/non-existent-page\">Broken Link</a>`) and some valid links.\n * Ensure your `bugster.config.yaml` `base_url` points to your local test server (e.g., `http://localhost:3000`).\n * **Simulate Code Changes:**\n * Make a small, non-functional change to the file containing the links (e.g., add a comment) to ensure `git diff` detects it.\n * **Run the Link Rot Agent:**\n ```bash\n bugster destructive --local-agent link-rot --base-url http://localhost:YOUR_PORT\n ```\n (Replace `YOUR_PORT` with the port your local test server is running on).\n * **Expected Output:**\n * The CLI should report any broken links found on the changed pages.\n * If no broken links are found, it should indicate that.\n * The output should be formatted clearly, showing the page and the broken link URL.\n\n## Configuration\n\nBugster CLI uses a YAML configuration file located at `.bugster/config.yaml`:\n\n```yaml\nproject_name: \"My App\"\nproject_id: \"my-app-123456\"\nbase_url: \"http://localhost:3000\"\ncredentials:\n - id: \"admin\"\n username: \"admin\"\n password: \"admin\"\nx-vercel-protection-bypass: \"optional-bypass-key\"\n```\n\n### Authentication\n\nSet up your API key to connect with the Bugster platform:\n\n```bash\nbugster auth\n```\n\nThis will guide you through:\n1. Opening the Bugster dashboard\n2. Copying your API key\n3. Configuring authentication locally\n\n## Examples\n\n### Basic Workflow\n\n```bash\n# 1. Set up your project\nbugster init\n\n# 2. Generate test cases from your codebase\nbugster generate\n\n# 3. Run all tests\nbugster run\n\n# 4. Run specific tests with streaming\nbugster run auth/ --stream-results\n```\n\n### CI/CD Integration\n\n```bash\n# Run tests in CI environment\nbugster run \\\n --headless \\\n --stream-results \\\n --base-url $PREVIEW_URL \\\n --output results.json\n```\n\n### Team Collaboration\n\n```bash\n# Pull latest test changes from team\nbugster sync --pull\n\n# Update tests after code changes\nbugster update\n\n# Push updated tests to team\nbugster sync --push\n```\n\n### Advanced Usage\n\n```bash\n# Run only tests affected by recent changes\nbugster run --only-affected --max-concurrent 3\n\n# Generate test cases with debugging\nbugster generate --force --show-logs\n\n# Sync with conflict resolution\nbugster sync --prefer local --dry-run\n```\n\n## Project Structure\n\nAfter initialization, Bugster creates the following structure:\n\n```\n.bugster/\n\u251c\u2500\u2500 config.yaml # Project configuration\n\u251c\u2500\u2500 tests/ # Generated test specifications\n\u2502 \u251c\u2500\u2500 auth/ # Feature-based test organization\n\u2502 \u2502 \u251c\u2500\u2500 1_login.yaml\n\u2502 \u2502 \u2514\u2500\u2500 2_signup.yaml\n\u2502 \u2514\u2500\u2500 dashboard/\n\u2502 \u2514\u2500\u2500 1_overview.yaml\n\u251c\u2500\u2500 results/ # Test execution results\n\u251c\u2500\u2500 videos/ # Test recordings (when enabled)\n\u2514\u2500\u2500 logs/ # Execution logs\n```\n\n## Supported Frameworks\n\n- \u2705 **Next.js**: Full support for both App Router and Pages Router\n- \ud83d\udea7 **React**: Coming soon\n- \ud83d\udea7 **Vue.js**: Coming soon\n\n## Test Limits\n\nBugster CLI applies intelligent test limits to ensure efficient execution:\n\n- **Free tier**: Up to 5 tests per execution\n- **Distribution**: Tests are distributed across feature folders\n- **Selection**: Representative tests are chosen using smart algorithms\n\n## Requirements\n\n- **Python**: 3.10 or higher\n- **Node.js**: 18 or higher\n- **Operating System**: Windows 10+, macOS 10.15+, or Linux\n- **Browser**: Chrome/Chromium (automatically installed via Playwright)\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- \ud83d\udcda **Documentation**: [docs.bugster.dev](https://docs.bugster.dev)\n- \ud83c\udf10 **Dashboard**: [gui.bugster.dev](https://gui.bugster.dev)\n- \ud83d\udc19 **GitHub**: [github.com/Bugsterapp/bugster-cli](https://github.bugster.com/Bugsterapp/bugster-cli)\n- \ud83d\udcac **Issues**: [GitHub Issues](https://github.com/Bugsterapp/bugster-cli/issues)\n\n---\n\n<div align=\"center\">\n <p>Built with \u2764\ufe0f by Bugster</p>\n <p>\n <a href=\"https://gui.bugster.dev\">Dashboard</a> \u2022\n <a href=\"https://docs.bugster.dev\">Documentation</a> \u2022\n <a href=\"https://github.com/Bugsterapp/bugster-cli\">GitHub</a>\n </p>\n</div>\n",
"bugtrack_url": null,
"license": null,
"summary": "A CLI tool for managing test cases",
"version": "0.3.24",
"project_urls": null,
"split_keywords": [
"testing",
" cli",
" automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e5182a9df820c8efdd5c839e33e9c7bbd9ff84a82b3776559a83a7f80f0843b6",
"md5": "82e7b881a8a924c214366fdda1eb3828",
"sha256": "2fc691124ac69a01b42d88e5cfa4891b59967a2bc1d6fe292a1c91ecf8234b54"
},
"downloads": -1,
"filename": "bughunter_akabarki76-0.3.24-py3-none-any.whl",
"has_sig": false,
"md5_digest": "82e7b881a8a924c214366fdda1eb3828",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 65144,
"upload_time": "2025-07-09T00:24:45",
"upload_time_iso_8601": "2025-07-09T00:24:45.579191Z",
"url": "https://files.pythonhosted.org/packages/e5/18/2a9df820c8efdd5c839e33e9c7bbd9ff84a82b3776559a83a7f80f0843b6/bughunter_akabarki76-0.3.24-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "75a8eb9a2c2adcaf7ad7f825eaa9fef1aa641248d0dbef37c8f2565fd77004ff",
"md5": "d8b2f66a30521b318d973ea64ef1994a",
"sha256": "55d7ce8dc252f069a72b6b4dcc094830647fad8ba0f22a86466c7cea78ab7a10"
},
"downloads": -1,
"filename": "bughunter_akabarki76-0.3.24.tar.gz",
"has_sig": false,
"md5_digest": "d8b2f66a30521b318d973ea64ef1994a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 56120,
"upload_time": "2025-07-09T00:24:47",
"upload_time_iso_8601": "2025-07-09T00:24:47.114354Z",
"url": "https://files.pythonhosted.org/packages/75/a8/eb9a2c2adcaf7ad7f825eaa9fef1aa641248d0dbef37c8f2565fd77004ff/bughunter_akabarki76-0.3.24.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-09 00:24:47",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "bughunter-akabarki76"
}