内存银行是一款基于命令行的实用工具,主要用于管理和跟踪软件项目的上下文信息。它通过维护多个Markdown文件,详细记录项目的状态、进度以及决策历史。用户既可以通过命令行调用其各项功能,也能将它集成到自己的代码库中,为项目管理提供便利。
在项目根目录下运行以下命令,即可初始化一个新的内存银行:
memory-bank-mcp initialize_memory_bank path=./memory-bank
此命令会在./memory-bank目录下创建所有必要的文件和文件夹。
当完成某个功能或修复了一个问题时,可使用以下命令记录进度:
memory-bank-mcp track_progress action="新功能实现" description="实现了X功能"
在做出重要决定时,建议使用以下命令记录下来,以便后续参考:
memory-bank-mcp log_decision title="API设计决策" context="..." decision="..."
根据实际需求,可使用以下命令切换不同的工作模式:
memory-bank-mcp switch_mode mode=code
内存银行采用以下Markdown文件来组织信息:
product-context.md:记录项目概述、目标和技术选型。active-context.md:跟踪当前状态、已知问题和下一步工作。progress.md:按时间顺序记录项目更新和里程碑。decision-log.md:记录重要决策及其上下文、可选方案和结果。system-patterns.md:总结系统架构和代码中的设计模式。内存银行支持多种操作模式:
code:专注于代码实现。ask:专注于回答问题。architect:专注于系统设计。debug:专注于调试问题。test:专注于测试。内存银行实现了状态指示器,让用户实时了解其运行状态:
[MEMORY BANK: ACTIVE]:内存银行已就绪并正在提供上下文支持。[MEMORY BANK: INACTIVE]:内存银行未就绪或配置不正确。[MEMORY BANK: UPDATING]:内存银行正在更新中(在执行UMB命令期间)。你可以使用npm来安装这个工具:
npm install -g @aakarsh-sasi/memory-bank-mcp
# 初始化内存银行
memory-bank-mcp initialize_memory_bank path=./memory-bank
# 记录进度
memory-bank-mcp track_progress action="功能实现" description="实现了X功能"
# 记录决策
memory-bank-mcp log_decision title="API设计" context="..." decision="..."
# 更改模式
memory-bank-mcp switch_mode mode=code
import { MemoryBankServer } from "@aakarsh-sasi/memory-bank-mcp";
// 创建一个新的服务器实例
const server = new MemoryBankServer();
// 启动服务器
server.run().catch(console.error);
请参考CONTRIBUTING.md了解如何贡献代码,包括代码规范和提交流程。
项目遵循语义化版本控制,并根据提交信息生成变更日志。主分支合并时,会根据提交信息自动递增版本号:
BREAKING CHANGE或!:的提交消息)时递增。feat:或feat(scope):的提交消息)时递增。该项目使用MIT许可证,具体见LICENSE文件。