SuperAPI AI 工具集

cli-just

部署与运维

查看项目

更新于 10-15 15:22

技能介绍

用途

cli-just 用于 just/justfile 任务自动化,包括创建 justfile、编写 recipe、配置设置、添加模块与属性,以及搭建命令运行器工作流。目标是创建可读的任务自动化,并与仓库已安装的 Just 版本和现有 justfile 约定保持一致。

主要能力

  • 创建和编辑 justfile、recipe、模块与属性。
  • 配置 Just 设置(settings)、dotenv、列表等。
  • 编写 shell 或脚本 recipe,并处理 macOS Bash 约束。
  • 使用表达式、函数、常量等语法元素。
  • 处理 check/write、status、别名与组织方式。
  • 按任务查阅对应参考文档:recipes、settings、syntax、inline-scripts、patterns。

使用方式

默认做法:编辑前先检查 just --version、现有 justfile/模块树以及 just --list。已安装的能力和现有语法优先于本技能的示例。

保留仓库特有的格式。不要用 just --fmt 重写 justfile。仅当仓库明确将内置格式化器视为权威时,才使用 just --fmt --check。just --dump 是检查输出,不是格式化来源。

多行字符串序列应每行一项,使用带括号的拼接,每个非末项保留尾部分隔符,不要合并成一个长字符串。三引号字符串用于换行具有语义的值,而非视觉换行。例如:

check-steps := (
  "event-class-coverage " +
  "orphan-disposal " +
  "price-coverage"
)

创建新的独立 justfile 时,使用用户的 section-banner 风格;现有仓库的组织方式优先于该风格。

工作流程:

  1. 确定所需 recipe 的行为、输入、输出、cwd、shell、环境、依赖和成功条件。
  2. 使用已安装的手册(just --help、just --man 或 https://just.systems/man/en/)查阅版本敏感的语法。只阅读与任务相关的参考:
    • Recipes、参数、依赖、缓存、可执行检查、echo 规则:references/recipes.md
    • 设置、dotenv、列表、模块:references/settings.md
    • 表达式、函数、常量:references/syntax.md
    • Shell 或脚本 recipe、macOS Bash 约束:references/inline-scripts.md
    • Check/write、status、别名、组织:references/patterns.md
  3. 做最小的 recipe 或设置改动。除非请求的设计需要且已安装版本支持,否则不要启用不稳定特性。
  4. 用 just --list 或 just --summary 验证解析。然后执行最窄的安全 recipe 路径。对于会改变状态的 recipe,使用现有的 dry-run/check 模式,或先检查展开后的命令。

组织建议

对于新的独立文件,优先顺序为:依赖声明、常量、公共 recipe、检查、私有辅助。当没有单一默认动作合理且已安装版本支持时,使用 set default-list := true。示例起点见 examples/standalone.just 和 examples/devkit.just,仅在创建该形态时加载。

完成条件

完成需要:可解析的 justfile、所请求的 recipe 行为,以及与其副作用相称的执行或 dry-run 证据。结束时给出 ### ✅ Just workflow ready、当多个条目变更时的紧凑 recipe/别名/用途表,以及 ### 🧪 Verification 与确切命令和结果。保持确认提示、recipe 数据输出、编译器输出和 just --list 输出不加装饰。保留仓库自身的 banner 词汇。

适用场景

适用于需要维护、扩展或规范化 Just 命令运行器配置的仓库与开发工作流,尤其是希望自动化任务与既有 Just 版本和 justfile 约定保持一致的情况。

限制

  • 具体收费、价格、平台支持等信息暂未提供。
  • 必须依据已安装的 Just 版本和仓库现有约定,不能套用示例中的版本敏感语法。
  • 不得用 just --fmt 重写 justfile,除非仓库明确将内置格式化器视为权威。
  • 不得启用不稳定特性,除非请求的设计需要且已安装版本支持。