Hey! These docs are for version 2.13, which is no longer officially supported. Click here for the latest version, 2.17!

Pants commands are known as _goals_, such as `test` and `lint`.

To see the current list of goals, run:

You'll see more goals activated as you activate more [backends](🔗).

# Running goals

For example:

You can also run multiple goals in a single run of Pants, in which case they will run sequentially:

Finally, Pants supports running goals in a `--loop`. In this mode, all goals specified will run sequentially, and then Pants will wait until a relevant file has changed to try running them again.

Use `Ctrl+C` to exit the `--loop`.

# Goal arguments

Most goals require arguments to know what to work on.

You can use several argument types:

Argument typeSemanticsExample
File pathMatch the file`./pants test project/tests.py`
Directory pathMatch everything in the directory`./pants test project/utils`
`::` globsMatch everything in the directory and below`./pants test project::`
[Target addresses](🔗)Match the target`./pants package project:tests`

You can combine argument types, e.g. `./pants fmt src/go:: src/py/app.py`.

To ignore something, prefix the argument with `-`. For example, `./pants test :: -project/integration_tests` will run all your tests except for those in the directory `project/integration_tests`.

Set `[GLOBAL].use_deprecated_directory_cli_args_semantics = false` in `pants.toml`

This will become the default in Pants 2.14.

Tip: advanced target selection, such as running over changed files

See [Advanced target selection](🔗) for alternative techniques to specify which files/targets to run on.

## Goal options

Many goals also have [options](🔗) to change how they behave. Every option in Pants can be set via an environment variable, config file, and the command line.

To see if a goal has any options, run `./pants help $goal` or `./pants help-advanced $goal`. See [Command Line Help](🔗) for more information.

For example:

You can then use the option by prefixing it with the goal name:

You can also put the option after the file/target arguments:

As a shorthand, if you put the option after the goal and before the file/target arguments, you can leave off the goal name in the flag: