id = "aptos"
name = "Aptos CLI"
homepage = "https://github.com/aptos-labs/aptos-core"
description = "Aptos is a layer 1 blockchain built to support the widespread use of blockchain through better technology and user experience."
executables = ["aptos"]
[dotfiles]
paths = []
secret = ["~/.aptos/config.yaml"]
[commands]
format = 1
label = "Aptos CLI"
description = "Compile, test and publish Move packages. Profile creation, accounts, gas options and the other move subcommands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["move", "compile"]
label = "Compile a Move package"
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://aptos.dev/en/build/cli/working-with-move-contracts"
revision = "2026-10"
evidence = """
aptos move compile --package-dir <your-package-directory>
aptos move compile --package-dir aptos-move/move-examples/hello_blockchain/ --named-addresses hello_blockchain=default
"""
[[commands.subcommand.field]]
id = "package_dir"
label = "Package directory"
type = "path"
option = ["--package-dir"]
path = { kind = "directory", role = "input" }
sources = ["docs"]
[[commands.subcommand.field]]
id = "named_addresses"
label = "Named addresses"
description = "name=address pairs, e.g. hello_blockchain=default."
type = "string"
option = ["--named-addresses"]
sources = ["docs"]
[[commands.subcommand.task]]
id = "compile"
label = "Compile a package"
fields = ["package_dir", "named_addresses"]
required = ["package_dir"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["package_dir", "named_addresses"]
[[commands.subcommand]]
path = ["move", "test"]
label = "Test a Move package"
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://aptos.dev/en/build/cli/working-with-move-contracts"
revision = "2026-10"
evidence = """
aptos move test --package-dir <your-package-directory>
aptos move test --coverage
you can do so with the --filter option. To narrow even further to specific Move modules, use the --module parameter.
aptos move compile --package-dir aptos-move/move-examples/hello_blockchain/ --named-addresses hello_blockchain=default
"""
[[commands.subcommand.field]]
id = "package_dir"
label = "Package directory"
type = "path"
option = ["--package-dir"]
path = { kind = "directory", role = "input" }
sources = ["docs"]
[[commands.subcommand.field]]
id = "named_addresses"
label = "Named addresses"
type = "string"
option = ["--named-addresses"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "coverage"
label = "Collect coverage"
type = "boolean"
option = ["--coverage"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "filter"
label = "Filter tests"
type = "string"
option = ["--filter"]
sources = ["docs"]
[[commands.subcommand.task]]
id = "test"
label = "Run tests"
fields = ["package_dir", "named_addresses", "coverage"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["package_dir", "named_addresses", "coverage", "filter"]
[[commands.subcommand]]
path = ["move", "publish"]
label = "Publish a Move package"
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://aptos.dev/en/build/cli/working-with-move-contracts"
revision = "2026-10"
evidence = """
aptos move publish --package-dir <your-package-directory>
the credentials you pass into optional parameters like --named-addresses will need to reflect accounts on that network
You can override that to specify which account to publish to using --profile in the command.
To simulate locally, append the --local option to your command. You can also profile gas usage with the --profile-gas option.
publish with the --included-artifacts none argument.
"""
[[commands.subcommand.field]]
id = "package_dir"
label = "Package directory"
type = "path"
option = ["--package-dir"]
path = { kind = "directory", role = "input" }
sources = ["docs"]
[[commands.subcommand.field]]
id = "named_addresses"
label = "Named addresses"
type = "string"
option = ["--named-addresses"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "profile"
label = "Profile"
description = "Account profile to publish from; defaults to the default profile."
type = "string"
option = ["--profile"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "local"
label = "Simulate locally"
type = "boolean"
option = ["--local"]
sources = ["docs"]
[[commands.subcommand.task]]
id = "publish"
label = "Publish a package"
fields = ["package_dir", "named_addresses", "profile"]
required = ["package_dir"]
[[commands.subcommand.task]]
id = "simulate"
label = "Simulate publishing"
fields = ["package_dir", "named_addresses", "local"]
required = ["package_dir"]
set = { local = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["package_dir", "named_addresses", "profile", "local"]