Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    heykvnzhao

    git-best-practices

    heykvnzhao/git-best-practices
    DevOps

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    Safe-by-default git workflow and Conventional Commits. Use for git operations (diffs, staging, commits, branches, merges, conflict resolution, rebase/cherry-pick), PR review, and releases (tagging)...

    SKILL.md

    Git Best Practices

    Safety Rules

    • Read-only by default: Prefer git status, git diff, git log, git show, git blame before making changes
    • Push requires explicit request: Never push unless user asks
    • Checkout allowed for: PR review, explicit user request
    • Branch changes require consent: Ask before creating/switching branches
    • History rewriting requires consent: Ask before commit --amend, interactive rebase, or force push (especially if anything may be shared)
    • Destructive ops require explicit user consent:
      • Allow previews like git clean -n (no deletion); do not run git clean -fd without consent
      • Do not discard worktree changes with git reset --hard or git restore . without consent
      • Do not delete branches/tags or force push without consent

    Preferred Commands

    • Prefer modern porcelain: git switch (branches) and git restore (undo) when appropriate
    • git restore --staged <path> is usually safe; discarding worktree changes (e.g., git restore .) requires explicit consent

    Conventional Commits

    Format: <type>[optional scope][optional !]: <description>

    Subject Line

    • Use imperative mood (“add”, “fix”, “remove”)
    • Keep it short and specific; avoid trailing periods

    Types

    Type Use for
    feat New features
    fix Bug fixes
    docs Documentation only
    style Formatting, whitespace (no code change)
    refactor Code change that neither fixes nor adds
    perf Performance improvements
    test Adding or correcting tests
    build Build system or dependencies
    ci CI configuration
    chore Other changes (tooling, config)
    revert Reverting a previous commit

    Scope

    • Use the smallest sensible scope
    • Omit scope if unclear or too broad
    • Examples: feat(auth):, fix(api):, docs(readme):

    Breaking Changes

    Mark with ! before the colon OR add a BREAKING CHANGE: footer:

    feat(api)!: remove deprecated endpoints
    
    BREAKING CHANGE: /v1/users endpoint removed, use /v2/users
    

    Body and Footers

    • Use body only when the subject line needs elaboration
    • Footers follow git-trailer style: Token: value
    • Common footers: BREAKING CHANGE:, Fixes:, Refs:, Co-authored-by:

    Examples

    feat(auth): add OAuth2 login flow
    
    fix: prevent race condition in queue processing
    
    docs: update API authentication examples
    
    refactor(db)!: migrate from MySQL to PostgreSQL
    
    BREAKING CHANGE: database connection config format changed
    

    Pre-Commit Checklist

    • Review git status
    • Review git diff and git diff --staged
    • Run the smallest relevant checks if known (or ask what to run)
    • Scan for secrets (tokens, keys, credentials) and unintended debug logs
    • Prefer small, logical commits; use git add -p when changes are mixed
    • Propose a commit split and draft commit messages before staging/committing

    Workflow

    After reviewing changes, end with:

    1. Short summary of proposed commits
    2. Clear question for next steps (stage/commit/push)

    If anything is ambiguous, ask short, direct questions with options.

    Recommended Servers
    StudioMeyer-Crew
    StudioMeyer-Crew
    GENESIS ProofRelay MCP Verifier
    GENESIS ProofRelay MCP Verifier
    OrgX
    OrgX
    Repository
    heykvnzhao/dotfiles
    Files