Input: Design documents from /specs/001-credential-manager/
Prerequisites: plan.md (required), research.md, data-model.md, contracts/
1. Load plan.md from feature directory
→ Extract: TypeScript 5.1+, @noble/ed25519, Node.js fs.watch, strategy pattern
→ Structure: libs/credential-manager/ (独立库实现)
2. Load design documents:
→ data-model.md: Platform, Account, Signer, ConfigLoader entities
→ contracts/: credential-manager.ts, pacifica-signer.ts
→ research.md: Ed25519签名库、文件监听、智能识别、统一接口
3. Generate tasks by category:
→ Setup: 库结构、依赖安装、@noble/ed25519
→ Tests: 契约测试、集成测试、性能测试
→ Core: 凭证管理器、平台检测器、签名器
→ Integration: 文件监听、配置加载、错误处理
→ Polish: 单元测试、性能验证、快速开始文档
4. Apply TDD rules:
→ 契约测试先行(必须失败)
→ 不同文件标记[P]并行
→ 签名操作<50ms、文件加载<100ms性能要求
5. Number tasks sequentially (T001, T002...)
6. Validate completeness: 所有契约有测试、所有实体有模型
[ID] [P?] Description
libs/credential-manager/
at repository rootlibs/credential-manager/tests/
(contract/, integration/, unit/)libs/credential-manager/src/
(core/, platforms/, loaders/)ed25519
dependency in libs/credential-manager/package.jsonCRITICAL: These tests MUST be written and MUST FAIL before ANY implementation
# Launch contract tests T007-T010 together:
Task: "Contract test ICredentialManager interface in libs/credential-manager/tests/contract/test_credential_manager.ts"
Task: "Contract test IPacificaSigner interface in libs/credential-manager/tests/contract/test_pacifica_signer.ts"
Task: "Contract test IConfigLoader interface in libs/credential-manager/tests/contract/test_config_loader.ts"
Task: "Contract test ISigner interface in libs/credential-manager/tests/contract/test_signer.ts"
# Launch platform detectors T020-T022 together:
Task: "PacificaDetector strategy in libs/credential-manager/src/platforms/pacifica/PacificaDetector.ts"
Task: "AsterDetector strategy in libs/credential-manager/src/platforms/aster/AsterDetector.ts"
Task: "BinanceDetector strategy in libs/credential-manager/src/platforms/binance/BinanceDetector.ts"
ed25519
库Applied during main() execution
From Contracts:
From Data Model:
From User Stories (quickstart.md):
Ordering:
GATE: Checked by main() before returning