DApp-SDD实施技能 dapp-sdd:implement

这是一个用于自动化执行去中心化应用(DApp)开发任务的智能体技能。它遵循软件设计文档(SDD)规范,通过读取任务清单、实施计划和技术规格,自主完成智能合约编写、TypeScript开发、文档撰写等工作。该技能内置了严格的质量检查流程,包括代码检查、格式验证、类型检查和合约编译,并采用零容忍政策确保代码质量。它支持分阶段评审,能调用专门的评审代理进行代码审查,并在每个任务完成后自动提交代码、更新状态。最终,它能生成实施摘要并更新Pull Request状态,实现从开发到代码提交的端到端自动化工作流。关键词:DApp开发,智能合约,自动化实施,代码评审,质量检查,任务管理,Git提交,区块链开发,Midnight Network。

DApp开发 0 次安装 0 次浏览 更新于 2/26/2026

name: dapp-sdd:implement description: 在每次任务后提交代码、每个阶段后进行评审时执行实施任务时使用。

实施技能

自主执行任务清单,并设有质量关卡。

输入

  • .dapp-sdd/tasks.md - 带复选框的任务清单
  • .dapp-sdd/plan.md - 实施计划(用于上下文)
  • .dapp-sdd/spec.md - 规范(用于需求)
  • .dapp-sdd/pr-context.json - PR元数据

流程

对于每个任务

  1. .dapp-sdd/tasks.md读取任务
  2. 使用适当的技能执行任务
    • 合约工作 → compact-core:* 技能
    • TypeScript工作 → 标准开发
    • 文档 → readme-and-co:documentation-standards
  3. 运行质量检查
    npm run lint
    npm run format:check
    tsc --noEmit
    compact compile contracts/*.compact
    
  4. 修复所有问题(零容忍政策)
  5. 提交并推送
    • 使用 git-lovely:useful-commits 生成提交信息
    • git add .
    • git commit -m "{message}"
    • git push
  6. .dapp-sdd/tasks.md中将任务标记为完成
  7. .dapp-sdd/pr-context.json中更新状态

对于评审任务

遇到 [REVIEW] 任务时:

  1. 运行Compact评审(如果存在合约):

    使用 compact-reviewer:compact-reviewer 代理
    
    上下文:"您正在评审一个Midnight Network的示例dApp。
    该项目旨在向学习Midnight的开发者演示概念。
    
    建议要务实:
    - 关注正确性和清晰度,而非生产环境问题
    - 标记任何可能让学习者困惑的内容
    - 标记学习者可能模仿的不良实践
    - 接受那些能保持示例专注性的合理捷径
    - 确保教育性注释的准确性"
    
  2. 运行TypeScript评审

    使用 devs:code-reviewer 代理
    
    上下文:"您正在评审一个Midnight Network的示例dApp。
    该项目旨在向学习Midnight的开发者演示概念。
    
    建议要务实:
    - 关注正确性和清晰度,而非生产环境问题
    - 标记任何可能让学习者困惑的内容
    - 标记学习者可能模仿的不良实践
    - 接受那些能保持示例专注性的合理捷径
    - 确保教育性注释的准确性"
    
  3. 解决任一评审者提出的所有问题

  4. 提交修复,并附上适当的提交信息

  5. 在tasks.md中将评审标记为完成

对于完成任务

遇到 [COMPLETE] 任务时:

  1. 生成摘要

    • 统计完成的用户故事数量
    • 统计完成的任务数量
    • 列出创建/修改的关键文件
  2. 发布到PR

    gh pr comment {prNumber} --body "## 实施完成
    
    ### 摘要
    - 用户故事:已完成 {X} 个
    - 任务:已完成 {Y} 个
    - 阶段:已评审 {Z} 个
    
    ### 关键文件
    - `contracts/{name}.compact` - 智能合约
    - `src/deploy.ts` - 部署脚本
    - `src/cli.ts` - CLI接口
    
    ### 质量
    - 所有代码检查通过
    - 所有格式检查通过
    - 所有TypeScript检查通过
    - 所有Compact编译通过
    - 所有测试通过
    
    准备进行最终评审!"
    
  3. 将PR标记为就绪

    gh pr ready {prNumber}
    

状态跟踪

每个任务后更新 .dapp-sdd/pr-context.json

{
  "owner": "...",
  "repo": "...",
  "branch": "...",
  "prNumber": 42,
  "currentPhase": 2,
  "completedTasks": ["T001", "T002", "T003"],
  "status": "implementing"
}

错误处理

如果任务失败:

  1. 记录错误
  2. 尝试自动修复
  3. 如果无法修复,则停止实施
  4. 将错误摘要作为评论发布到PR
  5. 在pr-context.json中将状态更新为"blocked"