next-windfonts/CONTRIBUTING.md
bo.yu 9f707f3fbe docs: 添加GPL-3.0许可证及相关文档
- 在package.json中添加GPL-3.0许可证声明
- 创建LICENSE文件包含完整GPL-3.0许可证文本
- 更新README.md中的许可证章节,详细说明GPL-3.0要点
- 在所有主要源代码文件头部添加GPL-3.0版权声明
- 新增CONTRIBUTING.md贡献指南文档
2025-09-08 15:22:56 +08:00

4.1 KiB
Raw Permalink Blame History

贡献指南

感谢您对 Next WindFonts 项目的关注!我们欢迎所有形式的贡献,包括但不限于代码贡献、问题报告、功能建议和文档改进。

📋 贡献方式

🐛 报告问题

如果您发现了 bug 或有功能建议,请:

  1. Issues 页面搜索是否已有相关问题
  2. 如果没有,请创建新的 Issue
  3. 使用清晰的标题和详细的描述
  4. 提供复现步骤(如果是 bug
  5. 包含相关的环境信息

💻 代码贡献

开发环境设置

  1. Fork 项目

    # 克隆您 fork 的仓库
    git clone https://github.com/YOUR_USERNAME/next-windfonts.git
    cd next-windfonts
    
  2. 安装依赖

    npm install
    
  3. 配置环境

    # 复制环境变量文件
    cp .env.example .env.local
    # 编辑 .env.local 填入必要的配置
    
  4. 初始化数据库

    npm run init-db
    
  5. 启动开发服务器

    npm run dev
    

开发流程

  1. 创建分支

    git checkout -b feature/your-feature-name
    # 或
    git checkout -b fix/your-bug-fix
    
  2. 编写代码

    • 遵循项目的代码风格
    • 添加必要的测试
    • 确保代码通过 lint 检查
  3. 提交代码

    git add .
    git commit -m "feat: add your feature description"
    
  4. 推送分支

    git push origin feature/your-feature-name
    
  5. 创建 Pull Request

    • 在 feicode 上创建 PR
    • 填写详细的 PR 描述
    • 关联相关的 Issues

📝 代码规范

提交信息规范

我们使用 Conventional Commits 规范:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

类型 (type)

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档更新
  • style: 代码格式调整(不影响功能)
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建过程或辅助工具的变动

示例:

feat(api): add font upload endpoint
fix(ui): resolve responsive layout issue
docs: update installation guide

代码风格

  • 使用 TypeScript 进行开发
  • 遵循 ESLint 配置的代码规范
  • 使用 Prettier 进行代码格式化
  • 组件和函数使用有意义的命名
  • 添加适当的注释和文档

文件结构

src/
├── app/                 # Next.js App Router 页面
├── components/          # React 组件
├── lib/                 # 工具库和配置
│   ├── database/        # 数据库相关
│   ├── services/        # 业务逻辑服务
│   ├── types/           # TypeScript 类型定义
│   └── utils/           # 工具函数
└── styles/              # 样式文件

🧪 测试

在提交代码前,请确保:

# 代码风格检查
npm run lint

# TypeScript 类型检查
npm run typecheck

# 构建测试
npm run build

📄 许可证

通过贡献代码,您同意您的贡献将在 GPL-3.0 许可证下发布。

重要说明

  • 所有贡献的代码必须与 GPL-3.0 许可证兼容
  • 不得包含专有或受版权保护的代码
  • 确保您有权贡献所提交的代码
  • 贡献的代码将成为项目的一部分,并受 GPL-3.0 许可证约束

🤝 行为准则

我们的承诺

为了营造一个开放和友好的环境,我们承诺:

  • 尊重不同的观点和经验
  • 接受建设性的批评
  • 关注对社区最有利的事情
  • 对其他社区成员表现出同理心

不可接受的行为

  • 使用性别化语言或图像,以及不受欢迎的性关注或性骚扰
  • 恶意评论、人身攻击或政治攻击
  • 公开或私下骚扰
  • 未经明确许可发布他人的私人信息
  • 其他在专业环境中可能被认为不当的行为

💬 获取帮助

如果您有任何问题或需要帮助:

  1. 查看项目文档和 README
  2. 搜索现有的 Issues
  3. 创建新的 Issue 寻求帮助
  4. 参与社区讨论

🎉 致谢

感谢所有为项目做出贡献的开发者!您的贡献让这个项目变得更好。


再次感谢您的贡献!🚀