#2012·task

想法: 通过使用任务文件模板使 `--init` 更加强大

作者: andreynering创建于 2025年1月22日更新于 2026年8月31日
标签area: ui

从之前在 https://GitHub.com/go-task/task/discussions/2010 中与 @HeCorr 的讨论来看,这是一个需要讨论的想法,如果我们认为不值得的话,我们可以放弃。我们默认的 Taskfile 从 `--init` 生成的非常简单。它基本上是一个骨架,以便用户可以开始添加自己的任务。理论上,我们可以为每种应用程序提供一些模板:Go、Rust、Ruby on Rails、npm、Yarn、Deno、Docker 等。在我看来,它们应该仍然是基本的,但可以通过提供一个起点来帮助用户。从实现的角度来看,我们可以在仓库中创建名为 `templates` 的目录,其中包含每个模板,并通过 `go embed` 将其嵌入二进制文件中。一旦调用了 `--init=rails`,它将使用 Rails 模板进行初始化,例如(`templates/rails/Taskfile.yaml`)。此外,我们可以允许用户使用自己的目录覆盖这些模板。不确定如何更加实用,是使用 CLI 标志还是像 `TASK_EXTRA_TEMPLATES_DIR` 这样的环境变量,但我们会将它们与我们的默认模板合并。