SuperAPI AI 工具集

prelude-just

通用与其它

查看项目

更新于 10-15 20:32

技能介绍

用途:在已接入 Prelude 的仓库中编写或编辑 Justfile 配方,并使其在 x 菜单中可被发现、可交互调用。Justfile 仍是任务语义的唯一来源,Prelude 在运行时导入它,配方不会被复制进 prelude.commands。应把用户请求当作规格说明而非待插值的 shell 文本。

启用导入:在 flake-parts 模块(sidecar prelude.nix 或内联配置)中设置 prelude.menu.enable = true; 与 prelude.menu.just.enable = true;。可选 prelude.menu.just.justfile = ./just/Justfile;(null 表示使用 just 自身发现机制)与 prelude.menu.just.group = "tasks";。消费方 devshell 需含 config.packages.prelude-shell,才会同时提供 x 与 just。

主要能力:菜单读取 just --dump --dump-format json,可识别 # 文档注释、[group('ci')]、alias、mod、[private]、[metadata(...)]、[arg(...)] 等属性。属性支持受 just 版本限制([metadata] 1.42+、[arg(long/short)] 1.46+、[arg(pattern)] 1.45+、[arg(min/max)] 1.56+),且导入仅映射已锁定 Prelude 修订版认识的字段。同名的 prelude.commands.<name> 条目始终优先于配方。

使用方式:编写配方时绑定项目真实存在的规范命令,不要编造占位脚本。优先用 [group] 而非改名,公开键保持不变。无默认值的参数为必填,参数录入会拒绝空白提交。修改范围应限定在请求内,不要重命名配方;将配方移入模块会改变调用路径,仅在用户明确要求重组时进行,并更新展示旧调用方式的文档。

调用契约:x <recipe> [args…] 会把额外参数用空格拼接后经 sh -c 执行,原有参数边界会丢失,调用方 shell 的引号无法保护多词值;多词或不可信值应改用 just <recipe> "$value" 并在配方内安全处理参数。裸 x <recipe> 在存在参数时打开交互式参数录入;裸 x <module> 打开模块的子命令选择器。

验证:读取配方后再执行任何命令,因为 just 在加载文件时会求值反引号,--dry-run 也可能执行命令。可在 shell 内使用 just --summary、just --dump --dump-format json、x --list、just --dry-run <recipe> [args…] 以及 x <recipe>。

限制:菜单条目仅用于发现,工作流文档需另行编写。本资料未提供官方正文、收费与价格信息。