感谢您对 Blade Code 项目的关注!我们欢迎各种形式的贡献。
如果您发现了 bug,请在 GitHub Issues 中提交报告,包含以下信息:
- 环境信息:操作系统、Node.js 版本、Blade 版本
- 复现步骤:详细的操作步骤
- 期望行为:您期望发生什么
- 实际行为:实际发生了什么
- 错误信息:完整的错误信息和堆栈跟踪
我们欢迎新功能建议!请在提交前:
- 检查是否已有类似建议
- 考虑功能的通用性和必要性
- 提供详细的使用场景
-
Fork 并克隆项目:
git clone https://github.com/echoVic/blade-code.git cd blade-code -
安装依赖:
npm install
-
配置开发环境:
# 或者在配置文件中写入 mkdir -p ~/.blade nano ~/.blade/config.json
-
创建特性分支:
git checkout -b feature/your-feature-name
-
开发模式:
npm run dev # 启动 watch 模式 -
代码质量检查:
npm run check # 运行 linting 和格式检查 npm run type-check # TypeScript 类型检查 npm test # 运行测试
-
构建验证:
npm run build # 构建项目 npm run start # 测试构建后的应用
- TypeScript:使用严格的 TypeScript 配置
- 代码风格:使用 Biome 进行格式化和 linting
- 提交规范:使用清晰的提交信息
- 测试覆盖:为新功能添加相应的测试
- 单元测试:
npm run test:unit - 集成测试:
npm run test:integration - CLI 测试:
npm run test:cli - 覆盖率报告:
npm run test:coverage
-
确保代码质量:
- 所有测试通过
- 类型检查无错误
- 代码风格符合规范
-
PR 描述应包含:
- 变更内容的清晰描述
- 相关 Issue 的链接
- 截图或 GIF(如果适用)
- 测试计划
-
PR 标题格式:
feat: 添加新的工具集成 fix: 修复配置加载问题 docs: 更新 README 文档 test: 添加单元测试 refactor: 重构 Agent 类
src/
├── agent/ # Agent 核心逻辑
├── cli/ # CLI 配置和中间件
├── commands/ # CLI 命令实现
├── config/ # 配置管理
├── context/ # 上下文管理
├── error/ # 错误处理
├── ide/ # IDE 集成
├── logging/ # 日志系统
├── mcp/ # MCP 协议
├── prompts/ # 提示模板
├── security/ # 安全管理
├── services/ # 核心服务
├── slash-commands/ # 斜杠命令
├── telemetry/ # 遥测系统(历史目录,当前实现中已不再使用)
├── tools/ # 工具系统
├── ui/ # 用户界面
├── utils/ # 工具函数
└── blade.tsx # 应用入口
- 模块化:每个模块有清晰的职责边界
- 类型安全:全面的 TypeScript 类型覆盖
- 可测试性:便于单元测试和集成测试
- 扩展性:支持插件和外部集成
- 版本规划:遵循语义化版本控制
- 代码审查:所有 PR 需要代码审查
- 测试验证:完整的测试流程
- 文档更新:同步更新相关文档
- GitHub Issues:技术问题和 bug 报告
- Discussions:功能讨论和使用交流
通过贡献代码,您同意您的贡献将在 MIT 许可证下发布。
再次感谢您的贡献!🎉