Maakaf/friends-activity-backend

Create CONTRIBUTING.md Guide

开放

#60 创建于 2025年10月31日

 (1 条评论) (0 个反应) (0 位负责人)TypeScript (17 个派生)auto 404
documentationgood first issuehacktoberfest

仓库指标

星标
 (9 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Description

The README.md references a CONTRIBUTING.md file that doesn't exist in the repository. We need to create a comprehensive contributing guide to help new contributors understand how to participate in the project effectively.

Current State

The README.md contains the following reference:

We welcome contributions from the community! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on:

However, the CONTRIBUTING.md file is missing from the repository root.

Why This Matters

  • Onboarding: New contributors need clear guidelines to get started
  • Consistency: Ensures all contributions follow the same standards
  • Efficiency: Reduces back-and-forth in PR reviews
  • Community: Shows that the project welcomes and values contributions
  • Professionalism: Complete documentation demonstrates project maturity

Proposed Content

The CONTRIBUTING.md file should include:

1. Welcome Message

  • Warm introduction to contributors
  • Link to Maakaf community

2. Ways to Contribute

  • 🐛 Reporting bugs
  • 💡 Suggesting features
  • 📝 Improving documentation
  • 🔧 Fixing issues
  • ✨ Adding new features
  • 🧪 Writing tests

3. Getting Started

  • Prerequisites (Node.js, npm, GitHub account)
  • Forking and cloning the repository
  • Setting up the development environment
  • Running the application locally
  • Running tests

4. Development Workflow

  • Branch naming convention: issue-<number>/short-description
  • Commit message guidelines
  • Code style and formatting
  • Testing requirements
  • Documentation updates

5. Pull Request Process

  • Creating an issue first (required)
  • Linking PRs to issues
  • PR description template
  • Code review process
  • CI/CD requirements (GitHub Actions must pass)
  • Merge criteria

6. Code Standards

  • TypeScript/ESLint rules
  • Naming conventions
  • File organization
  • Comment requirements
  • Testing standards

7. Database Contributions

  • Three-layer architecture (Bronze/Silver/Gold)
  • Migration guidelines
  • Entity creation standards
  • TypeORM best practices

8. API Contributions

  • RESTful conventions
  • Swagger documentation requirements
  • Validation rules
  • Error handling

9. Testing Guidelines

  • Unit test requirements
  • Integration test guidelines
  • Test file naming conventions
  • Coverage expectations

10. Documentation

  • README updates
  • API documentation (Swagger)
  • Code comments
  • Architecture documentation

11. Communication

  • Where to ask questions
  • Issue templates
  • PR templates
  • Community channels

12. Code of Conduct

  • Link to Maakaf community guidelines
  • Expected behavior
  • Reporting issues

Tasks

  • Create CONTRIBUTING.md in repository root
  • Write comprehensive contribution guidelines
  • Include examples for common scenarios
  • Add templates for issues and PRs
  • Link to relevant documentation (TypeORM, NestJS, etc.)
  • Add troubleshooting section for common setup issues
  • Include information about the three-layer architecture
  • Explain GitHub token setup and permissions
  • Document database migration process
  • Add section on testing requirements
  • Create issue template files in .github/ISSUE_TEMPLATE/
  • Create PR template in .github/pull_request_template.md
  • Link Code of Conduct if one exists

Example Structure

# Contributing to Maakaf Home Backend

## Welcome! 🎉
Thank you for considering contributing to the Maakaf Home Backend...

## Table of Contents
- [Code of Conduct](#code-of-conduct)
- [Getting Started](#getting-started)
- [Development Workflow](#development-workflow)
- [Pull Request Process](#pull-request-process)
...

## Getting Started

### Prerequisites
- Node.js v20 or higher
- npm or yarn
...

### Setup
1. Fork the repository
2. Clone your fork...

Benefits

  • ✅ Clear expectations for contributors
  • ✅ Faster onboarding for new developers
  • ✅ Consistent code quality
  • ✅ Reduced maintainer burden
  • ✅ Professional project appearance
  • ✅ Easier community growth

Related Files

  • /home/urielo/projects/friends-activity-backend/README.md - References the missing file
  • .github/ folder - Should contain issue and PR templates

Priority

High - The README.md already references this file, creating a broken link

References

贡献者指南