• صفحه اصلی
  • درباره من
  • مهارت‌های ایجنت
  • پروژه‌ها
  • بلاگ
  • مشاوره
  • تماس با من
مشاورهرزومه
مهارت‌های ایجنت‌های برنامه‌نویسی/گیت/نوشتن Conventional Commit استاندارد

نوشتن Conventional Commit استاندارد

پیام Commit را براساس Conventional Commits بساز یا بازبینی کن؛ Scope، تغییر ناسازگار، ارجاع Issue و متن مناسب انتشار را دقیق به کار ببر.

GitConventional Commitsتغییرات نسخهانتشار

راهنمای نصب Skill

فایل SKILL.md را دانلود کنید و در مسیر مخصوص ایجنت موردنظرتان قرار دهید. پیشنهاد می‌کنیم پیش از فعال‌سازی، محتوای کامل فایل و سطح دسترسی آن را بررسی کنید.

Codex

~/.codex/skills/conventional-commits/SKILL.md

Claude Code

.claude/skills/conventional-commits/SKILL.md

Cursor

.cursor/skills/conventional-commits/SKILL.md

GitHub Copilot

.github/skills/conventional-commits/SKILL.md
</>مشاهده محتوای خام SKILL.mdفقط دستورالعمل‌هایی را ببینید که ایجنت برنامه‌نویسی دریافت می‌کند؛ بدون عنوان، تگ و متادیتای کاتالوگ.
فایل منبع: conventional-commits/SKILL.md
---
name: "conventional-commits"
description: "پیام Commit را براساس Conventional Commits بساز یا بازبینی کن؛ Scope، تغییر ناسازگار، ارجاع Issue و متن مناسب انتشار را دقیق به کار ببر."
---

# نوشتن Conventional Commit استاندارد

این Skill را برای ساخت پیام Commit از روی Diff، بازبینی یک پیام موجود یا تشخیص نیاز به چند Commit مستقل به کار ببر.

## قالب

```text
<type>[optional scope][!]: <description>

[optional body]

[optional footer(s)]
```

Type را با حروف کوچک، Scope را کوتاه و اختیاری و توضیح را امری، مشخص و بدون نقطه پایانی بنویس.

## Typeهای رایج

- `feat`: افزودن قابلیت یا رفتار قابل مشاهده.
- `fix`: اصلاح نقص.
- `docs`: تغییر صرفاً مستندات.
- `refactor`: تغییر ساختار بدون تغییر رفتار مورد انتظار.
- `test`: افزودن یا اصلاح تست.
- `perf`: بهبود کارایی.
- `build`: تغییر وابستگی یا ابزار Build.
- `ci`: تغییر فرایندهای خودکار.
- `chore`: نگه‌داری خارج از موارد بالا.

اگر مخزن قرارداد دیگری دارد، همان را رعایت کن.

## روند کار

1. Diff واقعی و تست‌های مرتبط را بررسی کن؛ تنها از روی نام فایل پیام نساز.
2. هدف واحد تغییر را از دید کاربر یا توسعه‌دهنده مشخص کن.
3. دقیق‌ترین Type را انتخاب کن و فقط در صورت کمک به مکان‌یابی، Scope اضافه کن.
4. به‌جای عبارت مبهم «update»، تغییر واقعی را نام ببر.
5. برای انگیزه، Trade-off، مهاجرت یا رفتار غیرآشکار Body بنویس.
6. تغییر ناسازگار را با `!` و Footer از نوع `BREAKING CHANGE:` همراه با اثر مهاجرت مشخص کن.
7. در صورت وجود شناسه، Issue را در Footer ارجاع بده.
8. برای تغییرات نامرتبط، به‌جای پیام چتری و مبهم، Commitهای جدا پیشنهاد کن.

## نمونه

```text
feat(auth): refresh expired access tokens
fix(profile): preserve avatar after form validation
docs(api): document pagination parameters
refactor(cart)!: replace numeric item ids with UUIDs
```

در خروجی ابتدا یک پیام پیشنهادی نهایی بده. فقط وقتی Diff واقعاً بیش از یک برداشت معتبر دارد، گزینه جایگزین ارائه کن.

این Skill را برای ساخت پیام Commit از روی Diff، بازبینی یک پیام موجود یا تشخیص نیاز به چند Commit مستقل به کار ببر.

قالب

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

[optional body]

[optional footer(s)]

Type را با حروف کوچک، Scope را کوتاه و اختیاری و توضیح را امری، مشخص و بدون نقطه پایانی بنویس.

Typeهای رایج

  • feat: افزودن قابلیت یا رفتار قابل مشاهده.
  • fix: اصلاح نقص.
  • docs: تغییر صرفاً مستندات.
  • refactor: تغییر ساختار بدون تغییر رفتار مورد انتظار.
  • test: افزودن یا اصلاح تست.
  • perf: بهبود کارایی.
  • build: تغییر وابستگی یا ابزار Build.
  • ci: تغییر فرایندهای خودکار.
  • chore: نگه‌داری خارج از موارد بالا.

اگر مخزن قرارداد دیگری دارد، همان را رعایت کن.

روند کار

  1. Diff واقعی و تست‌های مرتبط را بررسی کن؛ تنها از روی نام فایل پیام نساز.
  2. هدف واحد تغییر را از دید کاربر یا توسعه‌دهنده مشخص کن.
  3. دقیق‌ترین Type را انتخاب کن و فقط در صورت کمک به مکان‌یابی، Scope اضافه کن.
  4. به‌جای عبارت مبهم «update»، تغییر واقعی را نام ببر.
  5. برای انگیزه، Trade-off، مهاجرت یا رفتار غیرآشکار Body بنویس.
  6. تغییر ناسازگار را با ! و Footer از نوع BREAKING CHANGE: همراه با اثر مهاجرت مشخص کن.
  7. در صورت وجود شناسه، Issue را در Footer ارجاع بده.
  8. برای تغییرات نامرتبط، به‌جای پیام چتری و مبهم، Commitهای جدا پیشنهاد کن.

نمونه

feat(auth): refresh expired access tokens
fix(profile): preserve avatar after form validation
docs(api): document pagination parameters
refactor(cart)!: replace numeric item ids with UUIDs

در خروجی ابتدا یک پیام پیشنهادی نهایی بده. فقط وقتی Diff واقعاً بیش از یک برداشت معتبر دارد، گزینه جایگزین ارائه کن.

مشخصات Skill

نسخه
1.0.0
آخرین تغییر
2026-08-08
دسته‌بندی
گیت
سطح پیچیدگی
مقدماتی
مجوز
MIT
نویسنده
Naser Rasouli

سطح دسترسی و اجرا

امکان اجرای اسکریپتندارد
دسترسی شبکهندارد

مقاله منبع

برای توضیح عمیق‌تر مفاهیم، زمینه و مثال‌ها، مقاله‌ای را بخوانید که این Skill از آن ساخته شده است.