CLI Reference
The FirePan CLI is not publicly distributed yet, and the firepan-labs/firepan-cli repository below is not public. This page documents internal and engagement tooling. For public use, start with the GitHub App or the free scan API.
Complete reference for the FirePan command-line interface.
Installation
# Clone the repository
git clone https://github.com/firepan-labs/firepan-cli.git
cd firepan-cli
# Install dependencies
pip install -e .
# Verify installation
firepan --version
Global Options
These options apply to all commands:
| Option | Description |
|---|---|
--help | Show help message |
--version | Show version number |
--verbose, -v | Increase output verbosity |
--quiet, -q | Suppress non-essential output |
Commands
scan
Quick security scan of a repository or directory.
firepan scan <target> [options]
Arguments:
| Argument | Description |
|---|---|
target | GitHub URL, local path, or - for stdin |
Options:
| Option | Description | Default |
|---|---|---|
--format | Output format: json, html, md, csv | json |
--output, -o | Output file path | stdout |
--budget | Max LLM calls per repo | 5 |
--model | LLM model override | auto-detect |
--no-llm | Skip LLM verification | false |
--batch | CSV file for batch scanning | - |
--max-concurrent | Concurrent scans (batch mode) | 10 |
Examples:
# Scan a GitHub repository
firepan scan https://github.com/org/repo
# Generate HTML report
firepan scan https://github.com/org/repo --format html -o report.html
# Batch scan from CSV
firepan scan --batch repos.csv -o results.csv
# Quick scan without AI (faster, more false positives)
firepan scan /path/to/contracts --no-llm
project
Manage audit projects for deep analysis.
project create
firepan project create <name> <path> [options]
Create a new project from a local directory or GitHub URL.
Options:
| Option | Description |
|---|---|
--description | Project description |
Example:
firepan project create myaudit https://github.com/org/repo
project list
firepan project list
List all projects.
project delete
firepan project delete <name>
Delete a project and its data.
graph
Build and manage knowledge graphs for deep analysis.
graph build
firepan graph build <project> [options]
Build or update the knowledge graph for a project.
Options:
| Option | Description | Default |
|---|---|---|
--init | Initialize a new graph | false |
--iterations | Analysis iterations | 3 |
Example:
# Initialize and build graph
firepan graph build myaudit --init --iterations 1
# Update existing graph
firepan graph build myaudit --iterations 2
graph visualize
firepan graph visualize <project> [options]
Generate a visualization of the knowledge graph.
Options:
| Option | Description | Default |
|---|---|---|
--format | Output format: html, dot, json | html |
--output | Output file path | stdout |
agent
Run autonomous analysis agents.
agent audit
firepan agent audit <project> [options]
Run the autonomous audit agent on a project.
Options:
| Option | Description | Default |
|---|---|---|
--budget | Max LLM calls | 1000 |
--strategy | Analysis strategy: balanced, deep, quick | balanced |
Example:
firepan agent audit myaudit --budget 500
report
Generate reports from audit results.
firepan report <project> [options]
Options:
| Option | Description | Default |
|---|---|---|
--format | Output format: html, md, pdf, json | html |
--output, -o | Output file path | stdout |
--template | Custom report template | default |
Example:
firepan report myaudit --format html -o audit-report.html
Authentication
The CLI uses your FirePan account for API access:
# Login with your FirePan account
firepan login
# Check authentication status
firepan whoami
# Logout
firepan logout
Your API key is stored securely in ~/.firepan/credentials.
Configuration File
Create ~/.firepan/config.yaml for persistent settings:
# Default scan options
scan:
format: json
max_concurrent: 10
# Output preferences
output:
color: true
verbose: false
Exit Codes
| Code | Meaning |
|---|---|
0 | Success |
1 | General error |
2 | Invalid arguments |
3 | Critical findings detected (with --fail-on critical) |
4 | High findings detected (with --fail-on high) |
Batch CSV Format
For --batch mode, CSV should have columns:
GitHub URL,github_url,url, orrepo_urlName,name,Login, orlogin(optional)
Example:
Name,GitHub URL
Uniswap,https://github.com/Uniswap/v4-core
Aave,https://github.com/aave/aave-v3-core
Next Steps
- Scan - Quick scanning guide
- Audit - Comprehensive analysis
- CI/CD Integration - Automation guide