id = "sbcl"
name = "SBCL"
homepage = "https://www.sbcl.org"
description = "Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler."
executables = ["sbcl"]
[dotfiles]
paths = ["~/.sbclrc"]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Run Lisp"
description = "Start SBCL, evaluate expressions or load files, or run a script. Core selection, memory sizing and the less common runtime switches are partly covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://github.com/sbcl/sbcl/blob/master/doc/sbcl.1"
revision = "2026-10-27"
evidence = """
--dynamic-space-size <size>
--noinform
Suppress the printing of any banner or other informational message at startup.
--eval <command>
--load <filename>
--no-userinit
--no-sysinit
--noprint
--disable-debugger
--non-interactive
--script <filename>
"""
[[commands.field]]
id = "script"
label = "Script file"
description = "Load this file and exit instead of entering the REPL."
type = "path"
option = ["--script"]
path = { kind = "file", role = "input" }
sources = ["man"]
[[commands.field]]
id = "eval"
label = "Expression to evaluate"
description = "Evaluated before the REPL starts. Repeat for several."
type = "string"
option = ["--eval"]
multiple = true
sources = ["man"]
[[commands.field]]
id = "load"
label = "File to load"
type = "path"
option = ["--load"]
multiple = true
path = { kind = "file", role = "input" }
sources = ["man"]
[[commands.field]]
id = "non_interactive"
label = "Non-interactive"
description = "Disable the debugger and exit after processing the options."
type = "boolean"
option = ["--non-interactive"]
sources = ["man"]
[[commands.field]]
id = "noinform"
label = "No banner"
type = "boolean"
option = ["--noinform"]
sources = ["man"]
[[commands.field]]
id = "noprint"
label = "No prompt or result echo"
type = "boolean"
option = ["--noprint"]
sources = ["man"]
[[commands.field]]
id = "disable_debugger"
label = "Disable debugger"
type = "boolean"
option = ["--disable-debugger"]
sources = ["man"]
[[commands.field]]
id = "no_userinit"
label = "Skip user init file"
type = "boolean"
option = ["--no-userinit"]
sources = ["man"]
[[commands.field]]
id = "no_sysinit"
label = "Skip system init file"
type = "boolean"
option = ["--no-sysinit"]
sources = ["man"]
[[commands.field]]
id = "dynamic_space_size"
label = "Dynamic space size"
description = "Units kb, MB, GB or TB; the default unit is megabytes."
type = "string"
option = ["--dynamic-space-size"]
suggestions = [{ value = "2GB", label = "2 GB" }, { value = "8GB", label = "8 GB" }]
sources = ["man"]
[[commands.task]]
id = "run-script"
label = "Run a script"
fields = ["script", "dynamic_space_size"]
required = ["script"]
[[commands.task]]
id = "batch-eval"
label = "Evaluate expressions and exit"
set = { non_interactive = [true], noinform = [true] }
lock = ["non_interactive"]
fields = ["eval", "load", "non_interactive", "noinform", "no_userinit"]
required = ["eval"]
[[commands.task]]
id = "repl-load"
label = "REPL with files loaded"
fields = ["load", "eval", "noinform", "no_userinit"]
required = ["load"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["script", "eval", "load", "non_interactive", "noinform"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["noprint", "disable_debugger", "no_userinit", "no_sysinit", "dynamic_space_size"]