> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sqd.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Commands Configuration

> Define custom sqd CLI commands and aliases via commands.json.

The `sqd` tool automatically discovers and loads any extra commands defined in the `commands.json` file. Here is a sample file demonstrating the available features:

```json theme={"system"}
{ // comments are ok
  "$schema": "https://subsquid.io/schemas/commands.json",
  "commands": {
    "clean": {
      "description": "delete all build artifacts",
      "cmd": ["rm", "-rf", "lib"]
    },
    "build": {
      "description": "build the project",
      "deps": ["clean"], // commands to execute before
      "cmd": ["tsc"]
    },
    "typegen": {
      "hidden": true, // Don't show in the overview listing
      "workdir": "abi", // change working dir
      "command": [
        "squid-evm-typegen", // node_modules/.bin is in the PATH
        "../src/abi",
        \{"glob": "*.json"\} // cross-platform glob expansion
      ],
      "env": { // additional environment variables
        "DEBUG": "*"
      }
    }
  }
}
```

This functionality is managed by the [`@subsquid/commands`](https://github.com/subsquid/squid-sdk/tree/master/util/commands) package.

All [squid templates](/en/sdk/squid-sdk/evm/guides/make-an-indexer#templates) include such a file with a predefined set of useful shortcuts. See [Cheatsheet](/en/sdk/squid-sdk/evm/guides/advanced/cli-cheatsheet).


## Related topics

- [Configuration](/en/data/evm-local-setup/configuration.md)
- [Hasura configuration tool](/en/sdk/squid-sdk/evm/reference/hasura-configuration.md)
- [Deployment manifest](/en/cloud/reference/manifest.md)
- [Deployment Guide](/en/cloud/deployment-guide.md)
- [FAQ](/en/sdk/squid-sdk/substrate/faq.md)
