Skip to content

Latest commit

 

History

History
175 lines (137 loc) · 5.2 KB

File metadata and controls

175 lines (137 loc) · 5.2 KB

Contributing to 52-for-52

Thank you for your interest in contributing to the 52-for-52 project! This document provides guidelines and information for contributors.

Ways to Contribute

1. Bug Reports

  • Use the bug report template
  • Include detailed reproduction steps
  • Provide environment information
  • Add screenshots when helpful

2. Feature Suggestions

  • Use the feature request template
  • Explain the problem it solves
  • Consider implementation complexity
  • Provide use cases and examples

3. Project Ideas

  • Use the project suggestion template
  • Suggest realistic 1-week projects
  • Consider diverse technology stacks
  • Think about community value

4. Documentation

  • Improve README files
  • Fix typos and grammar
  • Add examples and tutorials
  • Enhance setup instructions

5. Code Contributions

  • Fork the specific project repository
  • Follow the project's coding standards
  • Write clear commit messages
  • Include tests when applicable

Contribution Process

For Bug Fixes and Features

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Test your changes thoroughly
  5. Commit with clear messages (git commit -m 'Add amazing feature')
  6. Push to your branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

For Project Suggestions

  1. Check existing issues to avoid duplicates
  2. Use the project suggestion template
  3. Provide detailed information
  4. Engage in discussion with the community

Pull Request Guidelines

Before Submitting

  • Code follows the project's style guidelines
  • Self-review of the code has been performed
  • Code is commented, particularly in hard-to-understand areas
  • Corresponding changes to documentation have been made
  • Changes generate no new warnings
  • Tests have been added that prove the fix is effective or feature works
  • New and existing unit tests pass locally

PR Description Should Include

  • Clear description of changes
  • Link to related issues
  • Screenshots for UI changes
  • Testing instructions
  • Breaking changes (if any)

Project-Specific Guidelines

Week Projects

Each weekly project should:

  • Be completable in ~1 week
  • Include comprehensive README
  • Have clear setup instructions
  • Include live demo (when applicable)
  • Follow security best practices
  • Be well-documented

Technology Choices

We welcome projects using:

  • Frontend: React, Vue, Svelte, vanilla JS
  • Backend: Laravel, Node.js, Python, Go
  • Mobile: React Native, Flutter
  • AI/ML: Python, TensorFlow, PyTorch
  • DevOps: Docker, Kubernetes, CI/CD tools
  • Databases: MySQL, PostgreSQL, MongoDB, Redis

Issue Labels

  • bug - Something isn't working
  • enhancement - New feature or request
  • documentation - Improvements or additions to docs
  • good first issue - Good for newcomers
  • help wanted - Extra attention is needed
  • project-suggestion - Ideas for weekly projects
  • week-X - Related to specific week's project

Community Guidelines

Be Respectful

  • Use welcoming and inclusive language
  • Be respectful of differing viewpoints
  • Accept constructive criticism gracefully
  • Focus on what's best for the community

Be Helpful

  • Help newcomers get started
  • Share knowledge and resources
  • Provide constructive feedback
  • Celebrate others' contributions

Be Professional

  • Keep discussions on-topic
  • Avoid spam and self-promotion
  • Respect maintainers' time
  • Follow the code of conduct

Getting Started

For New Contributors

  1. Star the repository to show support
  2. Read the README and documentation
  3. Browse existing issues and projects
  4. Join discussions to understand the community
  5. Start small with documentation or bug fixes

Development Setup

  1. Fork and clone the repository
  2. Install dependencies (varies by project)
  3. Run tests to ensure everything works
  4. Make your changes
  5. Test thoroughly before submitting

Recognition

Contributors will be recognized in:

  • Project README files
  • Contributors hall of fame
  • Social media shoutouts
  • Annual contributor highlights

Getting Help

Questions?

  • Open a discussion on GitHub
  • Check existing documentation
  • Review similar issues
  • Ask in project-specific channels

Stuck?

  • Break down the problem
  • Ask for specific help
  • Provide context and details
  • Be patient with responses

Code of Conduct

This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this code.

Our Pledge

We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

🙏 Thank You

Every contribution, no matter how small, helps make this project better. Thank you for being part of the 52-for-52 community!


Happy Contributing!

For questions about contributing, please open a discussion or contact the maintainers.