Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Armur-Ai/Pentest-Swarm-AI/llms.txt
Use this file to discover all available pages before exploring further.
pentestswarm doctor is your first stop when something is not working. It runs eight infrastructure checks (API server, database, cache, Ollama, Docker, Go version, disk, and RAM) and then probes for every security tool the swarm can use, grouped by purpose. Missing Go-installable tools can be auto-installed with --fix; everything else prints a copy-pasteable shell command.
pentestswarm init is the companion command you run once after installation. It captures your Claude API key into the OS keychain, runs the same tool probe, and writes a minimal ~/.pentestswarm/config.yaml so all other commands have sensible defaults.
Synopsis
doctor — Flags
Automatically run
go install for any missing tools whose install hint is a go install ... command. Tools that require brew, apt, or pip are printed as shell commands for you to run manually — doctor --fix never touches your package manager.Infrastructure checks
doctor checks these eight infrastructure components in order:
| # | Check | What it tests | Fix hint when failing |
|---|---|---|---|
| 1 | API server reachable | TCP dial to localhost:8080 | pentestswarm serve |
| 2 | PostgreSQL connection | TCP dial to localhost:5432 | docker compose -f deploy/docker-compose.dev.yml up -d |
| 3 | Redis connection | TCP dial to localhost:6379 | docker compose -f deploy/docker-compose.dev.yml up -d |
| 4 | Ollama running | TCP dial to localhost:11434 | Install from https://ollama.com, then ollama serve |
| 5 | Docker daemon | docker info --format {{.ServerVersion}} | Install from https://docker.com |
| 6 | Go version | runtime.Version() | Always passes — reports the compiled Go version |
| 7 | Disk space (>10 GB) | Simplified heuristic check | Ensure ≥10 GB free on the working drive |
| 8 | RAM (>8 GB) | runtime.MemStats.Sys estimate | Ensure ≥8 GB RAM available |
API server, PostgreSQL, and Redis are optional for local CLI-only use. They are required only when you run
pentestswarm serve and use the web dashboard or REST API. The swarm functions without them.Security tools probe
After the infrastructure checks,doctor probes the PATH for every security tool the swarm can leverage. Tools are grouped by function:
Reconnaissance
| Tool | Purpose | Install |
|---|---|---|
subfinder | Passive subdomain enumeration | go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest |
dnsx | DNS A/AAAA/CNAME resolution | go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest |
httpx | HTTP probing and fingerprinting | go install github.com/projectdiscovery/httpx/cmd/httpx@latest |
naabu | Fast port scanning | go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest |
katana | Web crawler (JS-aware) | go install github.com/projectdiscovery/katana/cmd/katana@latest |
gau | Historical URL discovery | go install github.com/lc/gau/v2/cmd/gau@latest |
nmap | Port and service scanner | brew install nmap / apt install nmap |
amass | Deep OSINT and ASM | brew install amass / apt install amass |
Vulnerability scanners
| Tool | Purpose | Install |
|---|---|---|
nuclei | CVE + misconfiguration templates (critical) | go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest |
sqlmap | SQL-injection exploitation | brew install sqlmap / apt install sqlmap |
Content discovery
| Tool | Purpose | Install |
|---|---|---|
ffuf | URL and parameter fuzzing | go install github.com/ffuf/ffuf/v2@latest |
gobuster | Alternative content discovery | brew install gobuster / apt install gobuster |
Source / secret scanning
| Tool | Purpose | Install |
|---|---|---|
trufflehog | Repository and artifact secret scanning | brew install trufflehog |
gitleaks | Git history secret scanning | brew install gitleaks |
semgrep | SAST for in-scope repositories | pip install semgrep |
Evidence capture
| Tool | Purpose | Install |
|---|---|---|
gowitness | Headless screenshots for reports | go install github.com/sensepost/gowitness@latest |
Auto-fix
When--fix is passed, doctor attempts to install every missing tool whose install hint begins with go install:
pentestswarm init
init is the one-time interactive setup command you run once after installing the binary. It does three things:
- Captures your Claude API key — prompts for the key (or reads from env in CI mode) and stores it in the OS native keychain (macOS Keychain, Linux Secret Service, Windows Credential Manager). The key is never written to disk.
- Runs the tool probe — prints the same grouped checklist as
doctor. - Writes
~/.pentestswarm/config.yaml— a minimal config file with sensible defaults. The API key is intentionally omitted from this file so it is safe to commit.
init — Flags
Skip all prompts. Reads the API key from
PENTESTSWARM_ORCHESTRATOR_API_KEY or ANTHROPIC_API_KEY environment variables. Useful for CI/CD pipelines.Overwrite an existing keychain entry and
config.yaml without prompting.~/.pentestswarm/config.yaml:
Examples
scan
Run a pentest after doctor confirms all dependencies are healthy
serve
Start the API server whose reachability
doctor checksplaybook
Check which tools your playbooks require are installed
scope
Import bug-bounty scope after credentials are set up with
init