{
  "commands": {
    "sync": {
      "aliases": [],
      "args": {
        "mode": {
          "description": "Mode: ls, pin or add",
          "name": "mode",
          "options": [
            "ls",
            "pin",
            "add"
          ],
          "required": true
        }
      },
      "description": "Sync pins from an origin IPFS node to a destination IPFS node",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "bgipfs sync ls",
        "bgipfs sync pin",
        "bgipfs sync add",
        "bgipfs sync ls --limit 10",
        "bgipfs sync pin --limit 5",
        "bgipfs sync add --statusFile sync-status.csv",
        "bgipfs sync add --statusFile sync-status.csv --retry",
        "bgipfs sync add --chunkSize 20 --progressUpdate 50",
        "bgipfs sync add --errorThreshold 25 --errorWindow 50"
      ],
      "flags": {
        "chunkSize": {
          "description": "Number of pins to process in parallel",
          "name": "chunkSize",
          "default": 10,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "errorThreshold": {
          "description": "Stop if rolling error rate exceeds this percentage (0-100)",
          "name": "errorThreshold",
          "default": 50,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "errorWindow": {
          "description": "Number of pins to consider for rolling error rate",
          "name": "errorWindow",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Limit the number of pins to process (useful for testing)",
          "name": "limit",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "pinSource": {
          "description": "Source of pins: \"origin\" or path to CSV file",
          "name": "pinSource",
          "default": "origin",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "progressUpdate": {
          "description": "Number of pins to process before showing progress",
          "name": "progressUpdate",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "retry": {
          "description": "Retry failed pins from status file",
          "name": "retry",
          "allowNo": false,
          "type": "boolean"
        },
        "statusFile": {
          "description": "File to track sync status. If exists, will resume from last state.",
          "name": "statusFile",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "sync",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "sync",
        "index.js"
      ]
    },
    "upload": {
      "aliases": [],
      "args": {
        "path": {
          "description": "Path to file/directory or URL to upload",
          "name": "path",
          "required": true
        }
      },
      "description": "Upload a file, directory, or URL to IPFS",
      "examples": [
        "$ bgipfs upload path/to/file.txt",
        "$ bgipfs upload path/to/directory",
        "$ bgipfs upload https://example.com",
        "$ bgipfs upload --config ./custom/path/config.json path/to/file.txt"
      ],
      "flags": {
        "config": {
          "char": "c",
          "description": "Path to config file",
          "name": "config",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "upload",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "upload",
        "index.js"
      ]
    },
    "version": {
      "aliases": [],
      "args": {},
      "description": "Show version information for bgipfs, ipfs-cluster-ctl, and running containers",
      "examples": [
        "bgipfs version"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "version",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "version",
        "index.js"
      ]
    },
    "sync:config": {
      "aliases": [],
      "args": {},
      "description": "Initialize IPFS sync configuration",
      "examples": [
        "<%= config.bin %> sync:config"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "sync:config",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "sync",
        "config",
        "index.js"
      ]
    },
    "cluster:auth": {
      "aliases": [],
      "args": {
        "password": {
          "description": "Password for authentication",
          "name": "password",
          "required": false
        },
        "username": {
          "description": "Username for authentication",
          "name": "username",
          "required": false
        }
      },
      "description": "Manage authentication credentials",
      "flags": {
        "role": {
          "char": "r",
          "description": "Role to manage (admin or user)",
          "name": "role",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "admin",
            "user"
          ],
          "type": "option"
        },
        "update": {
          "char": "u",
          "description": "Update credentials",
          "name": "update",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:auth",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "auth",
        "index.js"
      ]
    },
    "cluster:backup": {
      "aliases": [],
      "args": {},
      "description": "Create a backup of IPFS cluster data and configuration",
      "examples": [
        "bgipfs cluster backup",
        "bgipfs cluster backup --output ./my-backup"
      ],
      "flags": {
        "output": {
          "char": "o",
          "description": "Output directory for backup (defaults to ./backup_YYYYMMDD_HHMMSS)",
          "name": "output",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:backup",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "backup",
        "index.js"
      ]
    },
    "cluster:config": {
      "aliases": [],
      "args": {},
      "description": "Set up the necessary configuration for IPFS Cluster",
      "flags": {
        "force": {
          "char": "f",
          "description": "Force configuration: stop running containers, overwrite templates, and skip prompts if valid env exists",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "mode": {
          "char": "m",
          "description": "Configuration mode to run",
          "name": "mode",
          "default": "all",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "templates",
            "environment",
            "initialization",
            "all"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:config",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "hooks": {
        "postrun": [
          "init-cleanup"
        ]
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "config",
        "index.js"
      ]
    },
    "cluster:install": {
      "aliases": [],
      "args": {},
      "description": "Install all required dependencies",
      "flags": {
        "force": {
          "char": "f",
          "description": "Force reinstall of components",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:install",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "install",
        "index.js"
      ]
    },
    "cluster:ipfs-announce": {
      "aliases": [],
      "args": {},
      "description": "Configure IPFS to announce its public domain for peering",
      "examples": [
        "bgipfs cluster ipfs-announce",
        "bgipfs cluster ipfs-announce --domain example.com"
      ],
      "flags": {
        "domain": {
          "char": "d",
          "description": "Public domain to announce for IPFS peering",
          "name": "domain",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Force update: skip confirmation prompts",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:ipfs-announce",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "ipfs-announce",
        "index.js"
      ]
    },
    "cluster:ipfs-peer": {
      "aliases": [],
      "args": {},
      "description": "Connect to another IPFS node",
      "examples": [
        "bgipfs cluster ipfs-peer --domain example.com --peer-id QmPeerId",
        "bgipfs cluster ipfs-peer"
      ],
      "flags": {
        "domain": {
          "char": "d",
          "description": "Domain of the IPFS node to connect to",
          "name": "domain",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "peer-id": {
          "char": "p",
          "description": "Peer ID of the IPFS node to connect to",
          "name": "peer-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:ipfs-peer",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "ipfs-peer",
        "index.js"
      ]
    },
    "cluster:logs": {
      "aliases": [],
      "args": {
        "service": {
          "description": "Service to show logs for (ipfs, cluster, traefik)",
          "name": "service",
          "options": [
            "ipfs",
            "cluster",
            "traefik"
          ],
          "required": false
        }
      },
      "description": "Show container logs",
      "flags": {
        "follow": {
          "char": "f",
          "description": "Follow log output",
          "name": "follow",
          "allowNo": false,
          "type": "boolean"
        },
        "tail": {
          "char": "n",
          "description": "Number of lines to show from the end of logs",
          "name": "tail",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "timestamps": {
          "char": "t",
          "description": "Show timestamps",
          "name": "timestamps",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:logs",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "logs",
        "index.js"
      ]
    },
    "cluster:peer": {
      "aliases": [],
      "args": {},
      "description": "Connect to another IPFS node",
      "examples": [
        "bgipfs cluster peer --domain example.com --peer-id QmPeerId",
        "bgipfs cluster peer"
      ],
      "flags": {
        "domain": {
          "char": "d",
          "description": "Domain of the IPFS node to connect to",
          "name": "domain",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "peer-id": {
          "char": "p",
          "description": "Peer ID of the IPFS node to connect to",
          "name": "peer-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:peer",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "peer",
        "index.js"
      ]
    },
    "cluster:reset": {
      "aliases": [],
      "args": {},
      "description": "Reset IPFS cluster and remove all data",
      "flags": {
        "config": {
          "char": "c",
          "description": "Also remove configuration files",
          "name": "config",
          "allowNo": false,
          "type": "boolean"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompts",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:reset",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "reset",
        "index.js"
      ]
    },
    "cluster:restart": {
      "aliases": [],
      "args": {},
      "description": "Restart the IPFS cluster",
      "flags": {
        "force": {
          "char": "f",
          "description": "Force restart: skip confirmation prompt",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:restart",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "restart",
        "index.js"
      ]
    },
    "cluster:start": {
      "aliases": [],
      "args": {},
      "description": "Start IPFS cluster",
      "examples": [
        "bgipfs cluster start",
        "bgipfs cluster start --mode dns"
      ],
      "flags": {
        "mode": {
          "char": "m",
          "description": "Cluster mode: ip (default) or dns (with Cloudflare proxy)",
          "name": "mode",
          "default": "ip",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "ip",
            "dns"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:start",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "start",
        "index.js"
      ]
    },
    "cluster:stop": {
      "aliases": [],
      "args": {},
      "description": "Stop IPFS cluster",
      "flags": {
        "clean": {
          "char": "c",
          "description": "Remove containers after stopping",
          "name": "clean",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:stop",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "stop",
        "index.js"
      ]
    },
    "cluster:update": {
      "aliases": [],
      "args": {},
      "description": "Update IPFS and IPFS Cluster to their latest versions",
      "examples": [
        "bgipfs cluster update",
        "bgipfs cluster update --no-backup",
        "bgipfs cluster update --backup-dir ./my-backup"
      ],
      "flags": {
        "backup-dir": {
          "description": "Directory to store backup (defaults to ./backup_YYYYMMDD_HHMMSS)",
          "name": "backup-dir",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Force update: skip confirmation prompts",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "no-backup": {
          "description": "Skip creating a backup before updating",
          "name": "no-backup",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "cluster:update",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "cluster",
        "update",
        "index.js"
      ]
    },
    "upload:config": {
      "aliases": [],
      "args": {
        "action": {
          "description": "Action to perform (init|get)",
          "name": "action",
          "options": [
            "init",
            "get"
          ],
          "required": true
        }
      },
      "description": "Manage IPFS upload configuration",
      "examples": [
        "$ bgipfs upload config init",
        "$ bgipfs upload config get"
      ],
      "flags": {
        "apiKey": {
          "char": "k",
          "description": "BGIPFS API key",
          "name": "apiKey",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "nodeAuth": {
          "char": "a",
          "description": "Node authorization header",
          "name": "nodeAuth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "nodeUrl": {
          "char": "u",
          "description": "Node URL",
          "name": "nodeUrl",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "upload:config",
      "pluginAlias": "bgipfs",
      "pluginName": "bgipfs",
      "pluginType": "core",
      "strict": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "upload",
        "config",
        "index.js"
      ]
    }
  },
  "version": "0.0.18"
}