GitMesh is an open-source project under the Linux Foundation Decentralized Trust umbrella. It revolutionizes Git-based collaboration through Branch-Level Intelligence, providing contextual AI assistance and intelligent workflow orchestration. This comprehensive guide outlines how the GitMesh community can contribute to the project's development and growth.
GitMesh aims to transform how developers collaborate by integrating AI-powered insights directly into Git workflows, making version control more intelligent and developer-friendly. Whether you're fixing bugs, adding features, improving documentation, or enhancing the user experience, your contributions are valuable to our community.
Join the weekly meetings on Wednesday at 1 pm UTC time zone.
These meetings are essential for:
- Understanding project roadmap and priorities
- Discussing implementation approaches
- Getting guidance on complex contributions
- Coordinating with other contributors
- Staying updated on project developments
As a Linux Foundation Decentralized Trust project, GitMesh adheres to strict community standards:
Please review and understand these policies before contributing.
Important: Please select a task from the published issues. Contributions not addressing existing issues will not be considered. For improvement proposals, kindly attend the Wednesday meetings.
Below is the GitMesh project workflow:
Workflow Schema:
1. Fork Repository → 2. Clone Locally → 3. Create Branch →
4. Make Changes → 5. Commit & Push → 6. Create Pull Request →
7. Code Review → 8. Merge to dev → 9. Clean up
Follow these steps to contribute effectively to the GitMesh project.
Click the Fork button on the top-right of the main repository to create your own copy.
Clone your forked repository to your local system:
git clone https://github.com/<your-username>/gitmesh.git
cd gitmeshLink your local repository with the original repository to stay updated:
git remote add upstream https://github.com/LF-Decentralized-Trust-labs/gitmesh.gitWhy add upstream?
This lets you sync your fork with the latest changes from the main repository instead of reforking every time.
Always pull the latest updates before starting new work:
git fetch upstream
git merge upstream/mainThis ensures your local repository stays current with the main branch.
If you've made changes locally and need to sync with the latest updates:
Step 1: Save Your Local Changes
git stashStep 2: Pull Latest Updates
git fetch upstream
git merge upstream/mainStep 3: Update Dependencies
pnpm installStep 4: Restore Your Local Changes
git stash popNote: If there are conflicts after git stash pop, you'll need to resolve them manually before continuing.
Best Practice: Always sync your fork before creating a new branch to minimize merge conflicts later.
Create a feature or fix branch before making changes:
git checkout -b type/branch-nameImplement your updates, fix issues, or add new features.
Keep changes small and meaningful — this makes reviews easier.
git add .
git commit -s -m "Brief description of the change"The -s flag signs your commit, confirming you agree to the Developer Certificate of Origin (DCO).
git push origin type/branch-nameExample:
git push origin feature/add-ai-supportGo to your fork on GitHub → click Compare & Pull Request.
Make sure:
- The base branch is
mainordev(as required) - Your PR title is clear and concise
- Description explains what and why you changed
Maintainers may request updates. You do not need to create a new PR — just apply the changes to your existing branch and push.
If changes are needed:
# Make updates
git add .
git commit -s -m "Address review feedback"
git push origin <branch-name>If new commits are added to the main repository while your PR is open:
git fetch upstream
git merge upstream/main
git push origin <branch-name>Once your PR is merged:
# Switch to local main branch
git checkout main
# Update your local main with the latest upstream changes
git fetch upstream
git merge upstream/main
# Push updates to your fork
git push origin main
# Optional: Delete the merged feature branch locally to keep your repo clean
git branch -d <branch-name>
Congratulations! Your contribution is now part of GitMesh.
Don't forget to keep your fork synced before starting your next task.