Enum TigerCliExitKind
A portable semantic command outcome or specific framework reason a run ended. Small apps may
use these declared values directly as process exit codes; reusable command libraries may return
them for the consuming app to map through its exit-code policy. This is the most granular layer
of the layered exit model (TigerCliExitOutcome →
TigerCliExitCategory → TigerCliExitKind).
public enum TigerCliExitKind
Fields
AlreadyExists = 12- The application resource or entity to be created already exists; rolls up to Execution.
Cancelled = 9- The user cancelled an interactive prompt (Escape / timeout / token / system cancel) after a command was selected. This is a normal flow, not a validation or usage error; it rolls up to Cancelled. Appended at the end to preserve the locked declared order of the earlier kinds.
Conflict = 13- The requested operation conflicts with the current application state; rolls up to Execution.
GenericFail = 2- The command ran and reported a generic failure; rolls up to Execution.
HelpShown = 1- Help was rendered instead of executing a command; rolls up to Success.
InteractiveNotAllowed = 6- Interactive prompting was needed but the effective interaction mode does not allow it; rolls up to Usage.
InvalidArguments = 3- The command-line input could not be parsed or contained invalid values; rolls up to Usage.
MissingRequiredArgument = 4- A required argument or option was missing and could not be prompted for; rolls up to Usage.
NoCommand = 7- No command was specified or matched, and no interactive command selection was available; rolls up to Usage.
NotFound = 11- The requested application resource or entity was not found; rolls up to Execution.
NotSupported = 14- The requested operation is not supported by the command or current application context; rolls up to Execution.
ProviderError = 10- A dynamic value provider reported a deliberate failure (TigerCliProviderException): its backing source was reachable but could not produce choices, so the run could neither prompt nor validate. This is not the user's fault (not Usage or Validation) and not an unexpected bug; it rolls up to Execution. Appended at the end to preserve the locked declared order of the earlier kinds.
Success = 0- The command completed successfully.
UnhandledException = 8- An unhandled exception escaped the pipeline or the handler; rolls up to Unexpected.
ValidationError = 5- Framework validation or Validate() rejected the well-formed input; rolls up to Validation.
Remarks
The integer values are part of the contract:
Range(...) mapping walks these kinds in
ascending value order, so the declared order is locked by tests
(TigerCliExitCodeTests.ExitKind_DeclaredOrderIsLocked). Add new kinds at the end with the
next free value; never renumber or reorder existing members, or existing range mappings shift.