Files
cli-spec-generator/examples/my-cli.yaml

79 lines
1.9 KiB
YAML

name: my-cli
version: 1.0.0
description: A sample CLI tool for demonstration
author: John Doe
license: MIT
bin: my-cli
globalOptions:
- name: verbose
short: v
description: Enable verbose output
type: boolean
default: false
- name: config
short: c
description: Path to configuration file
type: string
default: "~/.my-clirc"
commands:
- name: start
description: Start the service
aliases: [run, begin]
options:
- name: port
short: p
description: Port number to listen on
type: number
default: 8080
- name: host
short: h
description: Host address to bind to
type: string
default: "localhost"
arguments:
- name: service
description: Name of the service to start
required: true
- name: stop
description: Stop a running service
options:
- name: force
short: f
description: Force stop without cleanup
type: boolean
default: false
- name: config
description: Manage configuration
aliases: [cfg, conf]
subcommands:
- name: show
description: Display current configuration
options:
- name: format
short: f
description: Output format (json, yaml)
type: string
default: "yaml"
- name: set
description: Set a configuration value
arguments:
- name: key
description: Configuration key
required: true
- name: value
description: Configuration value
required: true
examples:
- description: Start a service on port 3000
command: "my-cli start --port 3000 api-server"
output: "Starting api-server on port 3000..."
- description: Show current configuration in JSON format
command: "my-cli config show --format json"
output: "{\"port\": 8080, \"host\": \"localhost\"}"