Provides Git monorepo workflow standards covering branching strategy, semantic version release tagging, commit message formats, pull request guidelines, and merge conflict resolution. Use when the user asks about branching, versioning, commit conventions, PR reviews, or resolving merge conflicts in a monorepo.
59
67%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/git-workflow-monorepo/SKILL.mdmain)main branch serves as the primary branch, representing the stable, production-ready version of the project.main.main should be restricted, and changes should be integrated via pull requests from develop.main branch while the develop branch holds updates for the next minor or major release, a hotfix branch can be created from main (e.g., main-PROJ-<ticket-number>). Once complete and merged into main, merge main back into develop to keep branches in sync (feature branches off develop may need to resolve resulting merge conflicts).develop)develop branch serves as the integration branch, where feature branches are merged for testing and stabilization before being promoted to main.develop.
main (see Main Branch section above).develop-next branch.develop to ensure the integrity of the codebase.develop branch and adhere to the following naming convention: develop-PROJ-<ticket-number>. For instance, a feature branch could be named develop-PROJ-123.develop.develop-PROJ-<ticket-number> (e.g., develop-PROJ-123). They are distinguished by the ticket type in the issue tracker, not the branch name prefix.
main (see Main Branch section above).develop branch.
main (see Main Branch section above).MAJOR.MINOR.PATCH).MAJOR version for incompatible API changes.MINOR version for backward-compatible feature additions.PATCH version for backward-compatible bug fixes.develop, a release candidate should be tagged for testing.v1.0.0-rc.1).v1.0.0).:).PROJ-123:PROJ-123: Implemented user authentication featurePROJ-456: Fixed formatting issues in the README fileSingle version system: Use one version for the entire monorepo rather than per-package versioning. This eliminates the need to track inter-service dependencies and simplifies release management across microservices, micro frontends, and infrastructure.
Tracking branch versions: When no release candidate tag exists, use these practices to identify which version a branch targets:
Avoiding Merge Conflicts:
Understanding and Resolving Merge Conflicts:
git status command to see a list of files with merge conflicts.<<<<<<< HEAD (local), =======, and >>>>>>> branch_name (theirs)).git add and commit the changes.Pull Requests and Reviews:
develop as develop-next.
develop into main when the current release is ready — do not wait for develop-next.develop-next into develop when that work is ready for release.main release history needs preserving before the develop-next changes land, snapshot main to a named tag (e.g., v1.x-final) before merging.develop-next branch to align on versioning and merge strategy.c0b2e4b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.