id = "arduino-cli"
name = "Arduino CLI"
homepage = "https://arduino.github.io/arduino-cli/latest/"
description = "An all-in-one solution that provides Boards/Library Managers, sketch builder, board detection and uploader."
icon = "SimpleIcons:arduino"
executables = ["arduino-cli"]
[dotfiles]
paths = [
"~/Library/Arduino15/arduino-cli.yaml",
"~/.arduino15/arduino-cli.yaml",
"%LOCALAPPDATA%/Arduino15/arduino-cli.yaml",
]
exclude = [
"~/Library/Arduino15/packages/",
"~/Library/Arduino15/staging/",
"~/.arduino15/packages/",
"~/.arduino15/staging/",
"%LOCALAPPDATA%/Arduino15/packages/",
"%LOCALAPPDATA%/Arduino15/staging/",
]
secret = []
side_effect = false
[[dotfiles.machine_lines]]
file = [
"~/Library/Arduino15/arduino-cli.yaml",
"~/.arduino15/arduino-cli.yaml",
"%LOCALAPPDATA%/Arduino15/arduino-cli.yaml",
]
match = { key_path = ["directories.data", "directories.downloads", "directories.user"] }
scope = "backup"
[commands]
format = 1
label = "Arduino CLI"
description = "Compile and upload sketches and manage boards, cores and libraries. Daemon, debug and config commands are left out."
quality = "ai-draft"
base = "fig:arduino-cli"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/arduino-cli.ts"
license = "MIT"
[[commands.field]]
id = "format"
label = "Output format"
type = "string"
option = ["--format"]
suggestions = [{ value = "text", label = "text" }, { value = "json", label = "json" }, { value = "jsonmini", label = "jsonmini" }, { value = "yaml", label = "yaml" }]
sources = ["fig"]
[[commands.field]]
id = "no_color"
label = "No color"
type = "boolean"
option = ["--no-color"]
sources = ["fig"]
[[commands.field]]
id = "config_file"
label = "Config file"
type = "path"
option = ["--config-file"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["fig"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["format"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["no_color", "config_file"]
[[commands.subcommand]]
path = ["compile"]
label = "Compile a sketch"
description = "Compile a sketch for a board."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/arduino-cli.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "sketch"
label = "Sketch folder"
type = "path"
position = 0
path = { kind = "directory", role = "input", must_exist = true }
sources = ["fig"]
[[commands.subcommand.field]]
id = "fqbn"
label = "Board (FQBN)"
description = "Example: arduino:avr:uno."
type = "string"
option = ["--fqbn", "-b"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "upload"
label = "Upload after compiling"
type = "boolean"
option = ["--upload", "-u"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "port"
label = "Port"
description = "Example: /dev/ttyACM0 or COM3."
type = "string"
option = ["--port", "-p"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "verify"
label = "Verify after upload"
type = "boolean"
option = ["--verify", "-t"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "clean"
label = "Clean build, no cache"
type = "boolean"
option = ["--clean"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "warnings"
label = "Warning level"
type = "string"
option = ["--warnings"]
suggestions = [{ value = "none", label = "none" }, { value = "default", label = "default" }, { value = "more", label = "more" }, { value = "all", label = "all" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "build_path"
label = "Build path"
type = "path"
option = ["--build-path"]
path = { kind = "directory", role = "output", must_exist = false }
sources = ["fig"]
[[commands.subcommand.field]]
id = "output_dir"
label = "Output directory"
type = "path"
option = ["--output-dir"]
path = { kind = "directory", role = "output", must_exist = false }
sources = ["fig"]
[[commands.subcommand.field]]
id = "library"
label = "Library folders"
type = "path"
option = ["--library"]
multiple = true
path = { kind = "directory", role = "input", must_exist = true }
sources = ["fig"]
[[commands.subcommand.field]]
id = "optimize_for_debug"
label = "Optimize for debugging"
type = "boolean"
option = ["--optimize-for-debug"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "compile"
label = "Compile"
fields = ["sketch", "fqbn", "warnings", "verbose"]
required = ["fqbn"]
[[commands.subcommand.task]]
id = "compile-upload"
label = "Compile and upload"
set = { upload = [true] }
lock = ["upload"]
fields = ["sketch", "fqbn", "port", "upload", "verify"]
required = ["fqbn", "port"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["sketch", "fqbn", "upload", "port", "verify"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["clean", "verbose", "warnings", "build_path", "output_dir", "library", "optimize_for_debug"]
[[commands.subcommand]]
path = ["upload"]
label = "Upload a sketch"
description = "Upload a compiled sketch. This does not compile first."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/arduino-cli.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "sketch"
label = "Sketch folder"
type = "path"
position = 0
path = { kind = "directory", role = "input", must_exist = true }
sources = ["fig"]
[[commands.subcommand.field]]
id = "fqbn"
label = "Board (FQBN)"
description = "Example: arduino:avr:uno."
type = "string"
option = ["--fqbn", "-b"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "port"
label = "Port"
description = "Example: /dev/ttyACM0 or COM3."
type = "string"
option = ["--port", "-p"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "verify"
label = "Verify after upload"
type = "boolean"
option = ["--verify", "-t"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "input_file"
label = "Binary file"
type = "path"
option = ["--input-file", "-i"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["fig"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "upload"
label = "Upload"
fields = ["sketch", "fqbn", "port", "verify"]
required = ["fqbn", "port"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["sketch", "fqbn", "port", "verify"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["input_file", "verbose"]
[[commands.subcommand]]
path = ["board", "list"]
label = "List connected boards"
description = "Detect boards connected to this computer."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/arduino-cli.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "watch"
label = "Keep running and print changes"
type = "boolean"
option = ["--watch", "-w"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "list"
label = "List boards"
fields = []
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["watch"]
[[commands.subcommand]]
path = ["core", "install"]
label = "Install a core"
description = "Install board platforms, for example arduino:avr."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/arduino-cli.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "cores"
label = "Cores"
type = "string"
position = 0
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_overwrite"
label = "Do not overwrite installed"
type = "boolean"
option = ["--no-overwrite"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "install"
label = "Install cores"
fields = ["cores"]
required = ["cores"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["cores", "no_overwrite"]
[[commands.subcommand]]
path = ["lib", "install"]
label = "Install a library"
description = "Install libraries by name, from a Git URL or from a zip file."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/arduino-cli.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "libs"
label = "Libraries"
description = "Name, optionally with @version."
type = "string"
position = 0
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_deps"
label = "Skip dependencies"
type = "boolean"
option = ["--no-deps"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "install"
label = "Install libraries"
fields = ["libs", "no_deps"]
required = ["libs"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["libs", "no_deps"]