Hey there! 👋 We're stoked you're interested in contributing to projects under the OpenLearn NITJ banner. Whether it's fixing a bug, adding a feature, improving documentation, or sharing an idea, your help is valuable!
This document provides some guidelines to make contributing smooth for everyone.
First things first: all participation in OpenLearn NITJ projects is governed by our Code of Conduct. Please read it to understand the expectations for respectful and inclusive collaboration.
There are many ways to contribute:
- Reporting Bugs: Find something broken? Let us know!
- Suggesting Enhancements: Have an idea to make a project better? Share it!
- Writing Code: Help fix bugs or implement new features.
- Improving Documentation: Clear docs are crucial! Fix typos, clarify steps, add examples.
- Helping Others: Answer questions on Discord or in GitHub Issues.
- Find Something to Work On: Check the
issuestab on individual project repositories. Look for issues taggedgood first issueorhelp wanted. - Ask Questions: Not sure where to start? Hop onto our Discord Server and ask in the relevant project channel or a general help channel!
- Check Existing Issues: Before creating a new bug report, please search the existing issues to see if someone else has already reported it.
- Use the Bug Report Template: When you create a new issue, select the "Bug Report" template if available. Provide as much detail as possible:
- Clear steps to reproduce the bug.
- What you expected to happen vs. what actually happened.
- Your environment (OS, browser, tool versions, etc.).
- Screenshots if applicable.
- Check Existing Issues: Search existing issues first to see if your idea has already been suggested.
- Use the Feature Request Template: If available, use the "Feature Request" template when creating a new issue. Explain:
- The problem your enhancement solves.
- A clear description of the feature you'd like.
- Any alternative solutions you considered.
Ready to contribute code or documentation? Awesome! Here’s the general workflow:
- Fork the Repository: Create your own copy of the project repository on GitHub.
- Create a Branch: Make a new branch in your fork for your changes. Use a descriptive name (e.g.,
fix-login-bug,add-user-profile-feature). Don't work directly on themainbranch.git checkout -b your-branch-name
- Make Your Changes: Write your code or update documentation.
- Test Your Changes: Make sure your changes work as expected and don't break anything else. (Add tests if applicable!)
- Commit Your Changes: Write clear, concise commit messages explaining what you changed and why.
git commit -m "Fix: Correct calculation in user summary" # or for multiple changes git add . git commit -m "Feat: Add user profile editing functionality"
- Push to Your Fork: Push your branch to your fork on GitHub.
git push origin your-branch-name
- Open a Pull Request (PR): Go to the original OpenLearn NITJ repository on GitHub. You should see a prompt to create a Pull Request from your new branch.
- Use the Pull Request template if provided.
- Clearly explain the changes you made.
- Link any relevant issues (e.g., "Closes #123").
- Request reviews from project maintainers if needed.
Some projects might have specific coding style guidelines or use linters/formatters (like Prettier, ESLint, Black). Please try to follow the existing style in the codebase or check for a project-specific CONTRIBUTING.md or style guide file. Consistency makes the code easier to read and maintain!
Thanks for contributing! Your efforts help make OpenLearn NITJ a great place to learn and build together.