blob: 0ddc7629149491d3ebf9d02946bbab0f4c6b43d2 [file] [log] [blame]
Marcel van Lohuizen42ebafe2019-04-27 01:24:54 +02001// Code generated by cue get go. DO NOT EDIT.
2
3// Package tool defines statefull operation types for cue commands.
4//
5// This package is only visible in cue files with a _tool.cue or _tool_test.cue
6// ending.
7//
8// CUE configuration files are not influenced by and do not influence anything
9// outside the configuration itself: they are hermetic. Tools solve
10// two problems: allow outside values such as environment variables,
11// file or web contents, random generators etc. to influence configuration,
12// and allow configuration to be actionable from within the tooling itself.
13// Separating these concerns makes it clear to user when outside influences are
14// in play and the tool definition can be strict about what is allowed.
15//
16// Tools are defined in files ending with _tool.cue. These files have a
17// top-level map, "command", which defines all the tools made available through
18// the cue command.
19//
20// The following definitions are for defining commands in tool files:
21//
22// // A Command specifies a user-defined command.
23// Command: {
24// //
25// // Example:
26// // mycmd [-n] names
27// usage?: string
28//
29// // short is short description of what the command does.
30// short?: string
31//
32// // long is a longer description that spans multiple lines and
33// // likely contain examples of usage of the command.
34// long?: string
35//
36// // TODO: define flags and environment variables.
37//
38// // tasks specifies the list of things to do to run command. Tasks are
39// // typically underspecified and completed by the particular internal
40// // handler that is running them. Task de
41// tasks <name>: Task
42// }
43//
44// // A Task defines a step in the execution of a command.
45// Task: {
46// // kind indicates the operation to run. It must be of the form
47// // packagePath.Operation.
48// kind: =~#"\."#
49// }
50//
51package tool