Skip to content

Latest commit

 

History

History
307 lines (201 loc) · 12.1 KB

File metadata and controls

307 lines (201 loc) · 12.1 KB

Contributing to DevOps-Projects 🚀

Important

Thank you for your interest in contributing to the Real-World DevOps/Cloud Projects For Learning repository! Your help is always appreciated, and together we can make this project even better for the entire DevOps community.

Contribution Welcome


🧰 How to Contribute

Note

There are several ways you can contribute to this project. Every contribution, no matter how small, helps make this repository better for everyone.

📖 Improve Documentation

  • Enhance existing documentation such as the README, setup guides, or usage instructions
  • Add missing details or clarify complex sections to make it easier for others to understand
  • Translate documentation to other languages to reach a broader audience
  • Add visual aids like diagrams, screenshots, or flowcharts

🐛 Report Bugs or Issues

  • Identify and report bugs or unexpected behavior by opening an issue
  • Provide detailed steps to reproduce the issue, along with screenshots or logs if applicable
  • Suggest potential fixes or workarounds when reporting issues

✨ Suggest or Implement New Features

  • Propose new features or improvements by starting a discussion in the discussions section
  • If you're implementing a feature, ensure it aligns with the project's goals and standards
  • Consider the educational value and complexity level for learners

📦 Add New DevOps Project Setups or Enhancements

  • Contribute new DevOps project setups, configurations, or workflows
  • Improve existing setups by optimizing performance, security, or scalability
  • Add projects covering new technologies or advanced DevOps concepts
  • Ensure projects include comprehensive documentation and learning objectives

💡 Share Insights on Best Practices or Architecture Improvements

  • Suggest best practices for DevOps workflows, CI/CD pipelines, or infrastructure management
  • Recommend architectural improvements to enhance the project's maintainability and efficiency
  • Share real-world experiences and lessons learned
  • Contribute troubleshooting guides and common solutions

Contribution Types


🛠️ Setup for Development

Tip

Follow these steps to get started with contributing to this project. This workflow ensures smooth collaboration and maintains project quality.

Step 1: Fork the Repository

Create a personal copy of the repository by clicking the "Fork" button on the top-right corner of the repository page.

Step 2: Clone the Forked Repository

Clone your forked repository to your local machine:

git clone https://github.com/<your-username>/DevOps-Projects.git
cd DevOps-Projects

Replace <your-username> with your GitHub username.

Step 3: Create a New Branch

Create a new branch to work on your changes. Use a descriptive name for your branch:

git checkout -b feature/your-feature-name

Step 4: Make Your Changes

Implement your changes or additions to the project. Ensure your changes are modular and follow the project's guidelines.

Step 5: Test Your Changes

Test your changes thoroughly to ensure they work as expected and do not introduce new issues.

Step 6: Commit Your Changes

Write clear and concise commit messages that follow the conventional commit format:

git add .
git commit -m "feat: add new feature description"

Step 7: Push Your Branch

Push your branch to your forked repository:

git push origin feature/your-feature-name

Step 8: Open a Pull Request

Navigate to the original repository and open a pull request. Provide a detailed description of your changes, including the problem it solves or the feature it adds.

Development Setup


🔍 Code Style Guidelines

Important

To maintain consistency and readability across the project, adhere to the following code style guidelines.

Formatting Standards

  • Indentation: Use consistent indentation (2 spaces for YAML, 4 spaces for most code files)
  • File Naming: Use kebab-case for file names and directories
  • Line Length: Keep lines under 100 characters when possible
  • End of File: Ensure files end with a newline character

Commit Message Format

Use conventional commit prefixes to categorize your commits:

  • feat: - New features or functionality
  • fix: - Bug fixes or issue resolutions
  • docs: - Documentation changes
  • style: - Code style changes (formatting, etc.)
  • refactor: - Code refactoring without functional changes
  • test: - Adding or updating tests
  • chore: - Maintenance tasks, dependency updates
  • security: - Security-related changes

Content Guidelines

  • Modularity: Keep your contributions small and focused on a single task or feature
  • Documentation: Update or add relevant documentation for your changes
  • Security: Follow security best practices outlined in our Security Policy
  • Educational Value: Ensure contributions help learners understand concepts clearly

Style Guidelines


✅ Pull Request Checklist

Caution

Before submitting your pull request, ensure all the following requirements are met. This helps maintain the quality and integrity of the project.

