This document describes the minimal rules and workflow for contributing to GitMesh Community Edition.
All commits must be signed off using the Developer Certificate of Origin (DCO).
Create a signed commit:
git commit -s -m "your commit message"Fix a missing sign-off on the last commit:
git commit --amend -sSign multiple commits:
git rebase --signoff main
# or
git rebase --signoff HEAD~NPull requests without valid sign-off will be rejected.
- Node.js 20+
- pnpm 9+ (or Corepack-enabled Node)
- Docker + Docker Compose (optional, for quickstart image or local Postgres)
- Git
git clone <your-fork-url>
cd gitmesh
pnpm install --no-frozen-lockfile
pnpm build
pnpm devDefault local URL:
http://localhost:3100Database mode notes:
- Leave
DATABASE_URLunset to use embedded PostgreSQL at~/.gitmesh-agents/instances/default/db/ - Use
pnpm db:uponly if you want Docker Postgres (localhost:5433)
docker compose -f docker-compose.quickstart.yml up --buildIf your build fails with TS5023 filter-option errors, pull latest and rebuild:
docker compose -f docker-compose.quickstart.yml build --no-cache
docker compose -f docker-compose.quickstart.yml upIf you use agent-based or IDE-assisted “vibe coding”, GitMesh provides helper scripts that create local symlinks.
Enable:
./gitmesh/setup-vibe.shDisable / clean up:
./gitmesh/remove-vibe.shThese scripts modify your local workspace only. Do not commit generated symlinks or agent artifacts. Always review generated code carefully before committing.
-
Fork the repository
-
Create a branch:
git checkout -b type/short-description
-
Make changes and commit with sign-off:
git commit -s -m "clear commit message" -
Push to your fork:
git push origin type/short-description
-
Open a pull request to the upstream repository
- Keep PRs small and focused
- Explain what changed and why
- Include testing or reproduction steps when relevant
- Avoid committing local configs, symlinks, or temp files
- Before requesting review, run:
pnpm check:tokenspnpm -r typecheckpnpm test:runpnpm build
git stash
git pull origin main
git stash pop- GitHub Issues: bugs, features, technical discussion
- Discord: real-time help and coordination
By contributing, you agree that your work is licensed under the project’s Apache 2.0 license and complies with the DCO.