Skip to content
This repository was archived by the owner on Jan 30, 2026. It is now read-only.

Latest commit

 

History

History
187 lines (131 loc) · 3.43 KB

File metadata and controls

187 lines (131 loc) · 3.43 KB

贡献指南

感谢您对 Honeycomb 项目的关注!我们欢迎所有形式的贡献。

📋 目录

开发环境设置

前置要求

  • Node.js >= 24.11.1
  • pnpm >= 10.25.0

安装步骤

# 1. Fork 并克隆仓库
git clone https://github.com/your-username/honeycomb.git
cd honeycomb

# 2. 安装依赖
pnpm install

# 3. 初始化数据库
pnpm init-db

# 4. 构建项目
pnpm build

# 5. 启动开发服务器
# 终端 1:启动后端
cd packages/honeycomb-server && pnpm start

# 终端 2:启动前端
cd packages/honeycomb-client && pnpm dev

访问地址:

开发流程

1. 创建分支

git checkout master
git pull origin master
git checkout -b feature/your-feature-name

分支命名规范:

  • feature/ - 新功能
  • fix/ - Bug 修复
  • docs/ - 文档更新
  • refactor/ - 代码重构

2. 开发与提交

# 编写代码后,使用规范化提交
pnpm commit

# 推送分支
git push origin your-branch-name

然后在 GitHub 上创建 Pull Request。

代码规范

TypeScript

  • 使用严格模式
  • 为函数参数和返回值添加类型注解
  • 避免使用 any,优先使用 unknown

代码格式化

项目使用 Biome 进行代码格式化和检查:

pnpm format  # 格式化代码
pnpm lint    # 检查代码
pnpm check   # 类型检查
pnpm test    # 运行测试

Git Hooks

项目使用 Lefthook 管理 Git hooks,提交时会自动:

  • 自动格式化暂存的文件
  • 验证提交信息格式

提交规范

使用 Conventional Commits 规范。

提交类型:

  • feat: 新功能
  • fix: Bug 修复
  • docs: 文档更新
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建/工具链更新

提交格式:

<type>(<scope>): <subject>

<body>

<footer>

示例:

feat(client): 添加配置搜索功能

- 实现按名称和状态搜索
- 添加搜索高亮显示

Closes #123

使用 pnpm commit 可交互式创建符合规范的提交信息。

Pull Request 流程

创建 PR 前检查清单

  • 代码已通过所有测试和检查 (pnpm test, pnpm check, pnpm lint)
  • 代码已格式化 (pnpm format)
  • 已添加或更新相关测试
  • 已更新相关文档(如需要)
  • 提交信息符合规范

PR 标题和描述

标题格式: <type>(<scope>): <简短描述>

描述应包含:

  • 变更类型和描述
  • 相关 Issue 编号(如 Closes #123
  • 测试说明
  • 截图(如适用)

测试

运行测试

pnpm test  # 运行所有测试

编写测试

  • 使用 Vitest 作为测试框架
  • 为新功能添加单元测试
  • 为 Bug 修复添加回归测试
  • 测试文件命名:*.test.ts*.spec.ts

示例:

import { describe, it, expect } from 'vitest'

describe('功能名称', () => {
  it('应该正确执行某个操作', () => {
    expect(result).toBe(expected)
  })
})

获取帮助

如遇问题,请:

  1. 查看 README.mdARCHITECTURE.md
  2. 查看现有的 Issues 和 PRs
  3. 创建新的 Issue 描述问题