id = "roswell"
name = "Roswell"
homepage = "https://roswell.github.io/"
description = "Lisp installer and launcher for major environments."
executables = ["ros"]
[dotfiles]
paths = ["~/.roswell/init.lisp"]
exclude = []
secret = []
[commands]
format = 1
label = "Roswell"
description = "Install a Lisp implementation or script, or switch the default implementation. Options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["install"]
label = "Install an implementation or script"
[[commands.subcommand.source]]
id = "readme"
kind = "manual"
url = "https://raw.githubusercontent.com/roswell/roswell/HEAD/README.md"
revision = "2026-10-27"
evidence = """
$ ros install # displays a list of all installable implementations
$ ros install sbcl-bin # default sbcl
$ ros install sbcl/1.2.0 # A specific version of sbcl
$ ros install fukamachi/qlot # will install it from the GitHub
"""
[[commands.subcommand.field]]
id = "target"
label = "Implementation or script"
description = "e.g. sbcl-bin, sbcl/1.2.0, fukamachi/qlot. Empty lists installable implementations."
type = "string"
position = 0
suggestions = [{ value = "sbcl-bin", label = "SBCL (prebuilt)" }, { value = "ccl-bin", label = "CCL (prebuilt)" }]
sources = ["readme"]
[[commands.subcommand.task]]
id = "install"
label = "Install"
fields = ["target"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["target"]
[[commands.subcommand]]
path = ["use"]
label = "Change default implementation"
[[commands.subcommand.source]]
id = "readme"
kind = "manual"
url = "https://raw.githubusercontent.com/roswell/roswell/HEAD/README.md"
revision = "2026-10-27"
evidence = """
$ ros use sbcl/1.2.3 # change the default implementation
"""
[[commands.subcommand.field]]
id = "target"
label = "Implementation"
description = "e.g. sbcl/1.2.3 or sbcl/system."
type = "string"
position = 0
sources = ["readme"]
[[commands.subcommand.task]]
id = "use"
label = "Switch default"
fields = ["target"]
required = ["target"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["target"]