{
  "id": "chicken",
  "name": "CHICKEN Scheme",
  "homepage": "https://www.call-cc.org",
  "description": "A compiler and interpreter for the Scheme programming language.",
  "executables": [
    "csi",
    "csc",
    "chicken",
    "chicken-install"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/chicken/csirc",
      "~/.csirc"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Run Scheme with csi",
    "description": "Run the CHICKEN interpreter on Scheme files or an expression. Compiler (csc) and chicken-install options are not covered.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://manpages.debian.org/unstable/chicken-bin/csi.1.en.html",
        "revision": "2026-10-27",
        "evidence": "-e EXPRESSION, -eval EXPRESSION   Evaluate the given expression.\n-p EXPRESSION, -print EXPRESSION  Evaluate and print the result(s) of the given expression.\n-D SYMBOL, -feature SYMBOL        Register feature identifier.\n-q, -quiet                        Do not print banner.\n-n, -no-init                      Do not load initialization file. .csirc\n-b, -batch                        Terminate after command-line processing.\n-w, -no-warnings                  Disable all warnings.\n-i, -case-insensitive             Enable case-insensitive reading.\n-s PATHNAME, -script PATHNAME     Use interpreter for shell scripts.\n-ss PATHNAME                      Run a script with a main procedure\n-R NAME, -require-extension NAME  Import extension before executing code.\n-I PATHNAME, -include-path PATHNAME  Add PATHNAME to the include path.\n--                                Ignore all following options.\n"
      }
    ],
    "field": [
      {
        "id": "files",
        "label": "Scheme files",
        "description": "Files loaded in order before the REPL starts (or before exit with batch).",
        "type": "path",
        "position": 0,
        "multiple": true,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "eval",
        "label": "Evaluate expression",
        "type": "string",
        "option": [
          "-e"
        ],
        "multiple": true,
        "sources": [
          "help"
        ]
      },
      {
        "id": "print",
        "label": "Evaluate and print",
        "type": "string",
        "option": [
          "-p"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "script",
        "label": "Run as script",
        "type": "path",
        "option": [
          "-s"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "main_script",
        "label": "Run script with main procedure",
        "type": "path",
        "option": [
          "-ss"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "batch",
        "label": "Exit after processing",
        "type": "boolean",
        "option": [
          "-b"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "quiet",
        "label": "No banner",
        "type": "boolean",
        "option": [
          "-q"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_init",
        "label": "Skip .csirc",
        "type": "boolean",
        "option": [
          "-n"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_warnings",
        "label": "Disable warnings",
        "type": "boolean",
        "option": [
          "-w"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "require",
        "label": "Import extension",
        "type": "string",
        "option": [
          "-R"
        ],
        "multiple": true,
        "sources": [
          "help"
        ]
      },
      {
        "id": "include_path",
        "label": "Include path",
        "type": "path",
        "option": [
          "-I"
        ],
        "multiple": true,
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "repl",
        "label": "Open REPL, loading files",
        "fields": [
          "files",
          "quiet",
          "no_init",
          "require"
        ]
      },
      {
        "id": "eval",
        "label": "Evaluate an expression",
        "set": {
          "batch": [
            true
          ]
        },
        "fields": [
          "print",
          "batch",
          "quiet",
          "require"
        ],
        "required": [
          "print"
        ]
      },
      {
        "id": "script",
        "label": "Run a script",
        "fields": [
          "script",
          "include_path",
          "require"
        ],
        "required": [
          "script"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "files",
          "print",
          "eval",
          "script",
          "main_script",
          "batch"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "quiet",
          "no_init",
          "no_warnings",
          "require",
          "include_path"
        ]
      }
    ]
  }
}
