mcpField
C
cli-forge-scaffold

cli-forge-scaffold

github.com/bytelandtechnology开发036 次安装27 周前更新
代码仓库

关于 cli-forge-scaffold

cli-forge-scaffold 根据已批准的 cli-plan.yml,为新项目生成 Rust CLI 基础代码。它面向已完成 CLI 设计的项目,严格按模板生成文件,并执行 Cargo 构建、格式、静态检查和测试。

主要功能

  1. 01按已批准的 cli-plan.yml 展开模板
  2. 02创建 Rust CLI 项目目录与基础文件
  3. 03检查未解析的模板占位符
  4. 04运行 Cargo 构建、Clippy、格式检查和测试
  5. 05生成 scaffold 收据

适用场景

  1. 01从已批准的 CLI 方案创建新项目
  2. 02为 Rust CLI 初始化一致的基础结构
  3. 03在交接前验证生成的项目
  4. 04记录脚手架生成结果及延期能力

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bytelandtechnology/cli-forge --skill cli-forge-scaffold

安装后在 Claude Code 中输入/cli-forge-scaffold确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

planning-brief.md
contracts/
scaffold-receipt.yml.tpl
instructions/
new.md
templates/
Cargo.toml.tpl
cli_test.rs.tpl
context.rs.tpl
dot-gitignore.tpl
help.rs.tpl
lib.rs.tpl
main.rs.tpl
README.md.tpl
SKILL.md.tpl

详细介绍

cli-forge Scaffold

当任务是基于基线模板创建全新的 Rust CLI Skill 项目,并且详细的 CLI 合约(Plan)已明确定义并获批时,使用此阶段。

目的

使用获批的 cli-plan.yml 和权威模板,为新 Skill 生成基线代码库。

此阶段不做设计决策;它严格遵循 Plan 阶段提供的蓝图。

规范参考

入口门槛

#检查项来源
1cli-plan.yml 存在且已获批Plan 阶段
2skill_name 已知Plan 阶段
3目标项目目录不存在文件系统

必需输入

  • skill_name
  • 获批的 cli-plan.yml
  • 可选的 author、version、rust_edition

工作流

  1. 按照 ./instructions/new.md 中的要求运行预检查:要求提供 Skill 名称、验证 cli-plan.yml,并拒绝覆盖现有目录。
  2. 创建目录结构。
  3. 严格按照 cli-plan.yml 和指令文件中的定义展开 ./templates/ 中的模板,并将任何适用于安装的 dot-* 资源别名还原为其预期的点号前缀输出路径。
  4. 验证不存在未解析的 {{token}} 占位符。
  5. 在生成项目的根目录中运行所需的验证命令:
    • cargo build
    • cargo clippy -- -D warnings
    • cargo fmt --check
    • cargo test
  6. 确认生成的软件包布局未超出文档所述的范围:基线生成文件加上功能专属支持文件。仓库拥有的 CI 工作流和发布脚本必须留在生成项目之外,直到 Publish 阶段。
  7. 使用 ./contracts/scaffold-receipt.yml.tpl 中的模板生成 .cli-forge/scaffold-receipt.yml。

输出

  • 新的 Rust CLI 软件包目录
  • .cli-forge/scaffold-receipt.yml

出口门槛

#检查项
1所有模板均已展开,且没有未解析的占位符
2cargo build 通过
3cargo clippy -- -D warnings 通过
4cargo fmt --check 通过
5cargo 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