Marmite 开发指南
为向 Rust 静态站点生成器 marmite 的代码库贡献代码提供规范、工作流和检查清单,确保格式、测试与文档合规。
该技能为纯开发指南文档,不含破坏性命令、凭据操作或外部数据流;推荐 cargo audit、最小化依赖等安全实践,来源(仓库、许可证)标注清晰。扣分项:文档提及 --set-theme 从远程 URL 下载主题、install.sh 管道安装等网络行为,但技能本身未说明其风险与确认机制,发布者身份未经验证。
指令自洽,工具链(mask、cargo)命令、测试分层、示例代码模式完整且相互一致;错误处理模式有明确指导。扣分项:静态审阅无法执行验证,maskfile 未随证据提供,show-urls 示例 JSON 含尾逗号(非合法 JSON),异常输入下的失败反馈质量未经证实。
目标受众明确(向 marmite 贡献代码的开发者),且开头明确声明非适用范围(建站应使用 marmite 技能),触发边界较清晰。扣分项:无中文支持说明,构建依赖 crates.io 等境外源,未声明环境前提(Rust 版本、mask 安装)。
文档分层良好(工具、代码规范、测试、架构、清单),许可证(AGPL-3.0-or-later)在 SKILL.md、Cargo.toml、LICENSE 三处一致,引用维护者决策流程。扣分项:技能自身无版本号/变更日志,SKILL.md 末尾(新功能清单处)文本被截断,依赖 mask 工具但未说明其安装方式。
覆盖贡献工作流的核心任务(格式化、测试、架构模式、新功能步骤、破坏性变更规避),内容具体可操作,边际价值明显高于自行阅读源码摸索。扣分项:静态审阅无法验证步骤实际可用;部分引用文件(references/*.md)未在证据中,完成度无法确认。
声明可通过仓库源码、Cargo.toml、CI 工作流交叉核对,结构主张(测试文件清单、模块表)可在源码中审计。扣分项:静态审阅无执行证据,所列测试文件本身未在证据中出现,fact 与推断的区分依赖读者自行验证。
- 本评分为静态源码审阅,未执行任何命令或测试,置信度低。
- 技能假定已安装 marmite 二进制、Rust 工具链与 mask 任务运行器,但未提供安装前提说明。
- 文档引用的 references/*.md 参考文件未在本次证据中,其准确性与同步状态无法核实。
- 仓库涉及远程主题下载与 curl|sh 安装脚本,使用时注意网络来源与供应链风险。
- SKILL.md 末尾疑似截断(新功能清单第 1 步后中断),建议核对完整版本。
- 构建依赖 crates.io 及 GitHub 资源,中国大陆网络环境下可能受限。
这个 Skill 能做什么,适合哪些场景?
这是随 marmite 仓库捆绑的开发者技能,面向想为 marmite 本身贡献代码的工程师,而不是用 marmite 建站的用户。它系统性地规定了代码质量要求(格式化、clippy、禁止 unwrap/panic)、两层测试体系(单元测试与子进程集成测试)、向后兼容原则、文档要求和完整的贡献检查清单。技能还教会 Agent 使用 marmite 自带的 --show-urls、--init-site、--new 等命令来辅助开发验证。遵循 AGPL-3.0-or-later 许可证,使用 Rust 2021 edition 与 mask 任务运行器。
读取 SKILL.md 后,指导开发者或 Agent 按以下流程工作:用 mask fmt/mask check/mask pedantic 执行格式化和 lint;用 mask test 运行 src/tests/ 单元测试与 tests/ 集成测试;按规范添加配置字段(config.rs 加 serde 默认值 + cli.rs 加 flag + 覆写接线);运行 marmite --show-urls 对比重构前后的 URL 输出;用 marmite --init-site 与 --new 生成脚手架和文章;同步更新 example/content/ 博客文档、example/ai/llms.txt、.agents/skills/marmite/references/ 参考文件和草稿版发布说明;模板或静态资源改动需同时应用到主主题与 theme_template。
- 想给 marmite 提交 PR 的 Rust 开发者,需要了解项目的格式、clippy、测试和文档门槛
- AI Agent 受托为 marmite 实现新功能,需要按项目流程同步更新代码、测试与多处文档
- 贡献者修复 bug 时,需要按规范添加能复现问题的测试并更新草稿发布说明
- 开发者新增 marmite.yaml 配置项时,需要按流程同时添加 CLI flag、默认值和参考文档
- 修改 Tera 模板后,需要确保主主题与 theme_template 两套主题保持同步
这个 Skill 有哪些优点和局限?
- 覆盖面完整:代码规范、两层测试、兼容性原则、文档要求、贡献检查清单一应俱全
- 给出可直接复制的命令与代码模式(配置字段、模板函数、集成测试模板等)
- 明确教 Agent 使用 --show-urls 等内置工具做重构前后对比验证
- 强调向后兼容(feature flag、serde 默认值、不删字段/flag),降低破坏风险
- 仅对贡献 marmite 代码本身有用,对用 marmite 建站的人无价值(那是 sibling marmite skill 的范畴)
- 强依赖 mask 任务运行器与 Rust 工具链,环境准备有成本
- pedantic clippy 问题需先与维护者确认,Agent 无法完全自主决策
如何安装这个 Skill?
该技能随 marmite 仓库分发,位于 .agents/skills/marmite-development/。克隆仓库后即可让 Agent Skills 兼容客户端读取该目录下的 SKILL.md;也可通过 marmite 二进制的 --skill/--skill-install 系列命令安装内嵌技能(README 提及该机制,但源材料未说明本开发技能是否同样内嵌)。
如何使用这个 Skill?
1) 安装 mask 任务运行器:cargo install mask;2) 安装 pre-commit 钩子:mask install_hook;3) 构建并本地预览示例站点:mask serve(http://localhost:8000,带 WebSocket 热重载);4) 每次改动后依次运行 mask fmt、mask check、mask test;提交 PR 前再跑 mask pedantic 和 mask serve_theme。可让 Agent 提示如:'给 marmite 添加一个 --foo CLI flag 并按 SKILL.md 完成测试与文档'。
这个 Skill 与同类方案有什么区别?
SKILL.md 自身说明它与用 marmite 建站的 marmite 技能是分工关系:本技能管贡献代码,marmite 技能管构建站点。README 提到 Zola、Cobalt、Zine 等替代 SSG,但那是产品层面的对比,与该开发技能无关。