Skip to content

Latest commit

 

History

History
217 lines (173 loc) · 6.67 KB

File metadata and controls

217 lines (173 loc) · 6.67 KB

Contributing to Open Source PR Guide

Thank you for your interest in contributing to the Open Source PR Guide! This document provides guidelines and best practices for contributing to this project.

📋 Table of Contents

🤝 Code of Conduct

This project follows a code of conduct to ensure a welcoming environment for all contributors. By participating, you agree to:

  • Be respectful and inclusive
  • Focus on constructive feedback
  • Accept responsibility for mistakes
  • Show empathy towards other contributors
  • Help create a positive community

🚀 Getting Started

Prerequisites

  • Basic knowledge of Git and GitHub
  • Familiarity with Markdown
  • Understanding of open source contribution workflows

First Steps

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Set up the development environment
  4. Create a feature branch for your changes
  5. Make your changes
  6. Test your changes
  7. Submit a pull request

💡 How to Contribute

Types of Contributions

  • 📝 Documentation: Improve existing guides, add examples, fix typos
  • 🐛 Bug Reports: Report issues with existing content
  • ✨ Feature Requests: Suggest new guides or improvements
  • 🔧 Code Examples: Add or improve code snippets
  • 🎨 Design: Improve formatting, structure, or presentation
  • 🌐 Translations: Help translate guides to other languages

Contribution Ideas

  • Add more detailed examples for existing guides
  • Create tutorials for specific workflows
  • Improve code formatting and consistency
  • Add troubleshooting sections
  • Create video tutorials or screencasts
  • Write case studies or success stories

🛠️ Development Setup

Local Development

# Clone your fork
git clone https://github.com/YOUR_USERNAME/Open-source-PR.git
cd Open-source-PR/PR-guide

# Install dependencies (if any)
# This project uses only Markdown, so no dependencies needed

# Create a feature branch
git checkout -b feature/your-feature-name

Writing Guidelines

  • Use clear, concise language
  • Include practical examples
  • Use consistent formatting
  • Test all code snippets
  • Follow Markdown best practices

File Structure

PR-guide/
├── README.md                    # Project overview
├── CONTRIBUTING.md             # This file
├── OpenSourceContributionAdvanced.md
├── GitHubCommands.md
├── GitHubPushCommands.md
├── GitHubWorkflows.md
├── HACKTOBERFEST_PR_GUIDE.py
├── OPEN_SOURCE_PR_GUIDE.py
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.md
│   │   └── content-improvement.md
│   └── PULL_REQUEST_TEMPLATE.md
└── LICENSE

📤 Submitting Changes

Commit Guidelines

  • Use clear, descriptive commit messages
  • Follow conventional commit format when possible:
    type(scope): description
    
    [optional body]
    
    [optional footer]
    
  • Types: feat, fix, docs, style, refactor, test, chore

Pull Request Process

  1. Create a feature branch from main
  2. Make your changes and commit them
  3. Push your branch to your fork
  4. Create a pull request with:
    • Clear title describing the change
    • Detailed description of what was changed and why
    • Reference to any related issues
    • Screenshots or examples if applicable

PR Template

Please use the provided PR template and fill in all relevant sections.

🔍 Review Process

What to Expect

  • Automated checks may run (if configured)
  • Manual review by maintainers
  • Feedback and suggestions for improvements
  • Approval and merge when ready

Review Guidelines

  • Be open to feedback and suggestions
  • Address review comments promptly
  • Make requested changes or explain why they shouldn't be made
  • Keep discussions focused and productive

Review Checklist

  • Code follows project conventions
  • Documentation is clear and accurate
  • Examples work as expected
  • No typos or grammatical errors
  • Changes are properly tested
  • Commit messages are clear

🌟 Best Practices

Writing Content

  • Be specific: Provide concrete examples, not vague advice
  • Be practical: Focus on real-world scenarios
  • Be comprehensive: Cover edge cases and common pitfalls
  • Be current: Keep information up to date with latest practices
  • Be inclusive: Use welcoming language and consider diverse audiences

Code Examples

  • Test all code: Ensure examples work
  • Use comments: Explain complex parts
  • Be consistent: Follow language-specific conventions
  • Keep it simple: Avoid unnecessary complexity
  • Version pin: Specify versions for tools/frameworks

Documentation Structure

  • Clear headings: Use descriptive, hierarchical headings
  • Logical flow: Organize content in logical sequence
  • Cross-references: Link related sections
  • Table of contents: Help readers navigate
  • Search-friendly: Use keywords in headings

🐛 Reporting Issues

Bug Reports

Use the bug report template and include:

  • Clear description of the issue
  • Steps to reproduce
  • Expected vs actual behavior
  • Environment details
  • Screenshots if applicable

Feature Requests

Use the content improvement template and include:

  • Clear description of the proposed feature
  • Use case or problem it solves
  • Implementation suggestions
  • Examples or mockups

🤝 Community

Communication

  • GitHub Issues: For bugs, features, and general discussion
  • Pull Requests: For code and documentation changes
  • Discussions: For questions and community topics

Getting Help

  • Check existing issues and documentation first
  • Be specific about your problem
  • Include relevant context and details
  • Be patient and respectful

Recognition

Contributors are recognized through:

  • GitHub contributor statistics
  • Mention in release notes
  • Special acknowledgments for significant contributions

📜 License

By contributing to this project, you agree that your contributions will be licensed under the same license as the project (see LICENSE file).

🙏 Thank You

Your contributions help make open source more accessible and improve the experience for everyone. We appreciate your time and effort!


Need help? Check the README or open an issue!