תיעוד 5
כללים
כללים מספקים הנחיות ברמת המערכת ל-Agent. הם מאגדים פרומפטים, סקריפטים ועוד, ומקלים על ניהול ושיתוף תהליכי עבודה בצוות.
Cursor תומך בארבעה סוגי כללים:
#כללי פרויקט
נשמרים ב-.cursor/rules, נמצאים בבקרת גרסאות ומוגבלים לבסיס הקוד שלך.
#כללי משתמש
גלובליים לסביבת Cursor שלך. בשימוש על ידי Agent (Chat).
#כללי צוות
כללים לכל הצוות שמנוהלים מלוח הבקרה. זמינים בתוכניות Team ו-Enterprise.
#AGENTS.md
הנחיות לסוכן בפורמט markdown. חלופה פשוטה ל-.cursor/rules.
#איך כללים עובדים
מודלי שפה גדולים לא שומרים זיכרון בין השלמות. כללים מספקים הקשר מתמשך וניתן לשימוש חוזר ברמת הפרומפט.
כשהם מוחלים, תוכן הכללים נכלל בתחילת הקשר של המודל. זה נותן ל-AI הנחיה עקבית ליצירת קוד, לפירוש עריכות, או לעזרה בתהליכי עבודה.
#כללי פרויקט
כללי פרויקט נמצאים ב-.cursor/rules כקבצי .mdc ונמצאים בבקרת גרסאות. הם מוגבלים באמצעות תבניות נתיב, מופעלים ידנית, או נכללים לפי רלוונטיות.
השתמש בכללי פרויקט כדי:
- לקודד ידע ספציפי לתחום על בסיס הקוד שלך
- להפוך תהליכי עבודה או תבניות ספציפיים לפרויקט לאוטומטיים
- לתקנן החלטות סגנון או ארכיטקטורה
#מבנה קובץ כלל
כל כלל הוא קובץ .mdc שאפשר לקרוא לו בכל שם שתרצה. כללי פרויקט חייבים להשתמש בסיומת .mdc. קובץ .md רגיל ב-.cursor/rules מתעלמים ממנו על ידי מערכת הכללים כי אין לו frontmatter כדי לציין description, globs ו-alwaysApply. אם אתה מעדיף markdown רגיל, השתמש ב-AGENTS.md במקום.
.cursor/rules/
react-patterns.mdc # Recognized as a project rule
api-guidelines.md # Ignored (wrong extension)
frontend/ # Organize rules in folders
components.mdc#אנטומיה של כלל
כל כלל הוא קובץ markdown עם מטא-דאטה של frontmatter ותוכן. שלוט באופן החלת הכללים מהתפריט הנפתח של הסוג, שמשנה את המאפיינים description, globs, alwaysApply.
| סוג כלל | תיאור |
|---|---|
Always Apply | החל על כל סשן צ'אט |
Apply Intelligently | כש-Agent מחליט שזה רלוונטי על בסיס התיאור |
Apply to Specific Files | כשקובץ תואם לתבנית שצוינה |
Apply Manually | כשמאזכרים עם @ בצ'אט (לדוגמה, @my-rule) |
מתחת לפני השטח, שלושת שדות ה-frontmatter פועלים יחד כדי לקבוע מתי כלל נכלל:
alwaysApply | description | globs | התנהגות |
|---|---|---|---|
true | - | - | נכלל תמיד. מתעלמים מ-globs ומהתיאור. |
false | - | סופק | מצורף אוטומטית כשקובץ תואם נמצא בהקשר. |
false | סופק | הושמט | Agent קורא את התיאור ומושך את הכלל פנימה כשזה רלוונטי. |
false | הושמט | הושמט | נכלל רק כשאתה מאזכר את הכלל עם @ בצ'אט. |
---
alwaysApply: true
---
- All source files must include the company copyright header
- When you are unsure about implementation details, read the relevant
source files before proposing changes
- Never modify generated files in the `dist/` or `build/` directories---
globs: src/components/**/*.tsx
alwaysApply: false
---
- Use named exports, not default exports
- Co-locate styles in a module CSS file next to the component
- Keep components under 200 lines. Extract subcomponents into the same
directory when a file grows beyond that
- Prefer composition over prop drilling. Pass children or render props
instead of threading data through multiple layers---
description: RPC service conventions and patterns for the backend
alwaysApply: false
---
- Define each service in its own file under `src/services/`
- Always validate inputs at the service boundary before passing data
to internal functions
- Return structured error objects with a `code` and `message` field,
never throw raw strings
- Read `@service-template.ts` for the standard boilerplate before
creating a new service---
alwaysApply: false
---
- Every database migration must have both `up` and `down` functions
so it can be fully reversed
- Never alter a column type in-place. Add a new column, backfill,
then drop the old one in a separate migration
- Read `@migration-template.sql` for the expected file structure
before writing a migration#הפניה לקבצים מתוך כלל
תוכן הכלל מגיע ל-Agent כפי שנכתב. אזכור קובץ כמו @migration-template.sql אומר ל-Agent איפה לחפש, ו-Agent קורא את הקובץ עם הכלים שלו כשהוא צריך את התוכן. תוכן הקובץ לא מוטמע בתוך הפרומפט, וזה זהה בעורך, ב-CLI וב-Cloud Agents. שים כל דבר שחייב תמיד להיות בהקשר ישירות בגוף הכלל.
#דוגמאות לתבניות glob
השתמש ב-globs כדי להגביל כלל לקבצים או לתיקיות ספציפיים. הפרד כמה תבניות בפסיקים.
| תבנית | התאמות |
|---|---|
* | כל מקטע יחיד של שם קובץ |
** | כל מספר תיקיות (רקורסיבי) |
*.ts | כל קבצי .ts בשורש |
**/*.ts | כל קבצי .ts בכל תיקייה |
src/** | כל הקבצים בכל מקום תחת src/ |
src/**/*.tsx | כל קבצי .tsx בכל מקום תחת src/ |
docs/**/*.md, docs/**/*.mdx | קבצי .md ו-.mdx תחת docs/ (מופרדים בפסיק) |
tailwind.config.* | tailwind.config עם כל סיומת |
#יצירת כלל
יש שתי דרכים ליצור כללים:
/create-ruleבצ'אט: הקלד/create-ruleב-Agent ותאר מה אתה רוצה. Agent יוצר את קובץ הכלל עם frontmatter מתאים ושומר אותו ב-.cursor/rules.- מ-Customize: פתח את Customize בסרגל הצד, עבור אל Rules, ולחץ על Add Rule. זה יוצר קובץ כלל חדש ב-
.cursor/rules. מ-Customize אפשר לראות את כל הכללים ואת הסטטוס שלהם.
#שיטות עבודה מומלצות
כללים טובים ממוקדים, ברי ביצוע ומוגבלים בהיקף.
- שמור כללים מתחת ל-500 שורות
- פצל כללים גדולים לכמה כללים שניתנים להרכבה
- ספק דוגמאות קונקרטיות או קבצים שאליהם מפנים
- הימנע מהנחיה מעורפלת. כתוב כללים כמו תיעוד פנימי ברור
- השתמש מחדש בכללים כשאתה חוזר על פרומפטים בצ'אט
- הפנה לקבצים במקום להעתיק את התוכן שלהם. זה שומר על כללים קצרים ומונע מהם להתיישן כשהקוד משתנה. Agent קורא קובץ שאליו הפנית כשהוא צריך אותו, אז אמור לו מה לחפש שם
#ממה להימנע בכללים
- העתקת מדריכי סגנון שלמים: השתמש ב-linter במקום. Agent כבר מכיר מוסכמות סגנון נפוצות.
- תיעוד כל פקודה אפשרית: Agent מכיר כלים נפוצים כמו npm, git ו-pytest.
- הוספת הנחיות למקרי קצה שכמעט לא חלים: שמור כללים ממוקדים בדפוסים שבהם אתה משתמש לעתים קרובות.
- שכפול של מה שכבר נמצא בבסיס הקוד שלך: הצבע על דוגמאות קנוניות במקום להעתיק קוד.
התחל בפשטות. הוסף כללים רק כשאתה שם לב ש-Agent עושה את אותה טעות שוב ושוב. אל תבצע אופטימיזציית יתר לפני שאתה מבין את הדפוסים שלך.
הכנס את הכללים ל-git כדי שכל הצוות ייהנה. כשאתה רואה ש-Agent עושה טעות, עדכן את הכלל. אפשר אפילו לתייג @cursor ב-issue או ב-PR ב-GitHub כדי ש-Agent יעדכן את הכלל עבורך.
#פורמט קובץ כלל
כל כלל הוא קובץ markdown עם מטא-דאטה של frontmatter ותוכן. מטא-דאטה של ה-frontmatter משמש לשליטה באופן החלת הכלל. התוכן הוא הכלל עצמו.
---
description: "This rule provides standards for frontend components and API validation"
alwaysApply: false
---
...rest of the rule contentאם alwaysApply הוא true, הכלל יוחל על כל סשן צ'אט. אחרת, תיאור הכלל יוצג ל-Cursor Agent כדי להחליט אם יש להחיל אותו.
#דוגמאות
#סטנדרטים לרכיבי frontend ולאימות API
הכלל הזה מספק סטנדרטים לרכיבי frontend:
כשעובדים בתיקיית components:
- תמיד השתמש ב-Tailwind לעיצוב
- השתמש ב-Framer Motion לאנימציות
- עקוב אחרי מוסכמות שמות של רכיבים
הכלל הזה אוכף אימות לנקודות קצה של API:
בתיקיית API:
- השתמש ב-zod לכל אימות
- הגדר טיפוסי החזרה עם סכמות zod
- ייצא טיפים שנוצרו מהסכמות
#תבניות לשירותי Express ולרכיבי React
הכלל הזה מספק תבנית לשירותי Express:
כשיוצרים שירות Express, קרא את @express-service-template.ts ועקוב אחרי המבנה שלו:
- עקוב אחרי עקרונות RESTful
- כלול middleware לטיפול בשגיאות
- הגדר לוגים מתאימים
הכלל הזה מגדיר מבנה של רכיב React:
רכיבי React צריכים לעקוב אחרי הפריסה ב-@component-template.tsx:
- ממשק Props למעלה
- הרכיב כייצוא בשם
- סגנונות למטה
#אוטומציה של תהליכי פיתוח ויצירת תיעוד
הכלל הזה הופך ניתוח אפליקציה לאוטומטי:
כשמבקשים לנתח את האפליקציה:
- הרץ שרת פיתוח עם
npm run dev - שלוף לוגים מהקונסולה
- הצע שיפורי ביצועים
הכלל הזה עוזר ליצור תיעוד:
עזור לנסח תיעוד על ידי:
- חילוץ הערות קוד
- ניתוח README.md
- יצירת תיעוד markdown
#הוספת הגדרה חדשה ב-Cursor
קודם צור מאפיין להחלפה ב-@reactiveStorageTypes.ts.
הוסף ערך ברירת מחדל ב-INIT_APPLICATION_USER_PERSISTENT_STORAGE ב-@reactiveStorageService.tsx.
עבור תכונות בטא, הוסף מתג ב-@settingsBetaTab.tsx, אחרת הוסף ב-@settingsGeneralTab.tsx. אפשר להוסיף מתגים כ-<SettingsSubSection> לתיבות סימון כלליות. הסתכל על שאר הקובץ לדוגמאות.
<SettingsSubSection
label="Your feature name"
description="Your feature description"
value={
vsContext.reactiveStorageService.applicationUserPersistentStorage
.myNewProperty ?? false
}
onChange={(newVal) => {
vsContext.reactiveStorageService.setApplicationUserPersistentStorage(
"myNewProperty",
newVal,
);
}}
/>כדי להשתמש באפליקציה, ייבא את reactiveStorageService והשתמש במאפיין:
const flagIsEnabled =
vsContext.reactiveStorageService.applicationUserPersistentStorage
.myNewProperty;דוגמאות זמינות מספקים וממסגרות. כללים שתרמה הקהילה נמצאים באוספים ובמאגרים משותפים ברשת.
#כללי צוות
תוכניות Team ו-Enterprise יכולות ליצור ולאכוף כללים בכל הארגון מ-לוח הבקרה של Cursor. מנהלים יכולים להגדיר אם כל כלל נדרש לחברי הצוות או לא.
כללי צוות עובדים לצד סוגי כללים אחרים ומקבלים עדיפות כדי להבטיח שסטנדרטים ארגוניים נשמרים בכל הפרויקטים. הם מספקים דרך חזקה להבטיח סטנדרטים, פרקטיקות ותהליכי עבודה עקביים לקידוד בכל הצוות בלי לדרוש הגדרה או תצורה אישית.
#ניהול כללי צוות
מנהלי צוות יכולים ליצור ולנהל כללים ישירות מלוח הבקרה של Cursor:

