Right now the only way to make the target directory be different from the working directory is by providing a target file to the command. But not all commands support target file arguments, and not always a target file is needed in order to focus the work in a given module.
We should allow a target directory to be passed as an argument so that filtering logic can be applied even for commands that don't support target files.
To make this possible, we should change the way templated commands declare their support for target files to be more expressive and allow for them to declare support both target file and/or target directory (or neither). Instead of passing the target file as an argument to the command, we should add a flag for target file, and another for target directory, and make sure that they are mutually exclusive.
Right now the only way to make the target directory be different from the working directory is by providing a target file to the command. But not all commands support target file arguments, and not always a target file is needed in order to focus the work in a given module.
We should allow a target directory to be passed as an argument so that filtering logic can be applied even for commands that don't support target files.
To make this possible, we should change the way templated commands declare their support for target files to be more expressive and allow for them to declare support both target file and/or target directory (or neither). Instead of passing the target file as an argument to the command, we should add a flag for target file, and another for target directory, and make sure that they are mutually exclusive.