-
Notifications
You must be signed in to change notification settings - Fork 44
Enhance contribution workflow and guidelines #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+105
−60
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -2,128 +2,173 @@ | |||||
|
|
||||||
| # Contributing to LocalMind | ||||||
|
|
||||||
| Thank you for your interest in contributing to **LocalMind**! | ||||||
| We welcome all contributions — bug fixes, new features, documentation improvements, or even small cleanups. | ||||||
| Thank you for your interest in contributing to **LocalMind** 🎉 | ||||||
| We truly appreciate your time and effort. Contributions of all kinds are welcome — whether it’s fixing bugs, adding features, improving documentation, enhancing UI/UX, or refactoring code. | ||||||
|
|
||||||
| Please follow the guidelines below to help us keep the project organized, consistent, and easy for everyone to work with. | ||||||
| This guide outlines the best practices to help you contribute smoothly and effectively. | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## 🛠️ How to Contribute | ||||||
| ## 🌟 Why Contribute? | ||||||
|
|
||||||
| By contributing to LocalMind, you help: | ||||||
| - Improve the project’s stability and features | ||||||
| - Make the codebase more beginner-friendly | ||||||
| - Support an open and collaborative developer community | ||||||
| - Gain real-world open-source experience | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## 🛠️ Contribution Workflow | ||||||
|
|
||||||
| ### 1. Fork the Repository | ||||||
|
|
||||||
| Click the **Fork** button on GitHub to create your own copy of this repository. | ||||||
| Create your own copy of the LocalMind repository by clicking the **Fork** button on GitHub. | ||||||
| All changes should be made in your fork, not directly in the main repository. | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ### 2. Clone Your Fork | ||||||
|
|
||||||
| Clone the forked repository to your local system and navigate into the project directory. | ||||||
|
|
||||||
| ```bash | ||||||
| git clone https://github.com/<your-username>/LocalMind.git | ||||||
| cd LocalMind | ||||||
| ``` | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ### 3. Create a New Branch | ||||||
|
|
||||||
| Create a branch that describes your change: | ||||||
| Always create a new branch for your work. | ||||||
| Choose a branch name that clearly describes the change you’re making. | ||||||
|
|
||||||
| **Recommended branch naming conventions:** | ||||||
| - `feature/add-search-bar` | ||||||
| - `fix/api-error` | ||||||
| - `docs/update-contributing` | ||||||
| - `refactor/navbar-component` | ||||||
|
|
||||||
| git checkout -b feature-name | ||||||
|
|
||||||
| This helps maintain clarity and clean version control. | ||||||
|
|
||||||
| Examples: | ||||||
| ```bash | ||||||
| git checkout -b feature-name | ||||||
| ``` | ||||||
|
|
||||||
| * `add-license` | ||||||
| * `fix-path-error` | ||||||
| * `improve-readme` | ||||||
| * `add-ui-component` | ||||||
| --- | ||||||
|
|
||||||
| ### 4. Make Your Changes | ||||||
|
|
||||||
| * Add or update necessary files. | ||||||
| * Keep code style clean and consistent. | ||||||
| * If adding a feature, include relevant documentation. | ||||||
| While working on your changes: | ||||||
| - Follow the existing project structure and conventions | ||||||
| - Keep code readable and well-organized | ||||||
| - Add comments where logic may be unclear | ||||||
| - Update or add documentation if your change introduces new behavior | ||||||
| - Test your changes before committing | ||||||
|
|
||||||
| ### 5. Commit Your Changes | ||||||
|
|
||||||
| Use meaningful commit messages: | ||||||
| --- | ||||||
|
|
||||||
| ### 5. Commit Your Changes | ||||||
|
|
||||||
| git add . | ||||||
| git commit -m "Short description of the change" | ||||||
| Write clear, concise, and meaningful commit messages. | ||||||
|
|
||||||
| **Commit message best practices:** | ||||||
| - Use the imperative mood (e.g., “Add”, “Fix”, “Improve”) | ||||||
| - Keep the first line short and descriptive | ||||||
| - Avoid vague messages like “update” or “changes” | ||||||
|
|
||||||
| **Good examples:** | ||||||
| **Examples of good commit messages:** | ||||||
| - `Add dark mode toggle to navbar` | ||||||
| - `Fix broken route in frontend` | ||||||
| - `Improve error handling for login API` | ||||||
| - `Update README with setup instructions` | ||||||
|
|
||||||
| * `Add MIT license` | ||||||
| * `Fix missing environment variable issue` | ||||||
| * `Improve error handling in backend API` | ||||||
| --- | ||||||
|
|
||||||
| ### 6. Push to Your Fork | ||||||
|
|
||||||
| Push your branch to your forked repository on GitHub. | ||||||
|
|
||||||
| ```bash | ||||||
| git push origin feature-name | ||||||
| ``` | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ### 7. Open a Pull Request (PR) | ||||||
|
|
||||||
| * Go to your fork on GitHub. | ||||||
| * Click **Compare & pull request**. | ||||||
| * Choose base: `main` (original repo) | ||||||
| compare: `feature-name` (your branch) | ||||||
| * Add a clear description of the changes. | ||||||
| Once your changes are pushed: | ||||||
| - Navigate to your fork on GitHub | ||||||
| - Click **Compare & pull request** | ||||||
| - Set the base branch to `main` (original repository) | ||||||
| - Set the compare branch to your feature branch | ||||||
|
|
||||||
| --- | ||||||
| In the PR description: | ||||||
| - Clearly explain **what** you changed | ||||||
| - Explain **why** the change is necessary | ||||||
| - Reference any related issues (if applicable) | ||||||
| - Add screenshots or screen recordings for UI changes | ||||||
|
|
||||||
| ## 🧪 Coding Guidelines | ||||||
| --- | ||||||
|
|
||||||
| * Follow consistent formatting and naming. | ||||||
| * Write clear comments where needed. | ||||||
| * Avoid committing temporary or system-generated files. | ||||||
| * If your change affects functionality, explain the reason in the PR. | ||||||
| ## 🧪 Coding Standards & Best Practices | ||||||
|
|
||||||
| --- | ||||||
| Please ensure that your contribution: | ||||||
| - Uses consistent formatting and naming conventions | ||||||
| - Avoids committing generated, build, or system files | ||||||
| - Does not introduce unnecessary dependencies | ||||||
| - Keeps functions and components modular and reusable | ||||||
|
|
||||||
| ## 📄 Adding License or Documentation Changes | ||||||
| If your change affects core functionality, explain the impact clearly in the PR. | ||||||
|
|
||||||
| If you are contributing files such as: | ||||||
| --- | ||||||
|
|
||||||
| * `LICENSE` | ||||||
| * `README.md` | ||||||
| * `CONTRIBUTING.md` | ||||||
| * `CODE_OF_CONDUCT.md` | ||||||
| ## 📄 Documentation & Configuration Contributions | ||||||
|
|
||||||
| Make sure: | ||||||
| If your contribution involves files such as: | ||||||
| - `README.md` | ||||||
| - `LICENSE` | ||||||
| - `CONTRIBUTING.md` | ||||||
| - `CODE_OF_CONDUCT.md` | ||||||
| - Configuration or workflow files | ||||||
|
|
||||||
| * File names follow standard naming. | ||||||
| * Text is clearly formatted in Markdown. | ||||||
| * The PR explains why the document is being added or updated. | ||||||
| Please ensure: | ||||||
| - Markdown formatting is clean and readable | ||||||
| - File names follow standard conventions | ||||||
| - Content is accurate, concise, and helpful | ||||||
| - The PR clearly explains the purpose of the update | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## 🧵 Keeping Your Fork Updated | ||||||
|
|
||||||
| Before starting new work, sync your fork: | ||||||
| ## 🔄 Keeping Your Fork Up to Date | ||||||
|
|
||||||
| To avoid conflicts, regularly sync your fork with the upstream repository before starting new work. | ||||||
|
|
||||||
| ```bash | ||||||
| git remote add upstream https://github.com/original-owner/LocalMind.git | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To make the guide more user-friendly and reduce potential for errors, it's best to replace the placeholder
Suggested change
|
||||||
| git fetch upstream | ||||||
| git checkout main | ||||||
| git merge upstream/main | ||||||
| git push origin main | ||||||
|
|
||||||
| ``` | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## ❓ Need Help? | ||||||
| ## 🤝 Community & Support | ||||||
|
|
||||||
| If you have questions or want guidance: | ||||||
| If you need help or have questions: | ||||||
| - Open a **GitHub Issue** | ||||||
| - Start a **Discussion** in the repository | ||||||
| - Ask for clarification in an existing issue or PR | ||||||
|
|
||||||
| * Open an **Issue** on GitHub | ||||||
| * Or start a discussion in the repository | ||||||
|
|
||||||
| We are happy to help! | ||||||
| We encourage respectful communication and collaboration. | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| Thank you again for contributing to **LocalMind** ❤️ | ||||||
| Your efforts help make this project better for everyone! | ||||||
| ## 💖 Thank You! | ||||||
|
|
||||||
| --- | ||||||
| Every contribution — big or small — makes a difference. | ||||||
| Thank you for helping improve **LocalMind** and being part of our open-source journey! | ||||||
|
|
||||||
| Happy coding 🚀 | ||||||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section on commit messages can be improved for clarity and consistency with project standards.
git addandgit commitcommands.README.md(lines 1624-1633) specifies using Conventional Commits. The examples here should follow that format (e.g.,feat: ...,fix: ...). This will ensure consistency.Here's a suggested update that incorporates these points.
Commit message best practices:
<type>: <description>.feat,fix,docs,style,refactor,test,chore.Examples of good commit messages:
feat: Add dark mode toggle to navbarfix: Correct broken route in frontenddocs: Update setup instructions in READMErefactor: Improve error handling for login API