Maakaf/friends-activity-backend

Create CONTRIBUTING.md Guide

Open

#60 opened on Oct 31, 2025

 (1 comment) (0 reactions) (0 assignees)TypeScript (17 forks)auto 404
documentationgood first issuehacktoberfest

Repository metrics

Stars
 (9 stars)
PR merge metrics
 (PR metrics pending)

Description

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

Contributor guide