squirrelscan uses a layered configuration system that combines TOML config files and JSON settings to customize behavior.Documentation Index
Fetch the complete documentation index at: https://docs.squirrelscan.com/llms.txt
Use this file to discover all available pages before exploring further.
Configuration is Optional
squirrelscan works out of the box with sensible defaults. You only need configuration when you want to customize behavior. Zero-config defaults:- Crawls up to 500 pages
- 100ms delay between requests
- Respects robots.txt
- Checks external links (cached 7 days)
- Runs all rules except AI-powered ones
- Console output format
Configuration System
squirrelscan has two separate configuration systems:1. Project Configuration (squirrel.toml)
What it controls:
- How the crawler behaves (limits, delays, patterns)
- Which audit rules run
- Output format defaults
- Per-rule options
2. CLI Settings (settings.json)
What it controls:
- Update channel (stable/beta)
- Auto-update preferences
- Notification settings
- Feedback email
Configuration Hierarchy
Settings are merged from multiple sources in this priority order:1. Project Config (squirrel.toml)
Priority: Highest (overrides everything)
Location: squirrelscan walks up from current directory to home directory looking for squirrel.toml
- Crawler settings
- Rule enable/disable
- Rule options
- Output format
- External link checking
2. Local CLI Settings (.squirrel/settings.json)
Priority: Medium
Location: .squirrel/settings.json in project directory
Create:
- CLI notifications (project-scoped)
- Update channel preferences (project-scoped)
3. User CLI Settings (~/.squirrel/settings.json)
Priority: Low
Location:
- Unix/macOS:
~/.squirrel/settings.json - Windows:
%LOCALAPPDATA%\squirrel\settings.json
- Update channel (stable/beta)
- Auto-update preferences
- Notification settings
- Feedback email
- Dismissed update versions
4. Built-in Defaults
Priority: Lowest Scope: All settings have defaultsProject Configuration
Project configuration is stored insquirrel.toml using TOML format.
Sections
| Section | Purpose | Learn More |
|---|---|---|
[project] | Project name, allowed domains | Project Settings |
[crawler] | Crawl limits, delays, patterns | Crawler Settings |
[rules] | Enable/disable audit rules | Rules Configuration |
[external_links] | External link checking | External Links |
[output] | Default output format | Output Settings |
[rule_options.*] | Per-rule configuration | Rule Options |
Quick Start
Create a config file:squirrel.toml with all available settings:
Example Configurations
See Configuration Examples for common use cases:- High-volume crawl
- Multi-domain project
- CI/CD pipeline
- Accessibility audit
- Performance audit
CLI Settings
CLI settings control squirrel’s own behavior (updates, notifications).User Settings
Global settings in~/.squirrel/settings.json:
Local Settings
Project-scoped settings in.squirrel/settings.json:
- Disable notifications for specific project
- Use beta channel for one project only
- Different settings for work vs personal projects
Managing Configuration
View Configuration
Show effective config (merged from all sources):Modify Configuration
Edit file directly:Validate Configuration
Check for errors:Configuration vs Settings
| Aspect | Project Config (squirrel.toml) | CLI Settings (settings.json) |
|---|---|---|
| Format | TOML | JSON |
| Purpose | Audit behavior | CLI behavior |
| Scope | Crawler, rules, output | Updates, notifications |
| Managed by | squirrel init, squirrel config | squirrel self settings |
| Location | Project directory (walks up) | ~/.squirrel/ or .squirrel/ |
| Examples | Max pages, rule patterns, delays | Update channel, notifications |
Next Steps
Project Settings
Project name and allowed domains
Crawler Settings
Crawl limits, delays, and patterns
Rules Configuration
Enable/disable audit rules
Examples
Common configuration examples
Related
- init - Create config file
- config - Manage config
- self settings - Manage CLI settings