-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcli.yml
52 lines (51 loc) · 1.53 KB
/
cli.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
definitions:
output: &output
long: output
short: o
type: string
name: cliff
short: Tool for the building CLIs through a single YAML config file
flags:
- long: file
short: f
type: string
description: Specify an alternate config file
default: cli.yml
global: true
commands:
- name: build
short: Build a cli binary
args: 1
flags:
- <<: *output
description: Path of the output binary
default: /usr/local/bin
- long: goos
type: string
description: Specify the environment where the binary will run. Ex. darwin, linux, windows, etc. It defaults to the current system
- long: goarch
type: string
description: Specify the architecture where the binary will run. Ex. arm, amd64, ppc, etc. It defaults to the current system
- long: gobuild-flags
type: string
default: -o=/data/cliff-binary
description: series of flags to be passed to the "go build" command
- name: bash-completion
short: Create a bash completion file
args: 0
flags:
- <<: *output
description: Path of the output bash completion file
default: ~/.cliff-completion
- name: package
short: Zip a binary and bash completion files for sharing
args: 0
flags:
- <<: *output
description: Path of the output binary
default: cliff.zip
run: echo package flags["output"]
- name: scaffold
short: Generate an application scaffold to add custom Go commands
args: 0
run: echo scaffold