אחרי שכללי צוות נוצרים, הם חלים אוטומטית על כל חברי הצוות ונראים בלוח הבקרה:

#הפעלה ואכיפה
- Enable this rule immediately: כשמסומן, הכלל פעיל ברגע שיוצרים אותו. כשלא מסומן, הכלל נשמר כטיוטה ולא חל עד שמפעילים אותו מאוחר יותר.
- Enforce this rule: כשמופעל, הכלל נדרש לכל חברי הצוות ואי אפשר לבטל אותו ב-Customize. כשלא נאכף, חברי צוות יכולים לכבות את הכלל תחת Team Rules ב-Customize.
כברירת מחדל, כללי צוות שלא נאכפים יכולים להיות מושבתים על ידי משתמשים. השתמש ב-Enforce this rule כדי למנוע זאת.
#פורמט ואופן החלת כללי צוות
- Content: כללי צוות הם טקסט חופשי. הם לא משתמשים במבנה התיקיות של כללי פרויקט.
- Glob patterns: כללי צוות תומכים בתבניות glob להחלה בהיקף קובץ. כשמוגדרת תבנית glob (לדוגמה,
**/*.py), הכלל חל רק כשקובצים תואמים נמצאים בהקשר. כללים בלי תבנית glob חלים על כל שיחה. - Where they apply: כשכלל צוות מופעל (ולא הושבת על ידי המשתמש, אלא אם נאכף), הוא נכלל בהקשר המודל עבור Agent (Chat) בכל המאגרים והפרויקטים של הצוות הזה.
- Precedence: כללים מוחלים בסדר הזה: Team Rules → Project Rules → User Rules. כל הכללים הרלוונטיים ממוזגים. מקורות מוקדמים יותר מקבלים עדיפות כשההנחיה סותרת.
חלק מהצוותים משתמשים בכללים נאכפים כחלק מתהליכי ציות פנימיים. אף שזה נתמך, הנחיית AI לא צריכה להיות בקרת האבטחה היחידה שלך.
#ייבוא כללים ממאגר
כללים לא מיובאים מעצמם. כדי להביא כללים ממאגר GitHub, ארוז אותם ב-תוסף ופרסם את התוסף דרך marketplace: ייבא את המאגר ב-Customize עם From GitHub Repository (המאגר צריך .cursor-plugin/marketplace.json), או הוסף אותו כ-team marketplace, ואז התקן את התוסף. הכללים מגיעים עם התוסף ומופיעים ב-Customize לצד הכללים האחרים שלך.
#AGENTS.md
AGENTS.md הוא קובץ markdown פשוט להגדרת הנחיות לסוכן. שים אותו בשורש הפרויקט כחלופה ל-.cursor/rules למקרי שימוש פשוטים.
בניגוד לכללי פרויקט, AGENTS.md הוא קובץ markdown רגיל בלי מטא-דאטה או תצורות מורכבות. הוא מתאים לפרויקטים שצריכים הנחיות פשוטות וקריאות בלי התקורה של כללים מובנים.
Cursor תומך ב-AGENTS.md בשורש הפרויקט ובתת-תיקיות.
# Project Instructions
## Code Style
- Use TypeScript for all new files
- Prefer functional components in React
- Use snake_case for database columns
## Architecture
- Follow the repository pattern
- Keep business logic in service layers#שיפורים
#תמיכה ב-AGENTS.md מקונן
תמיכה ב-AGENTS.md מקונן בתת-תיקיות זמינה עכשיו. אפשר לשים קבצי AGENTS.md בכל תת-תיקייה של הפרויקט, והם יוחלו אוטומטית כשעובדים עם קבצים בתיקייה הזו או בילדים שלה.
זה מאפשר שליטה מפורטת יותר בהנחיות הסוכן לפי האזור בבסיס הקוד שבו אתה עובד:
project/
AGENTS.md # Global instructions
frontend/
AGENTS.md # Frontend-specific instructions
components/
AGENTS.md # Component-specific instructions
backend/
AGENTS.md # Backend-specific instructionsהנחיות מקבצי AGENTS.md מקוננים משולבות עם תיקיות האב, והנחיות ספציפיות יותר מקבלות עדיפות.
#כללי משתמש
כללי משתמש הם העדפות גלובליות שמוגדרות ב-Customize → Rules וחלות על כל הפרויקטים. הם בשימוש על ידי Agent (Chat) ומתאימים להגדרת סגנון תקשורת מועדף או מוסכמות קידוד:
Please reply in a concise style. Avoid unnecessary repetition or filler language.#שאלות נפוצות
#למה הכלל שלי לא מוחל?
בדוק את סוג הכלל. עבור Apply Intelligently, ודא שמוגדר תיאור. עבור Apply to Specific Files, ודא שתבנית הקובץ תואמת לקבצים שאליהם מפנים.
#האם כללים יכולים להפנות לכללים או לקבצים אחרים?
כן. ציין קובץ לפי נתיב, לדוגמה @service-template.ts, ו-Agent קורא אותו עם הכלים שלו כשהכלל חל והוא צריך את התוכן. הקובץ לא מוטמע בפרומפט, אז אם משהו חייב תמיד להיות בהקשר, הדבק אותו בגוף הכלל. ראה הפניה לקבצים מתוך כלל. אפשר גם לאזכר כללים עם @ בצ'אט כדי להחיל אותם ידנית.
#האם אפשר ליצור כלל מהצ'אט?
כן, אפשר לבקש מהסוכן ליצור כלל חדש עבורך.
#האם כללים משפיעים על Cursor Tab או על תכונות AI אחרות?
לא. כללים לא משפיעים על Cursor Tab או על תכונות AI אחרות.