关于 sparc-implement
sparc-implement 是 Ruflo 技能,用于规格通过后的 SPARC 伪代码与架构阶段。它设计算法、模块边界和 API 契约,并记录阶段产物与状态。
主要功能
- 01设计算法伪代码
- 02定义数据结构与控制流
- 03规划 DDD 上下文与 API 契约
- 04指定模块和基础设施边界
- 05记录阶段产物与状态
适用场景
- 01将已通过的需求转为伪代码
- 02编码前规划 API 与模块结构
- 03记录持久化和消息传递方案
MCP 相关
它使用 Ruflo MCP 工具检索规格和阶段状态、搜索架构模式、保存产物、更新阶段状态并记录轨迹步骤。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill sparc-implement安装后在 Claude Code 中输入/sparc-implement确认已加载。
详细介绍
SPARC 架构 + 实现
运行 SPARC 方法论的第 2 和第 3 阶段:先用伪代码设计算法,再通过模块边界和 API 契约建立架构。
适用场景
规格说明阶段完成且已通过该阶段门禁后使用。此技能涵盖伪代码和架构两个阶段,因为两者紧密耦合——算法设计会影响模块边界,反之亦然。
步骤
-
检索规格说明 — 使用命名空间
sparc-phases调用mcp__plugin_ruflo-core_ruflo__memory_search,并查询该功能的规格说明。提取需求、验收标准、约束和边缘情况。 -
检索阶段状态 — 使用命名空间
sparc-state调用mcp__plugin_ruflo-core_ruflo__memory_search,并查询该功能,以确认当前处于第 2 或第 3 阶段。 -
搜索架构模式 — 使用功能描述调用
mcp__plugin_ruflo-core_ruflo__neural_predict,查找以往项目中相关的架构决策。 -
第 2 阶段 — 伪代码设计: a. 针对每项验收标准,编写满足该标准且与编程语言无关的伪代码 b. 使用类型注解定义核心数据结构 c. 梳理控制流,包括:
- 正常路径
- 针对每种边缘情况的错误/异常路径
- 适用时处理并发访问 d. 标注关键路径的算法复杂度(时间和空间) e. 存储伪代码产物:
- 使用命名空间
sparc-phases、键pseudo-{feature-slug}调用mcp__plugin_ruflo-core_ruflo__memory_store - 值:
{ status: "complete", algorithms: [...], dataStructures: [...], controlFlow: [...], complexity: {...} }
-
第 3 阶段 — 架构设计: a. 遵循 DDD 模式定义限界上下文和聚合根:
- 确定实体边界和值对象
- 定义聚合不变量
- 梳理领域事件 b. 设计 API 契约:
- 使用 TypeScript 接口定义请求/响应架构
- 错误响应代码和格式
- 适用时制定版本控制策略 c. 规划模块边界:
- 目录结构
- 依赖方向规则(不得存在循环依赖)
- 公有接口与内部接口 d. 明确基础设施方面的考虑:
- 持久化策略(数据库、缓存、文件)
- 消息模式(同步、异步、事件驱动)
- 配置和环境要求 e. 存储架构产物:
- 使用命名空间
sparc-phases、键arch-{feature-slug}调用mcp__plugin_ruflo-core_ruflo__memory_store - 值:
{ status: "complete", boundedContexts: [...], apiContracts: [...], moduleBoundaries: {...}, infrastructure: {...} }
-
更新阶段状态 — 使用命名空间
sparc-state调用mcp__plugin_ruflo-core_ruflo__memory_store,将当前阶段更新为第 3 阶段(架构),并记录两个产物。 -
记录轨迹步骤 — 使用架构摘要调用
mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-step -
开始实现 — 如果用户确认,继续编写生产代码: a. 按照定义的模块边界创建文件 b. 优先实现接口和类型 c. 按照伪代码实现核心逻辑 d. 同步编写单元测试(尽可能采用 TDD) e. 运行测试以验证验收标准
-
呈现架构 — 展示架构决策记录,并建议运行
/sparc advance以通过第 3 阶段门禁
输出格式
# Pseudocode: {Feature Name}
## Core Algorithms
### Algorithm 1: {name}
```pseudocode
FUNCTION processRequest(input):
VALIDATE input against schema
IF invalid THEN THROW ValidationError
result <- TRANSFORM input
STORE result
RETURN result
复杂度:时间 O(n),空间 O(1)
数据结构
- {StructName}:{ field1: type, field2: type }
架构:{Feature Name}
限界上下文
- {ContextName}:{description}
- 聚合:{list}
- 事件:{list}
API 契约
POST /api/{resource}
- 请求:{ field1: string, field2: number }
- 响应:{ id: string, ...fields }
- 错误:400(验证错误),409(冲突),500(内部错误)
模块结构
src/{feature}/
{feature}.types.ts # Interfaces and types
{feature}.service.ts # Business logic
{feature}.controller.ts # HTTP handling
{feature}.repository.ts # Data access
{feature}.test.ts # Tests
基础设施
- 持久化:{strategy}
- 缓存:{strategy}
- 事件:{strategy}
阶段 2-3 已完成。运行 /sparc advance 以通过门禁检查。