Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
165 changes: 105 additions & 60 deletions Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`

Comment on lines +72 to 86
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This section on commit messages can be improved for clarity and consistency with project standards.

  1. Include Commands: For a beginner-friendly guide, it's helpful to include the git add and git commit commands.
  2. Conventional Commits: The project's 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.

Suggested change
### 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`
### 5. Commit Your Changes
Write clear, concise, and meaningful commit messages following the [Conventional Commits](https://www.conventionalcommits.org/) specification.
```bash
git add .
git commit -m "feat: Add dark mode toggle to navbar"

Commit message best practices:

  • Use the imperative mood (e.g., “Add”, “Fix”, “Improve”) but as part of the description after the type.
  • The format should be <type>: <description>.
  • Common types include feat, fix, docs, style, refactor, test, chore.

Examples of good commit messages:

  • feat: Add dark mode toggle to navbar
  • fix: Correct broken route in frontend
  • docs: Update setup instructions in README
  • refactor: Improve error handling for login API

* `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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To make the guide more user-friendly and reduce potential for errors, it's best to replace the placeholder original-owner with the actual repository owner, NexGenStudioDev. This allows contributors to copy and paste the command directly.

Suggested change
git remote add upstream https://github.com/original-owner/LocalMind.git
git remote add upstream https://github.com/NexGenStudioDev/LocalMind.git

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 🚀