package commandkit import ( "context" "io" ) // Identity describes the application or component represented by CommandKit. // // Version and Revision are caller supplied metadata. CommandKit does not infer // them from an executable or mutate them. type Identity struct { // Name is the human-readable application or component name. Name string // Version is the caller-supplied version string. Version string // Revision is the caller-supplied source revision. Revision string } // Streams contains the output destinations associated with a command // invocation. type Streams struct { // Out receives help and command reports. Out io.Writer // Err receives diagnostics and usage guidance. Err io.Writer } // Invocation provides execution context and output streams to a command // handler. type Invocation struct { // Context carries caller cancellation and request-scoped values. Context context.Context // Streams are the caller-selected output destinations. Streams Streams }