Pre-Submission Requirements

  • Testing: Your changes have been tested and validated
  • Code Quality: Your code follows the project's style and structure
  • Documentation: Relevant documentation has been updated or added
  • Security: Changes have been reviewed for security implications
  • PR Description: Your pull request includes a clear and descriptive title and body
  • Merge Readiness: Your branch is up-to-date with the main branch and resolves any merge conflicts

PR Description Template

## Description
Brief description of what this PR changes.

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Security improvement
- [ ] Other (please describe)

## Testing
- [ ] I have tested this change locally
- [ ] I have added relevant tests
- [ ] All existing tests pass

## Checklist
- [ ] My code follows the project's style guidelines
- [ ] I have updated the documentation as needed
- [ ] I have considered security implications

PR Checklist


🎯 Project-Specific Contribution Guidelines

Note

This repository has specific guidelines for different types of contributions to ensure educational value and consistency.

For New DevOps Projects

  1. Project Structure: Follow the established project directory structure
  2. Documentation: Include comprehensive README with prerequisites, setup steps, and learning objectives
  3. Complexity Level: Clearly indicate beginner, intermediate, or advanced level
  4. Technologies: List all tools, services, and technologies used
  5. Security: Ensure no sensitive data or credentials are included

For Documentation Updates

  1. Consistency: Match the existing documentation style and formatting
  2. Accuracy: Verify all commands, links, and information are current
  3. Clarity: Write in clear, accessible language for learners
  4. Visuals: Add diagrams, screenshots, or flowcharts when helpful

For Bug Fixes

  1. Root Cause: Address the underlying issue, not just symptoms
  2. Testing: Include tests to prevent regression
  3. Documentation: Update relevant documentation if behavior changes
  4. Communication: Explain the fix clearly in the PR description

Project Guidelines


🙌 Support & Feedback

Tip

We're here to help you contribute successfully! Don't hesitate to reach out if you need assistance.

Get Help

  • Issues: Open an issue for bugs or feature requests
  • Discussions: Join the discussions to share ideas or ask for help
  • Security: Report security concerns according to our Security Policy

Community Channels

  • Telegram: ProDevOpsGuy Community
  • GitHub: Use @ mentions to get maintainers' attention
  • Reviews: Participate in code reviews to learn and help others

Support Channels


🌟 Why Contribute?

Note

Contributing to this project is a great way to grow your skills and make a positive impact on the DevOps community.

Personal Growth

  • Learn and Grow: Enhance your skills in DevOps, CI/CD, and infrastructure management
  • Build Portfolio: Create a visible record of your contributions and expertise
  • Stay Current: Work with the latest DevOps technologies and practices

Community Impact

  • Collaborate: Work with a community of like-minded individuals passionate about DevOps
  • Make an Impact: Your contributions help improve the project and benefit others in the community
  • Mentor Others: Share your knowledge and help newcomers learn DevOps

Professional Benefits

  • Networking: Connect with other DevOps professionals and enthusiasts
  • Recognition: Get recognized for your expertise and contributions
  • Experience: Gain real-world experience with diverse DevOps tools and scenarios

Contribution Benefits


🏆 Recognition & Appreciation

Important

We value every contribution and ensure contributors are recognized for their work.

Contributor Recognition

  • GitHub Contributors: All contributors are listed in the repository's contributor graph
  • Project Credits: Significant contributions are acknowledged in project documentation
  • Community Spotlight: Outstanding contributors may be featured in community communications

Contribution Types We Value

  • Code Contributions: New projects, features, and bug fixes
  • Documentation: Improvements to guides, tutorials, and explanations
  • Community Support: Helping others in discussions and issues
  • Security: Identifying and helping resolve security concerns
  • Testing: Improving test coverage and quality assurance

📜 Contributor License Agreement

Caution

By contributing to this repository, you agree that your contributions will be licensed under the same terms as the repository.

  • License: All contributions are licensed under the repository's existing license
  • Original Work: You confirm that your contributions are your original work
  • Permissions: You have the right to contribute the code and documentation
  • No Warranty: Contributions are provided "as is" without warranty

Thank you for contributing to the DevOps community! 🚀

Your contributions help make DevOps education accessible and impactful for learners worldwide. Together, we're building the most comprehensive resource for hands-on DevOps learning!

Happy Contributing