Skip to main content

push-flow

Professional code review and Git commit workflow management. Use this skill when users mention 'push', 'commit', '提交', or any Git submission operations. Provides comprehensive pre-commit checks, code quality review, build verification, and Git workflow guidance following industry best practices.

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

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

المستودع
knownasnaffy/prompthound
آخر نشاط في المصدر
٦ يوليو ٢٠٢٦ في ٠٧:٠٣
لغة SKILL.md المكتشفة
لغات متعددة
النجوم
٠
التفرعات
١

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

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

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

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

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

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
push-flow
description
Professional code review and Git commit workflow management. Use this skill when users mention 'push', 'commit', '提交', or any Git submission operations. Provides comprehensive pre-commit checks, code quality review, build verification, and Git workflow guidance following industry best practices.
# Push Flow ## Overview This skill provides professional code review and Git commit workflow management. It ensures code quality through systematic pre-commit checks, build verification, and adherence to Git best practices before any code submission. ## Critical Rules **NEVER automatically commit or push code without explicit user approval.** All Git operations require user confirmation at each step. **ALWAYS use Chinese for commit messages.** All commit messages must be written in Chinese, following the conventional commits format with Chinese descriptions. ## Workflow Decision Tree When user mentions push/commit/提交: 1. **Check for uncommitted changes** → If exists, proceed to step 2 2. **Offer code review** → Ask user if they want code review 3. **If code review requested** → Perform comprehensive review 4. **Generate commit message** → Present to user for approval 5. **Execute git commit** → Only after user approves message 6. **Run build verification** → Execute `go build` to ensure compilation 7. **Execute git pull** → Sync with remote before push 8. **If pull brings new changes** → Run `go build` again 9. **Execute git push** → Only after all checks pass ## Pre-Commit Workflow ### Step 1: Auto-Commit Existing Changes Before making any code modifications, automatically commit existing uncommitted changes: ```bash # Check for uncommitted changes git status # If changes exist, commit them git add . git commit -m "chore: 保存当前工作进度" ``` **Note:** This is a local commit only (no push). It preserves work-in-progress state. ### Step 2: Offer Code Review Ask user explicitly: > "检测到有代码变更,是否需要进行 Code Review?" If user agrees, proceed to comprehensive code review. ### Step 3: Code Review Process Perform systematic review covering: **Code Quality:** - Logic correctness and edge cases - Error handling completeness - Code readability and maintainability - Performance considerations **Go-Specific Standards:** - Adherence to Go coding conventions - Proper error handling patterns - Goroutine and concurrency safety - Resource management (defer usage) **Project Standards:** - Compliance with project coding guidelines - Naming conventions - Comment completeness - Test coverage **Security:** - Input validation - SQL injection prevention - Sensitive data handling Provide actionable feedback with specific line references and improvement suggestions. ### Step 4: Generate Commit Message Create concise, descriptive commit message in Chinese following conventional commits format: ``` <type>: <description> [optional body] ``` **Types:** - `feat`: 新功能 - `fix`: 修复bug - `refactor`: 重构 - `docs`: 文档更新 - `style`: 代码格式调整 - `test`: 测试相关 - `chore`: 构建/工具相关 **Example:** ``` feat: 添加用户认证中间件 - 实现JWT token验证 - 添加权限检查逻辑 - 完善错误处理 ``` **Present to user for approval:** > "建议的 commit message: > > [commit message] > > 是否同意使用此 commit message?" ### Step 5: Execute Commit Only after user approval: ```bash git add . git commit -m "[approved commit message]" ``` ### Step 6: Build Verification Before any push operation, verify build succeeds: ```bash go build ``` If build fails: - Report errors to user - Do NOT proceed with push - Offer to help fix build issues ### Step 7: Pull Before Push Always pull latest changes before pushing: ```bash git pull ``` **If pull brings new changes:** - Run `go build` again to verify compatibility - If build fails, resolve conflicts before pushing ### Step 8: Execute Push Only after all checks pass: ```bash git push ``` ## File Size and Type Restrictions **Before committing, verify:** 1. **No binary files** (unless explicitly required) 2. **No files > 1MB** 3. **No sensitive data** (credentials, keys, tokens) If violations detected, warn user and request confirmation or exclusion. ## Git Configuration Preferences **Remote URL format:** Always use SSH format (`git@github.com:user/repo.git`) instead of HTTPS. If HTTPS remote detected, suggest converting to SSH: ```bash git remote set-url origin git@github.com:user/repo.git ``` ## Go Build Requirements **For Go projects:** - Always run `go build` before commit - Always run `go build` after pull if new changes merged - Ensure compilation succeeds before any push operation ## Summary Checklist Before push, ensure: - [ ] Existing changes auto-committed (if any) - [ ] Code review completed (if requested) - [ ] Commit message approved by user - [ ] `go build` succeeds - [ ] `git pull` executed - [ ] `go build` succeeds again (if pull brought changes) - [ ] No binary files or files > 1MB - [ ] User explicitly approved push operation ## Example Interaction **User:** "帮我提交代码" **Assistant:** 1. "检测到有未提交的代码变更,是否需要进行 Code Review?" 2. [If yes] Perform code review and provide feedback 3. "建议的 commit message:`feat: 添加用户登录功能`,是否同意?" 4. [After approval] Execute `git commit` 5. Execute `go build` to verify 6. Execute `git pull` 7. [If pull brought changes] Execute `go build` again 8. "所有检查通过,是否执行 git push?" 9. [After approval] Execute `git push` ## 其他 1. 密码检测规则 🔒 在 Critical Rules 部分新增: 禁止提交包含密码的文件 提交前自动扫描敏感信息,包括: 明文密码 API keys、tokens、secrets 数据库凭证 私钥 任何敏感认证信息 如果检测到敏感数据,立即停止提交并警告用户 检测模式包括: password =, PASSWORD =, pwd = api_key =, secret =, token = private_key, 密码, 口令 数据库连接字符串中的凭证 JWT secrets、加密密钥 2. 多功能分离提交规则 📦 在 Critical Rules 部分新增: 当变更包含多个不同功能时,必须分别提交 自动分析和分组文件: 按文件路径和模块结构分组 按相关功能分组(认证、API、数据库、UI等) 按逻辑功能边界分组 为每个功能组生成独立的 commit message 按顺序依次提交,而不是一次性提交所有文件 示例: 如果变更包含"用户认证"和"数据导出"两个功能,会创建两个独立的 commit: feat: 添加用户认证功能 (认证相关文件) feat: 实现数据导出功能 (导出相关文件)
عرض على GitHub