分支:[###-feature-name]
| 日期: [DATE] | 规范: [link]
输入:/specs/[###-feature-name]/spec.md
中的功能规范
1. 从 Input 路径加载功能规范
→ 如果缺失:ERROR "No feature spec at {path}"
2. 填写技术背景(扫描 NEEDS CLARIFICATION)
→ 根据文件结构或上下文判断项目类型(web=前后端,mobile=App+API)
→ 根据项目类型给出结构决策
3. 根据宪章内容完成 Constitution Check 部分(原则 I–V、运营约束、流程质量门槛、治理要求)
4. 评估 Constitution Check
→ 若存在违例:记录在 Complexity Tracking
→ 若无法给出理由:ERROR "Simplify approach first"
→ 更新 Progress Tracking:Initial Constitution Check
5. 执行 Phase 0 → research.md(确保记录行情数据源、敞口目标与风险约束)
→ 若仍有 NEEDS CLARIFICATION:ERROR "Resolve unknowns"
6. 执行 Phase 1 → contracts、data-model.md、quickstart.md、agent 文件
7. 再次评估 Constitution Check
→ 若出现新违例:回到 Phase 1 调整
→ 更新 Progress Tracking:Post-Design Constitution Check
8. 规划 Phase 2 → 描述任务生成策略(不要创建 tasks.md)
9. 停止 - 准备执行 /tasks 命令
重要提示:/plan 命令到步骤 7 即结束。后续阶段由其他命令完成:
构建多平台账户凭据管理与签名服务,专注于单一职责:账户凭据注入、平台分类管理、签名服务。系统从外部配置文件读取凭据信息,支持Pacifica(Ed25519)、Aster(EIP-191)、Binance(HMAC-SHA256)、OKX等平台的签名算法,提供统一的签名接口和配置热重载功能。
语言/版本: TypeScript 5.1, Node.js 18.12+ 主要依赖: bs58, tweetnacl, ethers, axios, winston, dotenv, ccxt 存储: 文件系统(外部配置)+ Redis(缓存)+ PostgreSQL(审计日志) 测试框架: Jest 29.7 + ts-jest 目标平台: Linux server(生产)+ macOS/Windows(开发) 项目类型: 单体后端服务(凭据管理器) 性能目标: 签名响应时间 <50ms,支持 <100 QPS 并发请求 约束条件: AES-256加密存储,99.95%可用性,配置热重载 <5秒 规模/范围: 多交易所(4+),多账户类型,可插拔签名适配器
关卡:必须在 Phase 0 前通过,并在 Phase 1 后再次确认。
初步评估: ✅ 通过 - 功能作为基础设施服务,与宪章原则兼容,为交易系统提供安全的凭据管理支持
基于 Phase 1 完成后的数据模型和契约设计
评估结果: ✅ 设计符合宪章要求
无新发现的违例或复杂度问题
specs/[###-feature]/
├── plan.md # 本文件(/plan 输出)
├── research.md # Phase 0 输出(/plan)
├── data-model.md # Phase 1 输出(/plan)
├── quickstart.md # Phase 1 输出(/plan)
├── contracts/ # Phase 1 输出(/plan)
└── tasks.md # Phase 2 输出(/tasks,非 /plan 生成)
src/
├── app/
│ └── main.ts # 主入口点和HTTP服务器
├── core/
│ ├── credential-manager.ts # 凭据管理器(主服务)
│ ├── config-loader.ts # 配置文件加载和热重载
│ └── signature-adapters/ # 签名适配器
│ ├── pacifica.ts # Pacifica Ed25519签名
│ ├── aster.ts # Aster EIP-191签名
│ ├── binance.ts # Binance HMAC-SHA256签名
│ └── okx.ts # OKX签名适配器
├── shared/
│ ├── types.ts # 类型定义
│ ├── constants.ts # 常量定义
│ └── utils.ts # 工具函数
└── api/
├── routes.ts # API路由定义
└── handlers.ts # 请求处理器
__tests__/
├── unit/ # 单元测试
├── integration/ # 集成测试
└── fixtures/ # 测试数据
结构决策:采用简化的单体服务架构,专注于核心功能。credential-manager.ts 作为主服务,集成配置加载、账户管理和签名调度。signature-adapters/ 目录包含各平台的签名实现,保持良好的扩展性。
生成调研任务:
对每个未知项:
任务:调研 {未知点} 在 {功能背景} 的最佳做法
对每个技术选项:
任务:收集 {技术} 在 {领域} 的最佳实践
整理输出至 research.md
:
产出:research.md,所有未知项已解决
前提:research.md 已完成
data-model.md
/contracts/
.specify/scripts/bash/update-agent-context.sh cursor
产出:data-model.md、/contracts/*、失败的契约测试、quickstart.md、更新后的 agent 文件
说明 /tasks 命令的工作方式(本阶段不执行)
任务生成策略: 基于简化设计文档生成实现任务:
数据模型层 [P]:
签名适配器 [P]:
Phase A - 核心功能 [2周]:
Phase B - 集成测试 [1周]:
预估输出:
质量门控:
注意:Phase 2 具体任务由 /tasks 命令生成,此处仅描述生成策略
超出 /plan 命令范围
Phase 3:执行 /tasks 生成 tasks.md
Phase 4:按 tasks.md 实施
Phase 5:验证(运行测试、执行 quickstart、性能验证)
仅在 Constitution Check 有违例时填写
违例 | 原因 | 被否决的简单方案 |
---|---|---|
[示例:新增第 4 个项目] | [现实需求] | [为何前三个不足] |
执行流程中的状态记录
阶段状态:
关卡状态:
简化成果:
当前状态: ✅ /plan 阶段完成(简化版),准备执行 /tasks 命令生成具体实现任务
基于宪章 v1.0.0 - 详见 /memory/constitution.md