Skip to main content

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:
{ // 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 package. All squid templates include such a file with a predefined set of useful shortcuts. See Cheatsheet.
Last modified on November 13, 2025