بنقرة واحدة
git-commit
Smart Git commit message generation
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Smart Git commit message generation
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
AI Agent code quality check - Use Ruff to check code standards for LangChain, AutoGen, and other AI Agent projects
Database migration management - Use Flyway and Atlas for version-controlled database schema migrations
Dockerfile best practices check - Use hadolint to validate Dockerfile security, performance, and compliance
Format JavaScript/TypeScript code with Prettier
Format Python code with Black
Auto-generate project changelog
استنادا إلى تصنيف SOC المهني
| name | git-commit |
| description | Smart Git commit message generation |
Automatically generate standardized Git commit messages based on code changes, following Conventional Commits:
| Tool | Purpose | Check Command | Installation |
|---|---|---|---|
| Git | Version control | git --version | git-scm.com |
Optional tools:
- commitizen: Interactive commits (
npm install -g commitizen)- commitlint: Commit message validation (
npm install --save-dev @commitlint/cli)
"Generate Git commit message"
"Analyze my code changes and create a commit"
"Generate commit message based on staged changes"
AI will:
git status and git diff --stagedgit commit -m ... command# Install
npm install -g commitizen
cz-cli init cz-conventional-changelog --save-dev --save-exact
# Usage
git add .
git cz # or cz
git commit -m "feat(auth): add OAuth2 login support"
git commit -m "fix(api): resolve null pointer in user profile endpoint"
git commit -m "docs(readme): update installation instructions"
Following Conventional Commits standard:
<type>(<scope>): <subject>
<body>
<footer>
| type | Description | Example |
|---|---|---|
| feat | New feature | feat(auth): add Google SSO |
| fix | Bug fix | fix(api): handle timeout errors |
| docs | Documentation update | docs(api): update endpoint descriptions |
| style | Code formatting (no logic change) | style: format code with Black |
| refactor | Refactoring (not feat or fix) | refactor(db): simplify query logic |
| perf | Performance optimization | perf(api): cache frequently accessed data |
| test | Test related | test(auth): add unit tests for login |
| build | Build system or dependencies | build: upgrade webpack to v5 |
| ci | CI config files and scripts | ci: add GitHub Actions workflow |
| chore | Other changes not modifying src/test | chore: update .gitignore |
| revert | Revert previous commit | revert: revert commit abc1234 |
Specify the module or component being changed:
auth - Authentication moduleapi - API relatedui - User interfacedb - Databaseconfig - Configurationdeps - DependenciesBREAKING CHANGE: <description>Closes #123, #456Refs #789git commit -m "feat: add dark mode toggle"
git commit -m "fix: resolve login redirect issue"
git commit -m "docs: update API documentation"
git commit -m "feat(auth): implement two-factor authentication"
git commit -m "fix(ui): correct button alignment on mobile"
git commit -m "refactor(api): extract common validation logic"
git commit -m "feat(payment): integrate Stripe payment gateway
- Add Stripe SDK dependency
- Implement payment processing workflow
- Add webhook for payment status updates
- Include error handling for failed transactions
Closes #234"
git commit -m "feat(api)!: change authentication endpoint structure
BREAKING CHANGE: The /auth/login endpoint now requires email instead of username.
Migration guide: Update all API clients to send 'email' field instead of 'username'.
Refs #456"
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
[
"feat", "fix", "docs", "style", "refactor",
"perf", "test", "build", "ci", "chore", "revert"
]
],
"type-case": [2, "always", "lower-case"],
"subject-case": [2, "never", ["upper-case"]],
"subject-empty": [2, "never"],
"subject-full-stop": [2, "never", "."],
"header-max-length": [2, "always", 100]
}
}
{
"path": "cz-conventional-changelog",
"types": {
"feat": {
"description": "A new feature",
"title": "Features"
},
"fix": {
"description": "A bug fix",
"title": "Bug Fixes"
}
},
"scopes": ["auth", "api", "ui", "db", "config"]
}
{
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}
# .git/hooks/commit-msg
#!/bin/sh
npx --no-install commitlint --edit $1
name: Lint Commits
on: [pull_request]
jobs:
commitlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v5
Q: How to modify the last commit message?
A: git commit --amend -m "new commit message"
Q: How to generate commit messages for multiple changes?
A:
git add file1 → git commit → git add file2 → git commitgit add -pQ: When is Breaking Change needed?
A: When changes cause existing functionality to be incompatible (API changes, config format changes, etc.)
Q: Is Scope required?
A: Not required, but strongly recommended for quick understanding of change scope
Q: How to enforce team compliance?
A: