SuperAPI AI 工具集

justfile

编程与开发

查看项目

更新于 10-16 06:21

技能介绍

用途:该技能帮你在使用 just 命令运行器时,按一致规范创建、编辑、重构、检查与维护 Justfile 和 .just 模块文件。just 是命令运行器(不是构建系统),用类似 make 的语法保存并运行项目专用命令,但更简单可移植,没有 .PHONY、tab 敏感、隐式规则、时间戳追踪等特性。

主要能力:提供三种工作流路由——创建 Justfile、从 Makefile 迁移、检查/校验 Justfile。规定强制规则:根文件必须命名为 Justfile(大写 J);每个文件(含模块)开头必须有指定三行头部;每个文件首个配方必须是 _default;文件内顺序为变量→mod 导入→配方;模块文件必须位于 .justfiles/<name>.just;用 mod name '.justfiles/name.just' 显式导入;变量默认值用 env_var_or_default("NAME", "value") 而非 env();每个配方上方要有 # 文档注释;私有配方以 _ 开头。还规定标准配方词汇(dev/test/build/lint/fmt/check/clean)与按关注点而非工具划分模块(如 db.just 而非 psql.just),根 Justfile 保持为薄编排层。

使用方式:对目标项目运行 bun Tools/lint.ts <project-dir> 做结构 lint,修复所有 FAIL 直到通过。lint 只校验结构,不校验行为;可用 just --dry-run <recipe> 验证展开。

限制与注意:lint 无法判断按关注点命名、模块自包含性或标准词汇使用,需人工检查。各配方行默认在不同 shell 运行;set dotenv-load 从 justfile 目录而非调用目录加载 .env;反引号变量在每次调用时于解析期求值;配方参数不会自动 shell 引用;set shell := ["bash", "-c"] 会破坏 set -euo pipefail 语义;just --list 隐藏 _ 前缀与 [private] 配方但仍可调用;跨平台 [macos]/[linux] 属性会在其他系统静默跳过配方。部分模板与参考文档细节暂未提供。