用途:将已完成的文章草稿按 Strand 的 Git 发布流程提交、排期或发布到博客。内容仓库是唯一事实来源,每篇文章变更都是分支上的提交加一个 PR。
发布前检查:文章文件位于 content/posts/<slug>.mdx;frontmatter 需通过 schema 校验,运行 strand validate <slug>(或 MCP 的 validate_post 工具),失败先用 strand-content-schema 修复;事实或新闻类内容需填写 sources[] 并引用来源;需经过 humanizer 处理,站点有审核门时须由 strand-review-gate 记录为 pass 或 revised,被标记 blocked 或未审核的文章不得发布。
工作流:设置状态——立即上线用 status: published 且 publishedAt 为当前 ISO 8601 时间;未来日期用 status: scheduled 并填目标时间,由定时 CI 或编辑器 cron 切换;仍在迭代则保持 status: draft 并停止。创建分支 post/<slug>(新文)或 update/<slug>(改已发布文章),每分支仅一篇文章。提交时只暂存文章文件及其引入的作者或素材文件,消息用 post: <title> 或 update(<slug>): <what changed>。开 PR,标题为文章标题,正文含 2–3 行摘要、目标发布日期和校验结果;可用 MCP 的 publish_post 工具,否则用 gh pr create。等待 CI 重新校验 frontmatter、检查内链并 lint JSON-LD,红了就在同一分支修复,不得合并。按仓库策略合并,若启用自动合并则自动合并,否则留给人工审核;合并主分支会触发构建,重新生成 sitemap.xml、JSON-LD、rss.xml、llms.txt 和 .md 端点。
回滚:撤销已发布文章用新 PR 对合并提交做普通 git revert,不删除历史;若不想删除而取消发布,在后续 PR 中设 noindex: true 与 status: draft。
硬性规则:仅走 PR,不直接写主分支,不 force-push;校验失败不得发布;不得把新文章 publishedAt 伪造成过去日期;素材二进制文件走存储适配器,除非仓库配置为仓库内素材。
限制:资料未提供价格、平台支持范围等更多信息。