OpenSpec — Spec Driven Development
מה זה Spec Driven Development?
AI מצוין ביצירת קוד, אבל גרוע בלדעת מה לבנות. בלי הנחיות ברורות, הוא מנחש — ולרוב מנחש לא נכון.
Spec Driven Development (SDD) הוא מתודולוגיה שבה כותבים מפרט (spec) לפני קוד. ה-spec הופך למקור האמת — גם בשביל המפתח וגם בשביל ה-AI.
“A development approach where specs — not code — are the primary artifact. Specs describe intent in structured, testable language, and agents generate code to match them.”
Birgitta Böckeler מ-Thoughtworks מגדירה שלוש רמות של SDD:
- Spec-first — כותבים spec לפני כל משימה, ואז עובדים לפיו
- Spec-anchored — ה-spec נשמר גם אחרי המימוש, ומשמש לתחזוקה ואבולוציה
- Spec-as-source — ה-spec הוא הקובץ הראשי. האדם עורך רק specs, לעולם לא קוד
האנלוגיה הפשוטה: אדריכל מצייר תוכניות לפני שהבנאים מתחילים לבנות. SDD = תוכניות עבודה ל-AI.
השוואה: עם ובלי SDD
| ללא SDD | עם SDD | |
|---|---|---|
| תכנון | ”תעשה לי פיצ’ר” | Proposal → Design → Spec → Code |
| תוצאה | AI מנחש מה רצית | AI יודע בדיוק מה לבנות |
| שינויים | מתחילים מאפס | מעדכנים את ה-spec |
| תיעוד | לא קיים | ה-spec הוא התיעוד |
| בדיקות | מגלים באגים בדיעבד | acceptance criteria ברורים מראש |
SDD = measure twice, cut once. הגדירו מה לבנות לפני שמתחילים לבנות.
OpenSpec — הכלי
OpenSpec הוא כלי open-source שמיישם SDD עבור Claude Code (ו-20+ AI assistants נוספים). הוא מספק workflow מובנה של 4 שלבים שמוביל מרעיון למימוש.
הפילוסופיה של OpenSpec:
- Agree before you build — אדם ו-AI מסכימים על specs לפני שנכתב קוד
- Stay organized — כל שינוי מקבל תיקייה משלו עם proposal, specs, design ו-tasks
- Work fluidly — אפשר לעדכן כל artifact בכל זמן, בלי phase gates נוקשים
התקנה
4 שלבי העבודה
1. Propose — מגדירים מה ולמה → proposal.md
2. Design — מחליטים איך מבחינה טכנית → design.md
3. Spec — כותבים דרישות מפורטות עם scenarios → specs/*.md
4. Apply — Claude Code מממש לפי ה-specs → tasks.md עם checklist
מדריך צעד אחר צעד
שלב 1: אתחול בפרויקט
הפקודה יוצרת את תיקיית openspec/ עם ה-structure הדרוש.
שלב 2: הצעת שינוי (Propose)
Claude יוצר proposal.md שמגדיר:
- למה עושים את השינוי
- מה ישתנה במערכת
- מה היכולות החדשות
עכשיו תקראו את ה-proposal ותוודאו שהוא תואם את מה שרציתם.
שלב 3: עיצוב טכני (Design)
Claude יוצר design.md עם החלטות טכניות:
- אילו קבצים ייווצרו או ישתנו
- אילו APIs יוגדרו
- אילו dependencies יתווספו
- ארכיטקטורה ותלויות בין רכיבים
אתם סוקרים ומתאימים — זה השלב לוויכוחים על ארכיטקטורה, לא אחרי שנכתבו 500 שורות קוד.
שלב 4: מפרט מפורט (Spec)
Claude יוצר תיקיית specs/ עם דרישות מפורטות. כל דרישה כוללת:
- תיאור ברור של ההתנהגות
- WHEN/THEN scenarios — תרחישים מדויקים
- Edge cases ו-acceptance criteria
שלב 5: מימוש (Apply)
Claude קורא את ה-specs ומממש task אחרי task. כל משימה מסומנת ב-tasks.md כשהיא מושלמת.
Context hygiene: מומלץ לנקות את חלון ה-context לפני תחילת המימוש. OpenSpec עובד הכי טוב עם context נקי.
שלב 6: ארכיון (Archive)
אחרי שהמימוש הושלם, הארכיון שומר את ה-specs להתייחסות עתידית ומנקה את תיקיית העבודה.
קריאה נוספת
- Understanding Spec-Driven-Development — מאמר מקיף של Birgitta Böckeler (Thoughtworks) על SDD, כולל השוואה בין כלים
- OpenSpec GitHub — קוד מקור, דוקומנטציה, ו-Discord community
SDD משנה את הדרך שבה עובדים עם AI — מ-”תתקן את זה” ל-”הנה התוכניות, תבנה לפי זה.”