langfuse/git-workflow
| Langfuse repo Git, GitHub, commit, branch, pull request, issue search, release, and production-promotion workflow. Use when staging, committing, pushing, opening PRs, searching GitHub issues, or changing release/promotion behavior.
npx skills add https://github.com/langfuse/langfuse --skill git-workflow
Use this skill for repo-specific Git, GitHub, pull request, and release
operations.
git status before staging or committing.git reset --hard orgit 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.commands.
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 LangfuseCloud. 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 mainto 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.ymlgates 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.
impacted package guides.
Take langfuse/git-workflow from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.