{
  "id": "rizin",
  "name": "Rizin",
  "homepage": "https://rizin.re/",
  "description": "A UNIX-like reverse-engineering framework and command-line toolset.",
  "executables": [
    "rizin",
    "rz-asm",
    "rz-bin"
  ],
  "dotfiles": {
    "paths": [
      "~/.rizinrc"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Open a binary",
    "description": "Open a file in Rizin, optionally running commands or a script and quitting for batch analysis. Debugger, remote, project and rz-run options are left out; rz-bin and rz-asm are separate tools.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://man.archlinux.org/man/rizin.1.en",
        "revision": "Arch man page 2026-10-27",
        "evidence": "  -a\n    [arch]\n  Set the assembly architecture.(x86, ppc, arm, mips, bf, java, ...)\n  -A\n  Run 'aaa' command before prompt or patch to analyze all referenced code\n  -b\n    [bits]\n  Set the assembly bitness. (16, 32, 64)\n  -c\n    'cmd..'\n  Execute the specified Rizin command\n  -e\n    k=v\n  Evaluate the specified configuration variable\n  -i\n    [file]\n  Run the commands from the script file\n  -N\n  Disable user settings/projects from ~/.rizinrc, ~/.config/rizin/rizinrc\n  -q\n  Quiet mode, suppresses prompt and quits after script execution\n  -s\n    [addr]\n  Start seeking at this address\n  -w\n  Open in write mode\n  -d\n  Debug the executable 'file' or running process 'pid'\n"
      }
    ],
    "field": [
      {
        "id": "file",
        "label": "File",
        "type": "path",
        "position": 0,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "analyze",
        "label": "Analyze all (aaa) on load",
        "type": "boolean",
        "option": [
          "-A"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "command",
        "label": "Commands to run",
        "description": "Each entry is one Rizin command executed in order, for example 'iI' or 'afl'. Quote entries with spaces.",
        "type": "string",
        "option": [
          "-c"
        ],
        "multiple": true,
        "sources": [
          "man"
        ]
      },
      {
        "id": "script",
        "label": "Script file",
        "type": "path",
        "option": [
          "-i"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet (quit after commands)",
        "type": "boolean",
        "option": [
          "-q"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "arch",
        "label": "Architecture",
        "type": "string",
        "option": [
          "-a"
        ],
        "suggestions": [
          {
            "value": "x86",
            "label": "x86"
          },
          {
            "value": "arm",
            "label": "ARM"
          },
          {
            "value": "ppc",
            "label": "PowerPC"
          },
          {
            "value": "mips",
            "label": "MIPS"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "bits",
        "label": "Bitness",
        "type": "enum",
        "choices": [
          {
            "value": "16",
            "label": "16"
          },
          {
            "value": "32",
            "label": "32"
          },
          {
            "value": "64",
            "label": "64"
          }
        ],
        "option": [
          "-b"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "seek",
        "label": "Start address",
        "type": "string",
        "option": [
          "-s"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "eval",
        "label": "Config variables",
        "description": "One key=value per entry.",
        "type": "string",
        "option": [
          "-e"
        ],
        "multiple": true,
        "sources": [
          "man"
        ]
      },
      {
        "id": "write",
        "label": "Open in write mode",
        "type": "boolean",
        "option": [
          "-w"
        ],
        "effect": "overwrite",
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_rc",
        "label": "Skip ~/.rizinrc",
        "type": "boolean",
        "option": [
          "-N"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "interactive",
        "label": "Open and analyze",
        "fields": [
          "file",
          "analyze"
        ],
        "required": [
          "file"
        ]
      },
      {
        "id": "batch",
        "label": "Run commands and quit",
        "fields": [
          "file",
          "analyze",
          "command",
          "quiet"
        ],
        "required": [
          "file",
          "command"
        ],
        "set": {
          "quiet": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "file",
          "analyze",
          "command",
          "script",
          "quiet"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "arch",
          "bits",
          "seek",
          "eval",
          "write",
          "no_rc"
        ]
      }
    ]
  }
}
