.agents/skills/git-workflow/SKILL.md
Use this skill for repo-specific Git, GitHub, pull request, and release operations.
git status before staging or committing.git reset --hard or
git checkout -- unless explicitly requested.type(scope): description or type: description.feat for new features and fix for bug fixes.fix(api): handle missing trace id.! in the type/scope or a BREAKING CHANGE:
footer..github/workflows/validate-pr-title.yml.gh search issues for GitHub issue search.pnpm run release, run on the branch being released.
Allowed release branches are main and v3
(scripts/release-preflight.sh owns the allowlist).main is the current line and the only branch that ships to Langfuse
Cloud. v3 is the OSS maintenance line: a release from it produces a tag,
GitHub release, and Docker images, but never a Cloud deploy.vX.Y.Z tag push, .github/workflows/release.yml promotes main
to production only if the tagged commit is an ancestor of main;
maintenance-branch tags skip promotion. The production migration
confirmation in the release preflight likewise only runs for main.main to production without a release via
.github/workflows/promote-main-to-production.yml or
pnpm run release:cloud (both main-only).pipeline.yml
gates the Docker latest tag on refs/tags/v4, and maintenance branches
disable that gate and set release-it.github.makeLatest: false in their
root package.json so their releases never claim the Docker latest tag
or the GitHub "Latest release" badge. At the next major GA (v5), repeat
the flip: move the gate to refs/tags/v5 on main, then disable it and
set makeLatest: false on the new v4 maintenance branch.