ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

[Feature Name]

[Feature Name] [Feature Name]【免费下载链接】spreeOpen Source eCommerce Platform for B2B, Marketplace, and Enterprise. REST API, TypeScript SDK, and production-ready Next.js storefront. Self-host it. Own your stack. No vendor lock-in. Zero platform fees.项目地址: https://gitcode.com/GitHub_Trending/sp/spreeStatus:Draft | In Progress | Implemented | SupersededTarget:Spree X.YDepends on:(other plans or features)Author:(who drove the design)Last updated:YYYY-MM-DDTracking:Linear V-NNNN · GitHub spree/spree#NNNN头部注释中对 **Status** 与 **Tracking** 的纪律值得特别注意 - **Status 只能是四个标签之一**且冒号后用 em dash 附细节 - Draft — 已设计、尚未动工 - In Progress — 部分落地需写明目标版本还剩什么 - Implemented — 目标版本的工作全部完成剩余内容必须明确标注属于后续版本 - Superseded — 被另一份规划取代须点名是哪份。 - 注释还强调永远不要用分支名当状态——代码一旦合并状态就是 Implemented。 - **Tracking 行不可省略**它同时指明 Linear issueSpree 项目、milestone 目标版本和 GitHub issuemilestone 为 vX.Y挂在 Roadmap 项目上。创建由 /project:create-plan 负责/project:update-plan 和 /project:implement-plan 负责保持同步。若某一侧创建失败写 Linear — 或 GitHub — 占位但这一行本身绝不能删掉。 正文六个小节的职责 | 小节 | 内容 | | --- | --- | | Summary | 一段话说清楚这是什么、为什么做 | | Key Decisions | 不可偏离的关键决策清单未经讨论不得更改 | | Design Details | 真正的技术设计模型、API、流程 | | Migration Path | 从现状到目标状态的逐步迁移路径 | | Constraints on Current Work | 在规划实现之前开发者和 Agent 现在就该遵守的约束 | | Open Questions | 仍未解决的问题 | 一个真实样例 [docs/plans/5.6-preorders.md](https://link.gitcode.com/i/39981a91378875a4c8c5510278e6e334)预购功能展示了模板的落地形态状态写作 Implemented (PR #14249)头部注明 Target: Spree 5.6、Depends on: none (composes with stock publishing, but couples to neither)Key Decisions 逐条给出带理由的决策如 preorderable 布尔、preorder_ships_at 日期、backorder_limit 上限都挂在 Spree::Variant 上且 preorder? 与发布状态解耦正文继续展开运营者心智模型、数据模型等设计细节。可以看出Constraints on Current Work这类小节把规划从纯文档变成了对并行开发有约束力的契约。 ## 强制环节一交互式解决所有开放问题 命令中最有分量的部分是对开放问题的处理原则原文开宗明义**带着未解决的开放问题交付的规划草稿不算完成**A draft plan that ships with unresolved open questions is not finished。写完草稿后Agent 必须用 AskUserQuestion 工具把每个开放问题走一遍不允许留到以后、更不允许自己悄悄替作者选答案。具体规则包括 - **一次性集中提问**工具单次最多支持 4 个问题应尽可能合并成一次调用让作者一次性看到完整的决策面 - **每个问题给 2–4 个具体选项**而非开放式提问把推荐选项放在首位并标注 (Recommended) - **用 preview 字段展示每个选项的实际形态**——它暗示的代码、配置或 schema。文档给了一个很形象的例子并排展示 store.preference || global || DEFAULT 和 store.preference 两种取值链取舍立刻一目了然这是纯文字描述做不到的 - **在选项描述里说明代价cost**而不只是说明它做什么。侵入性更大、要动所有调用方才是作者真正需要权衡的部分。 拿到答案后还要把结果回写进规划 1. 把每个已解决的问题从 **Open Questions** 移入 **Key Decisions**写成带日期和定案理由的决策语句 2. **显式记录被接受的权衡**明知某个选项有尖角sharp edge仍选了它规划必须说出来如果这个尖角会约束其他代码的写法还要把它加进 **Constraints on Current Work** 3. **Open Questions 只留真正被推迟的条目**每条附上什么能解锁它的说明如果清空了明说没有遗留而不是删掉该小节 4. 问题全部敲定后状态不再是 Draft——通常更新为 Design finalized。 命令最后提醒只有在草稿确实没有提出任何开放问题时才能跳过这一环节而这很罕见下结论前值得再核对一遍。这套流程同样适用于 [update-plan.md](https://link.gitcode.com/i/c06f95b21f0d050c40d779f6fd4b83ae)每次编辑规划后都要复查 Open Questions能当场决定的全部当场解决确实无法回答的依赖尚未合入的工作、或没人知道的信息要写明推迟原因——被说明过的推迟也算解决无声地放着不管不算。 ## 强制环节二Linear 与 GitHub 双跟踪 每个规划都作为**一个 Linear issue 一个 GitHub issue** 被跟踪。issue 在开放问题解决后才打开这样 issue 描述的是定稿后的设计。两个编号都记录在规划头部的 **Tracking:** 行格式为 Linear V-NNNN · GitHub spree/spree#NNNN。 命令还特别指出这一节是跟踪 issue 形态的**唯一描述处**single description of how the trackers are shaped/project:update-plan 和 /project:implement-plan 都回指它不得在别处另造变体。这一点与 [update-plan.md](https://link.gitcode.com/i/c06f95b21f0d050c40d779f6fd4b83ae) 相互印证——后者在保持跟踪同步一节明确要求阅读 create-plan 的 Tracking the plan in Linear and GitHub 那一节而不是自己发明一套。 ### Milestone 映射规则 **Milestone 跟随规划的 Target**Spree X.Y 的目标映射到 Linear milestone X.Y 和 GitHub milestone vX.Y。如果 milestone 尚不存在应创建它而不是让 issue 悬空无归属。跨两个版本的规划如 6.0-6.1-…挂到更早的那个 milestone 上。 ### Linear 侧的具体操作 使用 Linear MCP 工具save_issue、save_milestone、get_project先用 ToolSearch 加载若本会话没有 Linear 工具则跳过这一半在头部写 Linear —并在最终消息中告知作者以便人工补建。关键参数 - 团队 Vendo项目 Spreeslug spree-941226e25ecfmilestone 按上述规则 - **标题就是规划的 H1 原文不带版本前缀**——milestone 已经说明了属于哪个版本 - 描述用平实的语言写规划的 Summary 段、状态行、依赖项、Migration Path 步骤以及指向规划文件的链接并通过 links 字段把同一链接加成附件展示 - **状态映射**Draft 与 Design finalized → BacklogIn Progress → In ProgressImplemented → DoneSuperseded → Canceled - priority、assignee、labels 一律不设除非作者要求。 ### GitHub 侧的具体操作 创建 issue 的命令形如 bash gh issue create --repo spree/spree --title H1 --milestone vX.Y【免费下载链接】spreeOpen Source eCommerce Platform for B2B, Marketplace, and Enterprise. REST API, TypeScript SDK, and production-ready Next.js storefront. Self-host it. Own your stack. No vendor lock-in. Zero platform fees.项目地址: https://gitcode.com/GitHub_Trending/sp/spree创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表