ciToolDefinition function
The tool definition of a CI tool: one command per stage in stages, plus
all, each described by descriptions (which must hold all too).
Implementation
ToolDefinition ciToolDefinition({
required String name,
required String description,
required String version,
required List<String> stages,
required Map<String, String> descriptions,
String? helpFooter,
String examplePrefix = 'ci.sh',
}) => ToolDefinition(
name: name,
description: description,
version: version,
mode: ToolMode.multiCommand,
features: NavigationFeatures.minimal,
commands: [
for (final stage in [...stages, 'all'])
CommandDefinition(
name: stage,
description: descriptions[stage] ?? '',
requiresTraversal: false,
supportsProjectTraversal: false,
examples: ['$examplePrefix :$stage'],
),
],
helpFooter: helpFooter,
);