Skip to content

Latest commit

 

History

History
162 lines (106 loc) · 5.79 KB

File metadata and controls

162 lines (106 loc) · 5.79 KB

🛠️ Contribution Guidelines for the Community

Welcome to our open source OpenKCM! We're thrilled to have you here. By contributing, you're helping us improve and build something amazing together. To ensure that our project runs smoothly and stays welcoming to all contributors, please follow these guidelines.


📜 Table of Contents

  1. 💬 Code of Conduct
  2. ⚡ How to Contribute
  3. 🔧 Best Practices
  4. 📚 Using Issues Effectively
  5. 🔀 Pull Requests Process
  6. 🌍 Community Engagement
  7. 📄 Licensing

💬 Code of Conduct

We believe in fostering a welcoming and inclusive environment for all contributors. Please read and follow our Code of Conduct. Any form of discrimination, harassment, or unprofessional behavior will not be tolerated. Let's keep the community positive and collaborative!


⚡ How to Contribute

There are several ways you can contribute to our project. Here's how you can get started:

🐛 Bug Reports

If you find a bug or unexpected behavior in the project, we want to know about it! Follow these steps:

  1. Search to see if the issue has already been reported. We love preventing duplicate issues!
  2. Open a new issue with the following details:
    • Clear description of the problem
    • Steps to reproduce
    • Expected behavior
    • Screenshots, if applicable
    • Your environment (OS, version, dependencies)

✨ Feature Requests

Got an awesome idea for a feature? We want to hear it! Here’s how to suggest a feature:

  1. Search to see if it’s already requested.
  2. Create a new issue with:
    • A clear description of the feature
    • The problem it will solve
    • Additional context or design suggestions

📖 Documentation Improvements

Documentation is essential! Help us make it better. If you spot an error or missing information, please do the following:

  1. Open an issue with the problem.
  2. Submit a pull request with the fix.

💡 Creating Issues

When you create an issue, please be as detailed as possible. Use the relevant templates to guide your issue description.

🚀 Creating Pull Requests

To contribute code, follow these steps:

  1. Fork the repository and clone it to your local machine.
  2. Create a new branch from main (or develop, depending on the project).
  3. Make your changes and write clear commit messages.
  4. Push your branch to your forked repo.
  5. Create a pull request to the main repository's main branch.

🔧 Best Practices

Here are some best practices to ensure your contributions are top-notch!

🌿 Branching and Commits

  • Branches: Use meaningful names like feature/add-login or bugfix/fix-crash. This makes it easy to know what the branch is about.
  • Commits: Each commit should represent a single change. Don't bundle unrelated changes together.

🧪 Writing Tests

  • We love tests! Write tests to cover your changes to ensure they work and prevent future bugs.
  • If you're unsure about the test framework or coverage, reach out to a maintainer.

🎨 Code Style

  • Follow existing code style conventions in the project.
  • Indentation: 4 spaces.
  • Use camelCase (JavaScript) or snake_case (Python) for variable names.
  • Always use meaningful names for variables, functions, and classes.

✏️ Commit Message Guidelines

Commit messages should follow this format:

  • fix: Bug fixes
  • feat: New features
  • docs: Documentation updates
  • style: Code style changes (e.g., formatting)
  • test: Adding or modifying tests

Each commit message should be short, ideally under 50 characters, followed by a detailed description if necessary.


📚 Using Issues Effectively

  1. Always search before opening a new issue to avoid duplicates.
  2. Labeling: Use labels to categorize issues properly (e.g., bug, enhancement, question).
  3. Assigning: Assign an issue to yourself or someone else if you're working on it.

🔀 Pull Requests Process

Once you’ve made changes and created a pull request, the following process will apply:

👀 Reviewing Pull Requests

  • All pull requests will be reviewed by maintainers.
  • We expect respectful, clear feedback. If changes are requested, be sure to update your PR and resubmit.

⚔️ Handling Merge Conflicts

If your pull request has merge conflicts:

  1. Pull the latest changes from main.
  2. Resolve conflicts.
  3. Re-run tests and push the updates.

🌍 Community Engagement

We love seeing new faces! You can contribute in more ways than just coding:

  • Participate in discussions.
  • Help answer questions or provide feedback to others.
  • Respect everyone, regardless of their experience level.

📄 Licensing

By contributing to this project, you agree to license your contributions under the project’s open-source license.


Thank you for contributing and making our project great! 😊 We’re excited to have you join our community! 🙌