# Lattice **Repository Path**: qwe12345678/lattice ## Basic Information - **Project Name**: Lattice - **Description**: 一个基于LLM的AI辅助代码生成与修改工具 - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-07 - **Last Updated**: 2025-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lattice 一个基于LLM的AI辅助代码生成与修改工具,支持现有项目的智能重构和新项目的快速搭建。 ## 功能特性 ### 核心功能 - **智能代码生成**: 根据自然语言描述生成代码 - **项目修改与重构**: 对现有项目进行智能修改和功能添加 - **API设计规划**: 自动生成库的API设计文档 - **测试生成与验证**: 自动生成测试用例并运行验证 ### 技术特性 - **多模式支持**: 支持"创建新项目"和"修改现有项目"两种模式 - **工具集成**: 集成文件系统、Git、NPM、测试等工具 - **可扩展架构**: 模块化设计,易于添加新的工具和功能 - **安全沙箱**: 提供dry-run模式,确保操作安全 ## 安装与使用 ### 环境要求 - Node.js 18+ - TypeScript 5.6+ - NPM或Yarn包管理器 ### 安装 ```bash # 克隆项目 git clone cd lattice # 安装依赖 npm install # 构建项目 npm run build ``` ### 基本使用 ```bash # 开发模式运行(交互式) npm run dev # 或直接提供需求描述 npm run dev -- "创建一个用户管理系统,包含注册、登录和权限管理功能" # 生产模式运行 npm run start -- "你的需求描述" ``` ### 全局安装(作为CLI工具) ```bash # 从本地安装 npm install -g . # 或从npm仓库安装(发布后) # npm install -g lattice # 验证安装 lattice --version # 使用帮助 lattice --help # 示例:创建新项目 lattice "创建一个React组件库" # 示例:进入交互模式 lattice ``` ### CLI使用 ```bash # 直接使用CLI(无需安装) npx lattice "创建一个React组件库" # 或进入交互模式 npx lattice ``` ## 项目结构 ``` lattice/ ├── src/ │ ├── agents/ # 代理模块 │ │ ├── routerAgent.ts # 路由决策代理 │ │ ├── create/ # 创建项目代理 │ │ └── modify/ # 修改项目代理 │ ├── llm/ # LLM提供者 │ │ ├── providers/ # OpenAI、Mock等提供者 │ │ └── index.ts │ ├── mcp/ # 模型上下文协议工具 │ │ └── tools/ # 文件系统、Git、NPM、测试工具 │ ├── planner/ # 规划模块 │ │ └── apiPlanner.ts # API设计规划 │ ├── scaffold/ # 项目脚手架 │ │ └── monorepo.ts # 单仓库项目模板 │ ├── cookbook/ # 提示词模板 │ │ └── prompts.ts │ ├── testing/ # 测试相关 │ │ ├── testOrchestrator.ts │ │ └── testGenerators.ts │ ├── utils/ # 工具函数 │ │ ├── diff.ts │ │ ├── fs.ts │ │ └── logger.ts │ ├── types.ts # 类型定义 │ ├── index.ts # 主入口 │ └── cli.ts # CLI入口 ├── package.json ├── tsconfig.json └── README.md ``` ## 配置 ### 环境变量 ```bash # 复制示例环境文件 cp .env.example .env # 编辑.env文件配置你的LLM提供商 OPENAI_API_KEY=your-openai-api-key OPENAI_MODEL=gpt-4o-mini # 或 gpt-4o, gpt-4-turbo等 ``` ### 支持的LLM提供商 - OpenAI (GPT系列) - Mock Provider (用于测试) ## 开发指南 ### 本地开发 ```bash # 安装依赖 npm install # 开发模式运行 npm run dev # 运行测试 npm test # 代码检查 npm run lint # 代码格式化 npm run format ``` ### 添加新工具 1. 在 `src/mcp/tools/` 目录下创建新的工具模块 2. 实现 `LLMToolSchema` 接口 3. 在 `src/index.ts` 中注册新工具 4. 更新类型定义(如果需要) ### 扩展代理功能 1. 在 `src/agents/` 目录下创建新的代理 2. 实现相应的业务逻辑 3. 在路由代理中注册新的决策逻辑 ## 示例 ### 创建新项目 ```bash npx lattice "创建一个TypeScript Express API服务器,包含用户认证和数据库连接" ``` ### 修改现有项目 ```bash # 在现有项目目录中运行 cd existing-project npx lattice "添加用户头像上传功能" ``` ### API设计规划 工具会自动生成API设计文档,包括: - 库名称和描述 - 方法签名(参数类型和返回值) - 使用示例 ## 技术栈 - **语言**: TypeScript - **运行时**: Node.js - **构建工具**: TypeScript Compiler, tsx - **测试框架**: Vitest - **代码质量**: ESLint, Prettier - **LLM集成**: OpenAI API - **工具库**: Zod, fs-extra, execa, chalk, prompts ## 许可证 [在此添加许可证信息] ## 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 开启 Pull Request ## 常见问题 ### Q: 如何确保AI生成代码的安全性? A: 工具提供dry-run模式,可以先预览所有操作而不实际执行。建议在安全环境中测试后再应用到生产代码。 ### Q: 支持哪些编程语言? A: 目前主要支持TypeScript/JavaScript项目,但架构设计支持扩展其他语言。 ### Q: 如何自定义项目模板? A: 可以修改 `src/scaffold/` 目录下的模板文件,或添加新的模板模块。 ### Q: 工具会修改哪些文件? A: 默认情况下,工具会修改源代码文件、配置文件(package.json等)和测试文件。所有修改都会在日志中记录。 ## 路线图 - [ ] 支持更多编程语言(Python, Go, Rust等) - [ ] 图形用户界面(GUI) - [ ] 插件系统 - [ ] 云部署支持 - [ ] 团队协作功能 - [ ] 代码质量评估 - [ ] 性能优化建议