{
  "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
    },
    "subcommand": [
      {
        "path": [
          "move",
          "compile"
        ],
        "label": "Compile a Move package",
        "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>\naptos move compile --package-dir aptos-move/move-examples/hello_blockchain/ --named-addresses hello_blockchain=default\n"
          }
        ],
        "field": [
          {
            "id": "package_dir",
            "label": "Package directory",
            "type": "path",
            "option": [
              "--package-dir"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "docs"
            ]
          },
          {
            "id": "named_addresses",
            "label": "Named addresses",
            "description": "name=address pairs, e.g. hello_blockchain=default.",
            "type": "string",
            "option": [
              "--named-addresses"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "compile",
            "label": "Compile a package",
            "fields": [
              "package_dir",
              "named_addresses"
            ],
            "required": [
              "package_dir"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "package_dir",
              "named_addresses"
            ]
          }
        ]
      },
      {
        "path": [
          "move",
          "test"
        ],
        "label": "Test a Move package",
        "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>\naptos move test --coverage\nyou can do so with the --filter option. To narrow even further to specific Move modules, use the --module parameter.\naptos move compile --package-dir aptos-move/move-examples/hello_blockchain/ --named-addresses hello_blockchain=default\n"
          }
        ],
        "field": [
          {
            "id": "package_dir",
            "label": "Package directory",
            "type": "path",
            "option": [
              "--package-dir"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "docs"
            ]
          },
          {
            "id": "named_addresses",
            "label": "Named addresses",
            "type": "string",
            "option": [
              "--named-addresses"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "coverage",
            "label": "Collect coverage",
            "type": "boolean",
            "option": [
              "--coverage"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "filter",
            "label": "Filter tests",
            "type": "string",
            "option": [
              "--filter"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "test",
            "label": "Run tests",
            "fields": [
              "package_dir",
              "named_addresses",
              "coverage"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "package_dir",
              "named_addresses",
              "coverage",
              "filter"
            ]
          }
        ]
      },
      {
        "path": [
          "move",
          "publish"
        ],
        "label": "Publish a Move package",
        "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>\nthe credentials you pass into optional parameters like --named-addresses will need to reflect accounts on that network\nYou can override that to specify which account to publish to using --profile in the command.\nTo simulate locally, append the --local option to your command. You can also profile gas usage with the --profile-gas option.\npublish with the --included-artifacts none argument.\n"
          }
        ],
        "field": [
          {
            "id": "package_dir",
            "label": "Package directory",
            "type": "path",
            "option": [
              "--package-dir"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "docs"
            ]
          },
          {
            "id": "named_addresses",
            "label": "Named addresses",
            "type": "string",
            "option": [
              "--named-addresses"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "profile",
            "label": "Profile",
            "description": "Account profile to publish from; defaults to the default profile.",
            "type": "string",
            "option": [
              "--profile"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "local",
            "label": "Simulate locally",
            "type": "boolean",
            "option": [
              "--local"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "publish",
            "label": "Publish a package",
            "fields": [
              "package_dir",
              "named_addresses",
              "profile"
            ],
            "required": [
              "package_dir"
            ]
          },
          {
            "id": "simulate",
            "label": "Simulate publishing",
            "fields": [
              "package_dir",
              "named_addresses",
              "local"
            ],
            "required": [
              "package_dir"
            ],
            "set": {
              "local": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "package_dir",
              "named_addresses",
              "profile",
              "local"
            ]
          }
        ]
      }
    ]
  }
}
