setup
Install virtual environment, dependencies, and initialize database.Syntax
Options
Skip dependency installation (useful when re-running setup after manual changes)
What It Does
- Creates virtual environment at
.venv/(skips if exists) - Installs Python dependencies from
requirements.txt - Installs Playwright Chromium for browser automation
- Creates
.envfile from.env.example(if missing) - Tests data directory permissions by writing a test file
- Runs database migrations via Alembic
- Configures Claude Code permissions (if using Claude Code agent)
Output
Platform Notes
Linux
Playwright Chromium requires system dependencies. If browser fails to launch:Windows
Usescrapai or scrapai.bat instead of ./scrapai:
Skip Dependencies
Runs migrations and permission checks without reinstalling packages:verify
Verify environment setup without installing anything. Useful for troubleshooting or CI/CD pipelines.Syntax
What It Checks
- Virtual environment exists at
.venv/ - Core dependencies installed (scrapy, sqlalchemy, alembic)
- Database initialized (checks current Alembic revision)
Output
Success
Missing Setup
Claude Code Permissions
Setup configures Claude Code agent permissions in.claude/settings.local.json.
Allow List
Deny List
These permissions ensure the agent writes config (JSON), not code (Python). This is a core security principle of scrapaiβs agent safety model.
Environment Variables
The.env file created by setup:
Troubleshooting
Permission Denied (Linux/macOS)
Make the script executable:Python Version
Requires Python 3.9 or higher:Virtual Environment Issues
Delete and recreate:Database Migration Errors
CheckDATABASE_URL in .env and ensure database is accessible:
Next Steps
Spider Management
Import and manage spider configurations
Crawling
Run your first test crawl