分支:001-credential-manager
| 日期: 2025-09-28 | 规范: spec.md
输入:/specs/001-credential-manager/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、Aster、Binance)的热加载、智能平台识别和统一签名接口。该模块将作为独立库提供给其他交易模块使用,确保符合库优先架构原则。
关键需求:
技术方案:基于现有TypeScript 5.1+基础架构,使用@noble/ed25519
实现Ed25519签名,Node.js fs.watch实现热加载,策略模式支持多平台扩展。
语言/版本: TypeScript 5.1+,Node.js 18+
主要依赖: @noble/ed25519
,@noble/hashes,Jest
存储: JSON配置文件,内存缓存
测试框架: Jest,ts-jest
目标平台: Node.js服务端,Linux/macOS
项目类型: 独立库模块(支持其他交易模块)
性能目标: 文件加载<100ms,签名操作<50ms
约束条件: 热加载支持,多平台兼容,类型安全
规模/范围: 支持数百个账户,3个主要平台(可扩展)
关卡:必须在 Phase 0 前通过,并在 Phase 1 后再次确认。
libs/credential-manager/
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 生成)
libs/credential-manager/ # 独立库目录
├── src/
│ ├── core/ # 核心组件
│ │ ├── types.ts # 类型定义
│ │ ├── CredentialManager.ts # 主管理器
│ │ ├── Signer.ts # 统一签名器
│ │ └── PlatformDetector.ts # 平台检测器
│ ├── platforms/ # 平台特定实现
│ │ ├── pacifica/ # Pacifica平台
│ │ ├── aster/ # Aster平台
│ │ └── binance/ # Binance平台
│ ├── loaders/ # 配置加载器
│ │ └── ConfigLoader.ts # 文件加载和热监听
│ └── index.ts # 库导出入口
├── tests/
│ ├── contract/ # 契约测试
│ ├── integration/ # 集成测试
│ └── unit/ # 单元测试
├── examples/ # 使用示例
├── package.json # 独立包配置
└── tsconfig.json # TypeScript配置
结构决策:采用独立库架构,符合宪章的库优先原则。该库可以被主项目和其他模块独立引用,提供完整的凭证管理功能。
生成调研任务:
对每个未知项:
任务:调研 {未知点} 在 {功能背景} 的最佳做法
对每个技术选项:
任务:收集 {技术} 在 {领域} 的最佳实践
整理输出至 research.md
:
产出:research.md,所有未知项已解决
前提:research.md 已完成
data-model.md
/contracts/
.specify/scripts/bash/update-agent-context.sh claude
产出:data-model.md、/contracts/*、失败的契约测试、quickstart.md、更新后的 agent 文件
说明 /tasks 命令的工作方式(本阶段不执行)
任务生成策略:
.specify/templates/tasks-template.md
为基线从契约生成的任务:
从数据模型生成的任务:
从quickstart生成的任务:
库优先架构任务:
TDD实现顺序:
依赖关系管理:
预估输出:
性能验证任务:
注意:Phase 2 由 /tasks 完成,非 /plan 输出
超出 /plan 命令范围
Phase 3:执行 /tasks 生成 tasks.md
Phase 4:按 tasks.md 实施
Phase 5:验证(运行测试、执行 quickstart、性能验证)
仅在 Constitution Check 有违例时填写
违例 | 原因 | 被否决的简单方案 |
---|---|---|
[示例:新增第 4 个项目] | [现实需求] | [为何前三个不足] |
执行流程中的状态记录
阶段状态:
关卡状态:
产出清单:
基于宪章 v1.0.0 - 详见 /memory/constitution.md