id = "vfox" name = "vfox" homepage = "https://vfox.dev/" description = "A cross-platform SDK version manager" executables = ["vfox"] [dotfiles] # Current vfox documentation identifies ~/.vfox/config.yaml as the user # config. The official migration/compatibility docs also record the legacy # ~/.version-fox/config.yaml spelling, so both are retained. # https://vfox.dev/zh-hans/guides/multi-user-sharing.html # https://vfox.dev/zh-hans/guides/configuration paths = [ "~/.vfox/config.yaml", "~/.version-fox/config.yaml", ] secret = [] [commands] format = 1 label = "vfox" description = "Install and switch SDK versions with the vfox version manager." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["install"] label = "Install SDK versions" description = "Install one or more SDKs, e.g. nodejs@20." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://vfox.dev/usage/core-commands.html" revision = "2026-10-27" evidence = """vfox install nodejs@20 golang ... -a, --all: Install all SDK versions recorded in .vfox.toml -y, --yes: Quick installation, skip interactive prompts --reinstall: Replace an installed version with a fresh copy""" [[commands.subcommand.field]] id = "sdks" label = "SDK@version" type = "string" position = 0 multiple = true sources = ["docs"] [[commands.subcommand.field]] id = "all" label = "Install all from .vfox.toml" type = "boolean" option = ["--all", "-a"] sources = ["docs"] [[commands.subcommand.field]] id = "yes" label = "Skip prompts" type = "boolean" option = ["--yes", "-y"] sources = ["docs"] [[commands.subcommand.field]] id = "reinstall" label = "Reinstall" description = "Replace an installed version with a fresh copy." type = "boolean" option = ["--reinstall"] effect = "overwrite" sources = ["docs"] [[commands.subcommand.task]] id = "install" label = "Install SDKs" fields = ["sdks", "yes"] required = ["sdks"] [[commands.subcommand.task]] id = "install_all" label = "Install everything in .vfox.toml" fields = ["all", "yes"] required = ["all"] set = { all = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["sdks", "all", "yes", "reinstall"] [[commands.subcommand]] path = ["use"] label = "Use an SDK version" description = "Set the active version of an SDK in a scope." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://vfox.dev/usage/core-commands.html" revision = "2026-10-27" evidence = """vfox use [options] [@] -g, --global: Effective globally -p, --project: Effective in the current directory($PWD) -s, --session: Effective within the current Shell session""" [[commands.subcommand.field]] id = "sdk" label = "SDK[@version]" description = "Omit the version to pick from a list." type = "string" position = 0 min = 1 sources = ["docs"] [[commands.subcommand.field]] id = "global" label = "Global scope" type = "boolean" option = ["--global", "-g"] sources = ["docs"] [[commands.subcommand.field]] id = "project" label = "Project scope" description = "Effective in the current directory." type = "boolean" option = ["--project", "-p"] sources = ["docs"] [[commands.subcommand.field]] id = "session" label = "Session scope" description = "Effective in the current shell session." type = "boolean" option = ["--session", "-s"] sources = ["docs"] [[commands.subcommand.task]] id = "use_project" label = "Use for this project" fields = ["sdk", "project"] required = ["sdk", "project"] set = { project = [true] } [[commands.subcommand.task]] id = "use_global" label = "Use globally" fields = ["sdk", "global"] required = ["sdk", "global"] set = { global = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["sdk", "global", "project", "session"]