name: git-workflow description: Use when the task involves Git operations for the public xLLM repository, including choosing branch or tag names, preparing commits and pull requests, backporting fixes, checking repo-specific review expectations, or drafting commit messages from actual diffs.
Git Workflow
Use xLLM repo reality, not generic Git habits.
Reference Map
Load only the file that matches the user's immediate Git task.
| File | What it is for | When to load it |
|---|---|---|
references/source-of-truth.md |
Repo-specific source priority and canonical files to consult | Load first when repo docs, local state, and user wording may disagree |
references/branch-naming.md |
Branch naming patterns and default branch conventions | Load when the user asks how to name a branch or which branch to branch from |
references/development-flow.md |
Day-to-day fork, sync, branch, validate, and push flow | Load when the user asks for normal development steps from local change to push |
references/pr-review.md |
PR targeting, PR scope, and review expectations | Load when the task is about opening a PR, choosing the target branch, or deciding who should review |
references/release-layout.md |
Release branch and tag shapes used by xLLM | Load when the task mentions release branches, release tags, or patch version naming |
references/backport-flow.md |
Preferred backport and hotfix flow for released lines | Load when the task mentions cherry-picks, hotfixes, or fixing an already released branch |
references/commit-format.md |
Commit title/body conventions and xLLM-style examples | Load when the user asks for a commit message, commit style guidance, or message cleanup |
Workflow
- Decide which subtask the user actually needs.
- Read
references/source-of-truth.mdwhen you need repo-specific confirmation. - Then load only the most relevant task file from the table above.
- For commit message drafting, run
bash scripts/collect_git_context.sh [--staged|--all|--unstaged]before writing the final message. - Draft commit messages from the actual diff, not from filenames alone.
- If one diff mixes unrelated concerns, recommend splitting the commit instead of forcing one vague summary.
- Default PR targets to
mainunless the task is clearly a release or backport flow. - For released lines, prefer landing on
mainfirst and then backporting unless the user explicitly wants a direct hotfix flow.
Output
Return the smallest useful answer for the user's Git task:
- workflow questions: concrete branch, tag, PR, or backport steps
- commit message requests:
<type>: <subject>plus an optional short bullet body - repo-convention questions: current xLLM-specific guidance, not generic Git advice
Quick Checks
- branch names match xLLM style such as
feat/<topic>,bugfix/<topic>, orrelease/vX.Y.Z - PR target is
mainunless this is a release or backport task - commit title matches the dominant change in the diff
- release tags use semantic versions such as
v0.9.0orv0.9.1 - owner-review expectations come from
.github/CODEOWNERSwhen relevant