thip

Provides a set of commands for interacting with the Technical Health Improvement Plan and its steps.

Usage: system thip <object> <command> [options…]

Common Options:

All of the Technical Health Improvement Plan commands, except for where noted, support the following options:

--language

The language to investigate. Must be a language contained within the provided codebase. Defaults to the language with the highest file count. Defaults to Core 1, the largest core within the system.

--out

An optional file to write output data to.

--output-format

An optional format specifier. Must be one of human, csv, tsv, json. Defaults to human for human-readable output if not provided.

--core

When operating on steps, the core to use.

Use of these commands requires that a Technical Health Improvement Plan exists. In order to create a Technical Health Improvement Plan, run produce_thip with the desired system selected.

These commands will only operate on a single system at a time, if multiple systems are selected, or no systems are selected, this command will exit with an error.

The result of these commands is local to a given system. Prioritization will not carry over to other systems in a project.

Overview

These commands are meant to be used in conjunction with a Technical Health Improvement Plan. The general workflow is:

  • Create Technical Health Improvement Plan.

  • Use thip commands to alter priority on certain steps.

  • Re-run the Technical Health Improvement Plan to see results.

Prioritization

Prioritization of a step will flag a step as “priority”. Priority steps are always included, and moved to the top of the list of steps. The order of priority steps in subsequent runs of the Technical Health Improvement Plan are the order in which they were prioritized.

See prioritize and de-prioritize for more information about changing step priority.

Exclusion Lists

In order to allow removal of steps from the Technical Health Improvement Plan, the CodeMRI platform maintains a per-language “exclusion list” for each system. This “exclusion list” consists of file relationships that may not be severed in the process of decomposing a core. Note that adding steps to this exclusion list may significantly change any following steps in the Technical Health Improvement Plan as the core decomposer will need to find an alternate (and possibly less optimal) route to take.

Exclusions and Priority

In the event that a step is both prioritized and excluded, prioritization will take precedence. A warning will be displayed on the console detailing which exclusion list entries are prioritized.

Sub-commands