🕷️ Mantis is a powerful web accessibility and UI bug detection tool that crawls websites to discover issues before they reach production.
Originally created for Hack The North 2025
- 🔍 Comprehensive Web Crawling: Deep crawl of websites with configurable depth and page limits
- ♿ Accessibility Testing: Automated detection of accessibility violations
- 🎨 Visual Layout Analysis: Detection of UI layout bugs and visual inconsistencies
- 📊 Real-time Dashboard: Live monitoring of crawl progress with WebSocket updates
- 📋 Detailed Reporting: JSON reports with bug details, evidence, and recommendations
- 🚀 Easy CLI Interface: Simple command-line tool for quick scans
pip install mantis-web-crawler
playwright install# Clone the repository
git clone https://github.com/yourusername/mantis.git
cd mantis
# Install the package
pip install -e .
# Install Playwright browsers (required)
playwright installTo use AI-powered visual analysis, set your API keys as environment variables:
# Add to your shell profile (.bashrc, .zshrc, etc.) or set before running
export COHERE_API_KEY="your-cohere-api-key-here"
export GEMINI_API_KEY="your-gemini-api-key-here" # Optional, alternative to CohereOr set them temporarily for a single session:
# Set for current session only
export COHERE_API_KEY="your-api-key"
mantis run https://example.comAfter installation, you can run Mantis directly from anywhere:
# Basic crawl
mantis run https://example.com
# Advanced options
mantis run https://example.com --max-depth 2 --max-pages 25
mantis run https://example.com --output my_report.json --verbose
mantis run https://example.com --dashboard # Launch with live dashboardmantis run https://example.commantis run https://example.com --max-depth 3 --max-pages 50mantis run https://example.com --output accessibility_report.json --verbosemantis run https://example.com --dashboardurl: Starting URL to crawl (required)--max-depth: Maximum crawl depth (default: 3)--max-pages: Maximum number of pages to crawl (default: 10)--output: Output file for JSON report (optional)--verbose: Enable verbose logging--dashboard: Launch real-time monitoring dashboard--scan-type: One of 'all', 'ui', 'accessibility' or 'performance'. Defaults to 'all'.
- Python 3.8+
- Playwright browsers (automatically installed with
playwright install)
# Clone the repo
git clone https://github.com/yourusername/mantis.git
cd mantis
# Install in development mode
pip install -e .[dev]
# Install pre-commit hooks
pre-commit install
# Run tests
pytestWe welcome contributions! Please see our contributing guidelines for more details.
MIT License - see LICENSE file for details.