Doorman
DocsGet StartedGitHub

© 2025 griffen.codes

DiscordIssuesGitHub
    Documentation

    Getting Started

    • Getting Started

    Configuration

    • Configuration
    • Templates
    • Examples

    Commands

    • Commands Overview

    Guides

    • CI/CD Integration
    • Cloudflare Setup
    • Cloudflare Migration
    View on GitHub Wiki
    Docs/Commands/Commands Overview
    Commands

    Commands Overview

    Full reference for all CLI commands including sync, download, validate, and more.

    Edit on GitHub

    Vercel Doorman provides a comprehensive set of CLI commands for managing firewall rules across providers.

    Core Commands

    list — Display Firewall Rules

    List current active rules or a specific version.

    bash
    # List current active rules
    npx vercel-doorman list
    
    # List rules from a specific version
    npx vercel-doorman list 1
    
    # List specific version in JSON format
    npx vercel-doorman list 2 --format json
    
    # Provider-specific
    npx vercel-doorman list --provider cloudflare --verbose

    sync — Deploy Configuration

    Synchronize your local configuration with the remote provider.

    bash
    # Auto-detect provider
    npx vercel-doorman sync
    
    # With explicit token
    npx vercel-doorman sync --token YOUR_TOKEN
    
    # Provider-specific
    npx vercel-doorman sync --provider cloudflare
    npx vercel-doorman sync --provider vercel --config production.config.json

    Options:

    • --config, -c — Path to config file
    • --projectId, -p — Vercel Project ID
    • --teamId, -t — Vercel Team ID
    • --token — Vercel API token
    • --provider — Target provider (vercel or cloudflare)

    download — Import Remote Configuration

    Download firewall rules from your provider to a local config file.

    bash
    # Preview changes without modifying config
    npx vercel-doorman download --dry-run
    
    # Download and update config
    npx vercel-doorman download
    
    # Download specific version
    npx vercel-doorman download 1
    
    # Provider-specific
    npx vercel-doorman download --provider cloudflare

    Options:

    • configVersion — Optional version number
    • --dry-run, -d — Preview changes
    • --config, -c — Path to config file
    • --token — API token
    • --provider — Target provider

    validate — Validate Configuration

    Check your configuration file for errors.

    bash
    npx vercel-doorman validate
    
    # Show detailed validation results
    npx vercel-doorman validate --verbose
    
    # Provider-specific validation
    npx vercel-doorman validate --provider cloudflare --strict

    Options:

    • --config, -c — Path to config file
    • --verbose, -v — Show detailed results

    template — Add Rule Templates

    Add predefined rule templates to your configuration.

    bash
    # List available templates
    npx vercel-doorman template
    
    # Add specific template
    npx vercel-doorman template wordpress
    npx vercel-doorman template ai-bots
    npx vercel-doorman template bad-bots
    npx vercel-doorman template block-ofac-sanctioned-countries

    Available Templates:

    • bad-bots — Block common malicious bot traffic
    • ai-bots — Block AI crawlers and scrapers
    • wordpress — Block WordPress-related URLs
    • block-ofac-sanctioned-countries — OFAC compliance

    Advanced Commands

    init — Initialize New Project

    bash
    # Interactive setup
    npx vercel-doorman init --interactive
    
    # With template
    npx vercel-doorman init security-focused
    
    # Cloudflare project
    npx vercel-doorman init --provider cloudflare --interactive

    Templates: empty, basic, security-focused

    status — Quick Health Check

    bash
    npx vercel-doorman status
    npx vercel-doorman status --provider cloudflare

    Shows sync status, connection health, configuration health score, and pending changes.

    diff — Detailed Change Analysis

    bash
    # Show differences between local and remote
    npx vercel-doorman diff
    
    # JSON output for CI/CD
    npx vercel-doorman diff --format json
    
    # Cross-provider comparison
    npx vercel-doorman diff --source vercel --target cloudflare

    watch — Continuous Sync

    bash
    npx vercel-doorman watch
    npx vercel-doorman watch --interval 2000
    npx vercel-doorman watch --provider cloudflare

    Watches your config file for changes and automatically syncs.

    backup — Configuration Backup & Restore

    bash
    # Create backup
    npx vercel-doorman backup
    
    # List backups
    npx vercel-doorman backup --list
    
    # Restore from backup
    npx vercel-doorman backup --restore backup-file.json

    export — Multi-Format Export

    bash
    npx vercel-doorman export --format json
    npx vercel-doorman export --format yaml
    npx vercel-doorman export --format terraform
    npx vercel-doorman export --format markdown

    setup — Show Setup Guide

    bash
    npx vercel-doorman setup

    Displays an interactive setup guide for new users.

    Global Options

    These options are available on most commands:

    • --config, -c — Path to configuration file
    • --provider — Target provider (vercel or cloudflare)
    • --token — API token
    • --verbose, -v — Verbose output
    • --help — Show help

    Environment Variables

    Instead of passing command-line arguments, set these environment variables:

    VariableDescription
    VERCEL_TOKENVercel API token
    VERCEL_PROJECT_IDVercel project ID
    VERCEL_TEAM_IDVercel team ID
    CLOUDFLARE_API_TOKENCloudflare API token
    CLOUDFLARE_ZONE_IDCloudflare zone ID
    CLOUDFLARE_ACCOUNT_IDCloudflare account ID
    DOORMAN_PROVIDERDefault provider

    Workflows

    Development Workflow

    bash
    # 1. Initialize project
    npx vercel-doorman init security-focused
    
    # 2. Watch for changes during development
    npx vercel-doorman watch
    
    # 3. Check status periodically
    npx vercel-doorman status

    Production Workflow

    bash
    # 1. Create backup before changes
    npx vercel-doorman backup
    
    # 2. Check what will change
    npx vercel-doorman diff
    
    # 3. Validate configuration
    npx vercel-doorman validate
    
    # 4. Apply changes
    npx vercel-doorman sync
    
    # 5. Verify sync completed
    npx vercel-doorman status

    CI/CD Integration

    bash
    # Validate in CI
    npx vercel-doorman validate --config production.config.json
    
    # Check for changes (JSON output for parsing)
    npx vercel-doorman diff --format json
    
    # Deploy changes
    npx vercel-doorman sync --config production.config.json

    Related Pages

    • Getting Started — Quick setup guide
    • Configuration — Configuration file reference
    • Examples — Real-world configuration examples
    • Templates — Pre-built rule templates

    This content is sourced from the GitHub Wiki.

    PreviousExamplesNextCI/CD Integration