用途:为项目创建或迁移到 justfile(casey/just 命令运行器),用统一、可发现的命令入口替代 Makefile 和临时 shell 脚本。
主要能力:生成符合惯例的 justfile;默认暴露一个规范命令 just build(默认配方,含自动修复)及其无自动修复的 CI 孪生 just ci,两者都运行完整门禁(格式化/检查 → 类型检查 → 测试 → 覆盖率),成功时仅输出 ✓ <step>,失败时输出完整工具输出与 file:line。支持按语言生态生成配方(Rust、Python、TypeScript/JS、Go、Ruby),多语言项目用生态后缀区分(如 test-rust、test-ts),单体仓库用模块(mod)聚合各模块门禁。
使用方式:扫描项目根目录的生态标记文件,读取对应参考文件;检查已有 Makefile、Taskfile.yml、Rakefile、package.json scripts 或脚本目录,迁移已有目标并在用户确认后删除旧文件;将 justfile 放在项目根目录,按设置、变量、默认配方、门禁、细粒度配方、工具配方、私有辅助的顺序组织;配方用 kebab-case 与动词命名,公开配方上方加文档注释以便 just --list 展示;常包含 set dotenv-load 与 set shell := ["bash", "-euo", "pipefail", "-c"];非标准工具用 require() 声明。生成后须更新 AGENTS.md 等代理上下文文件与 CI 验证步骤(指向 just ci),并在 README 添加开发说明。
适用场景:需要统一构建/验证命令的项目、从 Makefile 迁移、多语言或单体仓库的命令组织。
限制:just 是命令运行器而非构建系统,不重建 Make 的文件目标依赖;不设计 CI 流水线、不创建 Docker 配置、不替换 cargo/webpack/go build 等实际构建系统;未经用户确认不删除已有 Makefile;just 可能不在 PATH;dotenv-load 会向所有配方暴露环境变量,密钥多的项目慎用;模块路径相对 justfile 位置;[script()] 自 just 1.44、模块自 1.31、[arg()] 自 1.46 起稳定,旧版本需 set unstable。具体安装与版本细节以官方资料为准。