Skip to main content

git-preflight

Pre-commit and pre-edit git checklist — staged diff code-review, macOS case renames, remote branch sync verification. Run before committing or starting work on a feature branch.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
SpecterOps/skills
آخر نشاط في المصدر
١٤ أغسطس ٢٠٢٦ في ٠١:١٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٥٧
التفرعات
٧٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
4 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
git-preflight
description
Pre-commit and pre-edit git checklist — staged diff code-review, macOS case renames, remote branch sync verification. Run before committing or starting work on a feature branch.
metadata
{"author":"GhostWorks"}
# Git Preflight Checklist Run before committing (`commit`) or before editing a feature branch (`branch`). Default (`all`) runs both. ## `branch` — Before Editing a Feature Branch Verify the local branch is in sync with remote before making any changes: ```bash git fetch origin git log --oneline HEAD..origin/$(git branch --show-current) ``` If output is non-empty, the remote is ahead — pull before editing: ```bash git pull --ff-only ``` If the branch has diverged, report to user and stop. Do not start editing on a stale branch. ## `commit` — Before Committing ### 1. Review staged diff ```bash git diff --staged ``` Check for: - **Unintended lines** — edits from before the current session that got staged with `git add` - **Debug output** — leftover print/log statements - **Secrets** — any tokens, passwords, or API keys accidentally staged If unintended changes are staged, unstage the file and re-add only the intended hunks: ```bash git restore --staged <file> git add -p <file> ``` ### 2. Check for case-rename traps (macOS) If any staged files look like case-only renames (e.g., `foo.md` → `FOO.md`), verify git actually tracked it: ```bash git status ``` On macOS (case-insensitive FS), `git mv foo.md FOO.md` is a no-op. The correct approach: ```bash git mv foo.md tmp.md && git mv tmp.md FOO.md ``` ### 3. Verify branch ```bash git branch --show-current ``` Confirm you're on the intended feature branch, not `main` or `master`. If on main/master, create a feature branch before committing unless this is intentional. ## Output Report pass/fail for each check: ``` Git Preflight — commit ✓ Staged diff reviewed — N files, no unintended changes ✓ No case-rename issues detected ✓ On branch feat/my-feature (not main) Ready to commit. ``` Or with issues: ``` Git Preflight — commit ✗ Staged diff contains lines from before current session in src/main.py → Run: git restore --staged src/main.py && git add -p src/main.py ✓ No case-rename issues detected ✓ On branch feat/my-feature Fix staged diff before committing. ```
عرض على GitHub