风格指南
本文是 Taskfile.yml 文件的官方风格指南,提供保持 Taskfile 整洁且易于其他用户理解的基本指导原则。
本指南包含通用规范,但并非必须严格遵循。您可以根据需要或个人偏好自由调整。欢迎对本指南提出改进建议!请通过提交 issue 或创建 pull request 参与贡献。
采用建议的主章节排序
yaml
version:
includes:
# 可选配置项 (output, silent, method, run 等)
vars:
env: # 后接或被 dotenv 替代
tasks:使用两个空格进行缩进
这是 YAML 文件最通用的规范,Task 也遵循此约定。
yaml
# 错误示例
tasks:
foo:
cmds:
- echo 'foo'
# 正确示例
tasks:
foo:
cmds:
- echo 'foo'使用空行分隔主章节
yaml
# 错误示例
version: '3'
includes:
docker: ./docker/Taskfile.yml
output: prefixed
vars:
FOO: bar
env:
BAR: baz
tasks:
# ...
# 正确示例
version: '3'
includes:
docker: ./docker/Taskfile.yml
output: prefixed
vars:
FOO: bar
env:
BAR: baz
tasks:
# ...使用空行分隔任务
yaml
# 错误示例
version: '3'
tasks:
foo:
cmds:
- echo 'foo'
bar:
cmds:
- echo 'bar'
baz:
cmds:
- echo 'baz'
# 正确示例
version: '3'
tasks:
foo:
cmds:
- echo 'foo'
bar:
cmds:
- echo 'bar'
baz:
cmds:
- echo 'baz'变量名统一使用大写字母
yaml
# 错误示例
version: '3'
vars:
binary_name: myapp
tasks:
build:
cmds:
- go build -o {{.binary_name}} .
# 正确示例
version: '3'
vars:
BINARY_NAME: myapp
tasks:
build:
cmds:
- go build -o {{.BINARY_NAME}} .模板变量使用时避免添加空格
yaml
# 错误示例
version: '3'
tasks:
greet:
cmds:
- echo '{{ .MESSAGE }}'
# 正确示例
version: '3'
tasks:
greet:
cmds:
- echo '{{.MESSAGE}}'此约定在 Go 语言模板中也广泛使用。
任务名称采用短横线命名法
yaml
# 错误示例
version: '3'
tasks:
do_something_fancy:
cmds:
- echo 'Do something'
# 正确示例
version: '3'
tasks:
do-something-fancy:
cmds:
- echo 'Do something'使用冒号分隔任务命名空间与名称
yaml
# 正确示例
version: '3'
tasks:
docker:build:
cmds:
- docker ...
docker:run:
cmds:
- docker-compose ...引入的 Taskfile 会自动采用此格式。
优先使用外部脚本而非多行命令
yaml
# 错误示例
version: '3'
tasks:
build:
cmds:
- |
for i in $(seq 1 10); do
echo $i
echo "some other complex logic"
done'
# 正确示例
version: '3'
tasks:
build:
cmds:
- ./scripts/my_complex_script.sh