欢迎来到 Compoder 贡献指南!作为 AI 驱动的组件代码生成引擎,我们致力于为前端工程师提供最佳的组件代码生成体验,提供基于多种技术栈、组件库、AI 模型、以及多种场景的代码生成器。您的每一份贡献都意义非凡。
1. 功能 issue
请详细说明 issue 的功能目标实现,为什么需要这个功能,带来的价值是什么。
2. 其他类型 issue(BUG 报告、性能优化、UI 优化、文档修正等)
- 针对 BUG 报告:请详细说明问题描述、复现步骤等,并提供相关截图或视频
- 针对性能优化:请说明优化前后的性能对比,并提供相关截图或视频
- 针对 UI 优化:请说明 UI 优化前后的对比,并提供相关截图或视频
- 针对文档修正:请说明文档修正的内容、原因等
请基于 issue 的描述,认领感兴趣的 issue 并开始编码并提交与 issue 关联的 PR,可能会有其他开发者也认领了同一个 issue,但是没关系,我们鼓励大家一起参与,互相学习,共同进步。
- Node.js v18.x 或更高版本
- pnpm v9.x 或更高版本
- Docker
- Docker Compose
访问 Compoder GitHub 仓库,点击右上角的 "Fork" 按钮创建一个属于您自己的仓库副本。
# 克隆您 fork 的仓库
git clone git@github.com:<github_用户名>/compoder.git
cd compoder
# 安装依赖
pnpm install# docker 配置
cp docker-compose.template.yml docker-compose.yml
# 启动 MongoDB 数据库
docker compose up -d# 填写对应的环境变量
cp .env.template .env
# Model provider 配置(需要更换其中的 BaseUrl、API Key)
cp data/config.template.json data/config.json
# Codegen 配置初始化
cp data/codegens.template.json data/codegens.json
pnpm migrate-codegen# 启动 Compoder
pnpm dev访问 http://localhost:3000 开始开发
pnpm storybook# 启动 Antd 渲染沙箱
cd artifacts/antd-renderer
pnpm dev
# 启动 Shadcn UI 渲染沙箱
cd artifacts/shadcn-ui-renderer
pnpm dev
# 启动 Mui 渲染沙箱
cd artifacts/mui-renderer
pnpm dev
# 启动 Element Plus 渲染沙箱
cd artifacts/element-plus-renderer
pnpm dev[app/] // Next.js 应用主目录
├── main/ // 主界面相关页面
├── commons/ // 公共对接层组件
├── api/ // API 路由
├── services/ // 服务相关
└── layout.tsx // 主布局组件
[components/] // 组件目录
├── biz/ // 业务组件
├── ui/ // UI 基础组件
└── provider/ // 上下文提供者组件
[lib/] // 核心库
├── auth/ // 认证相关
├── config/ // 配置相关
├── db/ // 数据库相关
└── xml-message-parser/ // XML 解析工具
[artifacts/] // 代码渲染沙箱环境
├── antd-renderer/ // Antd 渲染环境
├── shadcn-ui-renderer/ // Shadcn UI 渲染环境
├── mui-renderer/ // MUI 渲染环境
└── element-plus-renderer/ // Element Plus 渲染环境
准备就绪后:
-
确保代码符合规范
- 使用 ESLint 和 Prettier 保持代码风格
- 遵循 TypeScript 类型规范
-
补充必要测试用例
- 对于新功能,添加相应的单元测试或集成测试
- 确保已有测试能够通过
-
更新相关文档
- 如果修改了 API 或添加新功能,确保更新相关文档
- 对于重大变更,在 PR 描述中详细说明
-
向 main 分支发起 PR
- PR 标题应简明扼要地描述变更内容
- PR 描述应包含详细的变更说明、相关 issue 链接等
PR 合并后,您将荣登项目贡献者名单。
Compoder 提供了基于 Cursor 的多种代码生成命令,便于快速创建各类组件和服务:
# 生成业务组件
compoder generate:biz-component
# 生成页面集成
compoder generate:page-integration
# 生成 API 请求服务
compoder generate:services
# 生成 SQL & API
compoder generate:sql-api
# 重构业务组件
compoder refactor:bizcomponent在 Cursor 的 chat agent 中输入上述命令,并传递对应的上下文和需求,即可生成对应的代码。
遇到问题时可:
- 加入 GitHub Discussions 社区
- 在 GitHub Issues 中提问
- 加入社区,扫描下方二维码,添加微信好友,备注:Compoder,拉你进入 Compoder 社区,在社区中和一群志同道合的小伙伴一起交流学习。
