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.mdin 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