console-ui
מערכת עיצוב אחת, ספריית רכיבים משותפת, לכל מסך ניהול שאני בונה.
01 / האתגר
רוב מה שאני בונה הוא מסך ניהול לאנשים שמפעילים משהו: טבלאות, טפסים, דשבורדים והגדרות, בעברית ובאנגלית. כל פרויקט פתר מחדש את אותן שאלות: הריווח, הניגודיות, כמה צפופה טבלה, איך נראה פקד בפוקוס, ואיך כל המסך מתהפך בעברית.
רציתי שהתשובות האלה ייקבעו פעם אחת, ייכתבו כמספרים וייבדקו בבדיקות, כך שמסך חדש יתחיל מכללים ולא מטעם אישי.
- אותן שאלות פריסה בכל פרויקט
- ניגודיות שנבדקה בעין, אם בכלל
- מימין לשמאל שנוסף מאוחר, ורק בחלקו
- פרטים קטנים שזזים ממסך למסך
02 / מה בניתי
ספריית רכיבים בשתי שכבות. הרכיבים הם השלד: הם קובעים מה קיים, איך הוא מתנהג עם מקלדת ועם קורא מסך, ושהוא נגיש. שפת עיצוב קובעת איך הוא נראה ומה הגודל שלו, והיא נתונים פשוטים: הצבעים של כל מצב, סולמות הריווח, הטיפוגרפיה, הרדיוס והצללים, והגודל של כל פקד ושל המעטפת. הספרייה מגיעה עם שתי שפות, מסוף קריר ואטלייה חם, ועוברת ביניהן בלי טעינה מחדש.
לכל מספר יש סיבה, והסיבות כתובות בקוד ובתיעוד: למה קו המתאר של שדה הוא בגוון האפור הזה, למה שורה מקוננת בסרגל הצד זזה פנימה 16 פיקסלים, ולמה הסבר יושב מתחת לשדה ולא מעליו. היא התחילה ביולי 2026 מפריסת ניהול בקוד פתוח, Gentelella של Colorlib, שהעברתי ל-React ול-Mantine; מאז בניתי אותה מחדש, כלל אחר כלל, למערכת עיצוב משלי.
איך זה נבנה
- 2026-07ספריית רכיבים ואתר תצוגהאני מעביר פריסת ניהול בקוד פתוח (Gentelella) ל-React ול-Mantine, כספריית רכיבים ואתר תצוגה.
- 2026-08ציר אחד, קטלוג אחדסרגל הצד מקבל ציר אייקונים קבוע, וקטלוג הרכיבים נכתב כך שאנשים וסוכני AI ישתמשו במה שקיים לפני שהם בונים.
- 2026-10נמדד לפי WCAG AAכל דרגת טקסט, קו מתאר, סדרה בגרף וסימון מצב נמדדים, ובדיקות הדפדפן סורקות כל שכבה כשהיא פתוחה.
- 2026-10שפת עיצוב שנייהאטלייה, בקרם וביין, יוצאת על אותו שלד, נמדדת לפי WCAG AA ומתחלפת בלי טעינה מחדש.
- 2026-10הגדרות שנכנסים לתוכןחלון ההגדרות הופך את הפס שלו לרשימה שנכנסים ממנה פנימה, כשהתיבה שלו צרה.
03 / דגשים
שלד אחד, שתי שפות עיצוב
הרכיבים אחראים להתנהגות, למקלדת ולנגישות; השפה אחראית לצבע ולגודל, כנתונים. שפה שלישית היא קובץ, לא העתק של הקוד.
כל צבע נמדד
טקסט נשאר קריא על כל משטח שהוא יכול לנחות עליו, כולל שורה בריחוף: ניגודיות של 4.5:1 לפחות, הרמה שתקן הנגישות דורש, ו-3:1 לקווי מתאר של פקדים ולסימונים בגרפים. הבדיקות מחשבות את היחסים מתוך ערכי העיצוב.
צפיפות עם רצפות
שלוש דרגות צפיפות, וכל אחת קובעת ארבעה דברים: ריווח, גודל פקדים, גודל טקסט וגובה שורה. אף פקד לא יורד מתחת ל-24 פיקסלים, ו-36 כשהקורא מבקש מטרות גדולות.
מימין לשמאל מגיליון סגנון אחד
הפריסה נכתבת כהתחלה וסוף, אף פעם לא כימין ושמאל, כך שעברית היא אותו קוד. מספרים עם סימן או יחידה נשארים משמאל לימין, ורק אייקונים שיש להם כיוון מתהפכים.
סרגל צד על ציר אחד
כל אייקון, הלוגו והאווטאר יושבים על ציר אחד, 32 פיקסלים מהקצה, מרכז סרגל הצד המקופל, כך ששום דבר לא קופץ כשהוא מתקפל.
הגדרות בשביל הקורא
הפחתת תנועה, ניגודיות גבוהה, מטרות גדולות, ריווח טקסט, פוקוס שתמיד גלוי, קישורים עם קו תחתון והתראות שנשארות: כל אחת עומדת במספרים שהיא מבטיחה.
אתר תצוגה לכל רכיב
קטלוג חי שמציג כל רכיב עם נתונים אמיתיים, ומסכי הדגמה על נתוני דמה, שנבדקים בשתי השפות, בשני המצבים ובשני הכיוונים.
04 / לוחות
12 לוחות · כל לוח נפתח לקריאה בגודל מלא · נתוני דמההערת עיצובהלוחות כאן הם console-ui בשרטוט של מפרט: המעטפת ונקודות השבירה שלה, הציר של סרגל הצד, ריווח וצפיפות, סולם הטיפוגרפיה, הכפתור, שדה הטופס, הטבלה, חלונות ומגירות, ניגודיות, מימין לשמאל, הפרטים הקטנים ודשבורד שלם. כל מספר בהם לקוח מהקוד.
05 / איפה זה עומד
console-ui בפיתוח פעיל מאז יולי 2026, עם קטלוג של רכיבים מוכנים, מדריך עיצוב ומדריך בדיקות שמהם נבנים מסכים חדשים. פרויקטים אחרים שלי כבר בונים עליה את המסכים שלהם.
בדיקות הדפדפן סורקות את אתר התצוגה בבודק נגישות בשתי שפות העיצוב, בהיר וכהה, משמאל לימין ומימין לשמאל, ורבים מהכללים שבלוחות נעולים בבדיקות: יחסי הניגודיות, הרצפות של הפקדים, הציר של סרגל הצד והקווים של הסרגל העליון.
06 / התפקיד והטכנולוגיה
זה פרויקט אישי, ואני המפתח היחיד שלו. אני קובע את הכללים: הטוקנים, הסולמות, הפריסה והפרטים, וכל החלטה נרשמת במאגר יחד עם הסיבה שלה.
אני בונה אותה עם Claude Code, לפי תוכניות כתובות ובבדיקה שלי: סוכנים כותבים את רוב הקוד, והבדיקות, הביקורות והמדידות קובעות מתי משהו גמור.
טכנולוגיות
- React 19
- TypeScript
- Mantine
- Vite
- pnpm
- Vitest
- Playwright
- טוקנים של עיצוב
- Claude Code
איך זה בנוי
React 19 ו-TypeScript על Mantine 7, במאגר pnpm עם Vite; Vitest לבדיקות היחידה ו-Playwright עם בודק נגישות לבדיקות הדפדפן. בין יולי לאוקטובר 2026 נכתבו בו 327 קומיטים.
לקבוע כלל פעם אחת, לכתוב את הסיבה שלו, ולתת לבדיקה לשמור עליו.
ככה אני אוהב לעצב.























