Skip to main content


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": "",
"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
{"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.