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"] # Aptos' own source documentation says `aptos init` creates this config and # that it contains the default account address; the CLI config also carries # account private keys, so the whole file is secret material. # https://github.com/aptos-labs/aptos-core/blob/main/aptos-move/move-examples/mint_nft/1-Create-NFT/sources/create_nft.move [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 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 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 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"]