id = "aftman" name = "Aftman" homepage = "https://github.com/LPGhatguy/aftman" description = "Aftman is a toolchain manager. It enables installing project-specific command line tools." executables = ["aftman"] [dotfiles] # README: "To install a tool system-wide so that it can be used anywhere, edit # ~/.aftman/aftman.toml", and "edit ~/.aftman/auth.toml to add it" for a # GitHub Personal Access Token. paths = ["~/.aftman/aftman.toml"] # src/home.rs and src/tool_storage.rs: /.aftman/bin holds the trampoline # executables and /.aftman/tool-storage the downloaded binaries. exclude = [ "~/.aftman/bin/", "~/.aftman/tool-storage/", ] # auth.toml is nothing but access tokens: `github = "pat goes here"`. secret = ["~/.aftman/auth.toml"] # The manifests are read on every command; nothing stays resident. side_effect = false [commands] format = 1 label = "Aftman commands" description = "Manage project toolchains. self-install is left out." quality = "ai-draft" base = "fig:aftman" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/aftman.ts" license = "MIT" [[commands.subcommand]] path = ["init"] label = "Create aftman.toml" description = "Create a new aftman.toml manifest." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/aftman.ts" license = "MIT" [[commands.subcommand.field]] id = "path" label = "Folder" description = "Defaults to the current directory." type = "path" position = 0 path = { kind = "directory", role = "output", must_exist = false } sources = ["fig"] [[commands.subcommand.task]] id = "init" label = "Initialize here" fields = ["path"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["path"] [[commands.subcommand]] path = ["add"] label = "Add a tool" description = "Add a tool to aftman.toml and install it." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/aftman.ts" license = "MIT" [[commands.subcommand.field]] id = "tool" label = "Tool" description = "owner/repo, optionally with @version, for example rojo-rbx/rojo@7.4.1." type = "string" position = 0 sources = ["fig"] [[commands.subcommand.field]] id = "alias" label = "Alias" description = "Name used to run the tool. Defaults to the repository name." type = "string" position = 1 sources = ["fig"] [[commands.subcommand.field]] id = "global" label = "Install globally" type = "boolean" option = ["--global"] sources = ["fig"] [[commands.subcommand.task]] id = "add" label = "Add a tool" fields = ["tool", "alias", "global"] required = ["tool"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["tool", "alias", "global"] [[commands.subcommand]] path = ["install"] label = "Install tools" description = "Install every tool listed in the aftman.toml files above the current directory." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/aftman.ts" license = "MIT" [[commands.subcommand.field]] id = "no_trust_check" label = "Skip trust check" description = "Installs tools even if they are not already trusted." type = "boolean" option = ["--no-trust-check"] effect = "exec" sources = ["fig"] [[commands.subcommand.task]] id = "install" label = "Install all tools" fields = ["no_trust_check"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["no_trust_check"] [[commands.subcommand]] path = ["trust"] label = "Trust a tool" description = "Mark a tool as trusted so it can be installed without prompting." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/aftman.ts" license = "MIT" [[commands.subcommand.field]] id = "tool" label = "Tool" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "trust" label = "Trust a tool" fields = ["tool"] required = ["tool"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["tool"]