TiCS Client Basics

The TICS client is used to check the quality of your code before committing (or pushing) it to the repository.

Running TiCS Client

You invoke the TICS client from the command-line as follows:
TICS [ @ ] { input } ... [ -- { compiler options } ]

Passing the files to analyze to TICS

Examples of TICS calls are TICS xyz.cpp abc.c and TICS @xyz.vcxproj. The TICS executable accepts multiple files as arguments (including wildcards in directory and file names). It can also process a list of input files from a file list. This is achieved by prefixing the file list with an "at" symbol '@', e.g., TICS @Address.lst. It is not allowed to nest file lists.

For an example of how to use file lists in the TICS context, see this use case.

Using wildcard parameters in the file argument, like everything/in/my/directory/*, is discouraged. This is because some shells (among which Bash and the Windows command line prompt) already resolve these wildcard parameters before starting TICS, and pass the resolved parameters to TICS rather than the wildcard as is. As such, if you use wildcard parameters, you may not be passing the command line arguments to TICS that you are expecting - resulting in unexpected behavior.

Note also that the client will check against the ARCHIVE.txt file(s) unless a list of source files is directly passed to the client, for instance TICS src1.cpp src2.cpp src3.cpp. If it however contains any containers (for instance a file list or a directory) then then the ARCHIVE.txt will be used.

Further filtering on the set of input files can be done by using the -language parameter. For instance, if you are checking the contents of a large directory but are only interested in the Python code, you can use the parameter -language PYTHON to filter out all non-Python files.

When the ARCHIVE.txt is used by the TICS client and different code types are specified within the ARCHIVE.txt file, the default behaviour of the TICS client is to exclude all files that are not marked as production code. If you still want to analyze files that are not production code, the following ways are available to do so:

For some other options regarding filtering the list of files that TICS analyzes, you can check out use cases how to control the TICS analysis set.


The TICS client needs to authenticate itself when communicating with the viewer. The procedure to obtain an authentication token is described here.

Display Options

Being a console application, the TICS client outputs its results to the console. This output can be adjusted to show specific information. Please refer to the Controlling TICS output section for more information.

It is also possible to view the TiCS Client results inside the TiCS Viewer. This is a more convenient way to explore your code quality data. Please refer to the Client Viewer section for more information.