关于 cli-forge-scaffold
cli-forge-scaffold 根据已批准的 cli-plan.yml,为新项目生成 Rust CLI 基础代码。它面向已完成 CLI 设计的项目,严格按模板生成文件,并执行 Cargo 构建、格式、静态检查和测试。
主要功能
- 01按已批准的 cli-plan.yml 展开模板
- 02创建 Rust CLI 项目目录与基础文件
- 03检查未解析的模板占位符
- 04运行 Cargo 构建、Clippy、格式检查和测试
- 05生成 scaffold 收据
适用场景
- 01从已批准的 CLI 方案创建新项目
- 02为 Rust CLI 初始化一致的基础结构
- 03在交接前验证生成的项目
- 04记录脚手架生成结果及延期能力
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bytelandtechnology/ cli-forge --skill cli-forge-scaffold安装后在 Claude Code 中输入/cli-forge-scaffold确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
planning-brief.mdcontracts/scaffold-receipt.yml.tplinstructions/new.mdtemplates/Cargo.toml.tplcli_test.rs.tplcontext.rs.tpldot-gitignore.tplhelp.rs.tpllib.rs.tplmain.rs.tplREADME.md.tplSKILL.md.tpl详细介绍
cli-forge Scaffold
当任务是基于基线模板创建全新的 Rust CLI Skill 项目,并且详细的 CLI 合约(Plan)已明确定义并获批时,使用此阶段。
目的
使用获批的 cli-plan.yml 和权威模板,为新 Skill 生成基线代码库。
此阶段不做设计决策;它严格遵循 Plan 阶段提供的蓝图。
规范参考
入口门槛
| # | 检查项 | 来源 |
|---|---|---|
| 1 | cli-plan.yml 存在且已获批 | Plan 阶段 |
| 2 | skill_name 已知 | Plan 阶段 |
| 3 | 目标项目目录不存在 | 文件系统 |
必需输入
skill_name- 获批的
cli-plan.yml - 可选的
author、version、rust_edition
工作流
- 按照
./instructions/new.md中的要求运行预检查:要求提供 Skill 名称、验证cli-plan.yml,并拒绝覆盖现有目录。 - 创建目录结构。
- 严格按照
cli-plan.yml和指令文件中的定义展开./templates/中的模板,并将任何适用于安装的dot-*资源别名还原为其预期的点号前缀输出路径。 - 验证不存在未解析的
{{token}}占位符。 - 在生成项目的根目录中运行所需的验证命令:
cargo buildcargo clippy -- -D warningscargo fmt --checkcargo test
- 确认生成的软件包布局未超出文档所述的范围:基线生成文件加上功能专属支持文件。仓库拥有的 CI 工作流和发布脚本必须留在生成项目之外,直到 Publish 阶段。
- 使用
./contracts/scaffold-receipt.yml.tpl中的模板生成.cli-forge/scaffold-receipt.yml。
输出
- 新的 Rust CLI 软件包目录
.cli-forge/scaffold-receipt.yml
出口门槛
| # | 检查项 |
|---|---|
| 1 | 所有模板均已展开,且没有未解析的占位符 |
| 2 | cargo build 通过 |
| 3 | cargo clippy -- -D warnings 通过 |
| 4 | cargo fmt --check 通过 |
| 5 | cargo test 通过 |
| 6 | 已生成 scaffold-receipt.yml |
防护要求
- 此阶段只能使用随附
./templates/目录中的模板。不得在此 Skill 软件包之外查找脚手架模板。 - 仅将
./templates/中的dot-*资源名称视为适用于安装的别名。生成输出必须还原为预期的点号前缀文件名。 - 不得自行设想项目结构或依赖项。所有内容都必须以
cli-plan.yml为依据。 - 脚手架基线仅生成可运行的一次性 CLI。不包含可选功能(
repl、stream、daemon);这些功能必须在基线项目通过验证后由 Extend 阶段添加(../cli-forge-extend/SKILL.md)。如果cli-plan.yml将任何功能标记为in_scope,则继续生成基线,在scaffold-receipt.yml的deferred_capabilities下记录延期功能,并告知用户哪些功能需要下一步进入 Extend 阶段。 - 如果任何 Cargo 验证步骤失败,则阻止工作流继续,并在移交工作前修复脚手架生成的文件。
下一步
如果 scaffold-receipt.yml 列出了延期的功能,请在交接前使用
AskUserQuestion 提示用户。提出立即为每项延期的功能运行 extend。如果用户确认,请按顺序为每项延期的功能调用 extend。如果用户拒绝,请改为列出每项功能对应的确切
/cli-forge-extend 调用方式(参见 instructions/new.md 中的 Capability
Deferral)。否则,继续使用
../cli-forge-validate/SKILL.md
运行完整的合规规则集。
评论
支持 Markdown