Liam项目开发环境搭建与贡献指南
项目概述
Liam是一个现代化的开发项目,采用模块化架构设计,包含多个子包协同工作。项目使用pnpm作为包管理工具,采用monorepo结构管理多个功能模块。本文将详细介绍如何搭建开发环境以及如何为项目做出贡献。
开发环境搭建
前置准备
在开始之前,请确保你的系统满足以下要求:
- Node.js (建议使用LTS版本)
- pnpm (通过corepack启用)
- Git版本控制系统
环境配置步骤
-
获取项目代码
使用Git克隆项目到本地开发目录。
-
安装依赖
执行以下命令启用corepack并安装项目依赖:
corepack enable corepack prepare pnpm install
-
配置环境变量
项目使用环境变量管理敏感信息和配置。根据你的身份选择配置方式:
-
核心维护人员: 使用Vercel工具链链接项目并拉取环境变量:
pnpm vercel:link pnpm vercel:env-pull
然后创建
.env.local
文件并设置OPENAI_API_KEY
和TRIGGER_SECRET_KEY
等关键变量。 -
普通贡献者: 复制环境模板文件并填写必要变量:
cp .env.template .env
编辑
.env
文件,根据开发需要配置Supabase、GitHub App、Trigger.dev等服务凭证。
-
-
启动开发服务器
运行以下命令启动开发环境:
pnpm dev
-
访问各子包
项目包含多个子包,各自运行在不同的端口:
| 包名 | 访问地址 | |-------------------|----------------------| | @liam-hq/app | http://localhost:3001 | | @liam-hq/cli | http://localhost:5173 | | @liam-hq/docs | http://localhost:3002 | | @liam-hq/storybook| http://localhost:6006 |
问题报告与功能请求
如何有效报告问题
当发现代码错误、文档问题或有新功能建议时,请遵循以下原则创建问题报告:
- 可复现性:提供明确的复现步骤
- 具体性:包含环境详情、版本信息等
- 唯一性:避免重复已有问题
- 单一性:一个问题只报告一个bug
问题报告内容建议
- 问题描述:清晰说明遇到的问题
- 预期行为:描述你认为应该发生什么
- 实际行为:描述实际发生了什么
- 复现步骤:逐步说明如何重现问题
- 环境信息:操作系统、Node版本、浏览器等
提交代码变更
准备工作
- 检查现有拉取请求,避免重复工作
- 创建特性分支:
git switch -c feat/你的特性名
变更管理
项目使用changeset管理包版本变更:
- 对于
frontend/packages
目录下的包修改,使用:pnpm changeset
- 注意
@liam-hq/docs
包的修改不需要changeset
提交规范
项目采用Gitmoji规范提交信息:
- ✨ 用于新功能
- 🐛 用于修复bug
- 📝 用于文档更新
示例:
✨ 新增表格过滤功能
🐛 修复登录页面样式问题
📝 更新安装文档
代码格式化
提交前运行格式化命令:
pnpm run fmt
提交与推送
- 提交变更:
git commit -m 'feat: 添加新特性'
- 推送分支:
git push origin feat/你的特性名
- 创建拉取请求
最佳实践建议
- 代码质量:确保新代码符合项目现有风格
- 测试覆盖:为新功能添加相应测试
- 文档更新:代码变更涉及功能修改时同步更新文档
- 小步提交:保持每次提交的原子性,便于审查
- 描述清晰:在拉取请求中详细说明变更内容和原因
通过遵循这些指南,你可以高效地为Liam项目做出贡献,同时确保项目代码质量和一致性得到维护。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考