# chamnan — שהמאגר יכיר את עצמו

<sub>[🇬🇧 English](../../README.md) · [🇨🇳 中文](README.zh-CN.md) · [🇹🇼 繁體中文](README.zh-TW.md) · [🇯🇵 日本語](README.ja.md) · [🇰🇷 한국어](README.ko.md) · [🇹🇭 ไทย](README.th.md) · [🇻🇳 Tiếng Việt](README.vi.md) · [🇮🇩 Indonesia](README.id.md) · [🇮🇳 हिन्दी](README.hi.md) · [🇧🇩 বাংলা](README.bn.md) · [🇵🇰 اردو](README.ur.md) · [🇸🇦 العربية](README.ar.md) · [🇹🇷 Türkçe](README.tr.md) · [🇷🇺 Русский](README.ru.md) · [🇺🇦 Українська](README.uk.md) · [🇵🇱 Polski](README.pl.md) · [🇨🇿 Čeština](README.cs.md) · [🇩🇪 Deutsch](README.de.md) · [🇳🇱 Nederlands](README.nl.md) · [🇫🇷 Français](README.fr.md) · [🇪🇸 Español](README.es.md) · [🇵🇹 Português](README.pt-PT.md) · [🇧🇷 Português (BR)](README.pt-BR.md) · [🇮🇹 Italiano](README.it.md) · [🇷🇴 Română](README.ro.md) · [🇬🇷 Ελληνικά](README.el.md) · [🇭🇺 Magyar](README.hu.md) · [🇸🇪 Svenska](README.sv.md) · [🇫🇮 Suomi](README.fi.md) · [🇩🇰 Dansk](README.da.md) · [🇳🇴 Norsk](README.no.md) · [🇵🇭 Tagalog](README.tl.md)</sub>

> בעמוד הזה אין מספרים, במכוון. כל המדידות נמצאות ב-README באנגלית ומשתנות בכל גרסה; העמוד הזה לא. ← [Evidence](../../README.md#evidence)

## מה זה

תוסף ל-Claude Code. הוא בונה אינדקס של המאגר שהסוכן קורא במקום לסרוק קובץ אחר קובץ, ושומר את ההקשר ההנדסי שנצבר תוך כדי העבודה — מצב העבודה, רישומי סשנים, הנימוקים שמאחורי החלטות, והנהלים שאתם גוזרים מחדש בכל פעם.

כל מה שהוא כותב הוא markdown פשוט שנשמר לצד הקוד. בלי קריאות רשת בזמן ריצה, בלי מסד נתונים, בלי תהליך רקע, בלי מודל embedding — רק ספריית התקן של Python.

## מה זה פותר

בכל סשן חדש, או בכל פעם שההקשר נדחס, כל מה שהסוכן הבין על הקוד שלכם נעלם והוא חוזר לחפש מההתחלה.

chamnan מונע את הגילוי החוזר הזה: האינדקס נמסר בתחילת הסשן, והמחיר הוא מספר ידוע וחסום ולא קריאות קבצים ללא גבול.

## התקנה

```bash
claude plugin marketplace add ArcticFox2029/chamnan
claude plugin install chamnan@chamnan
```

פתחו סשן חדש, והריצו `/chamnan:bootstrap` פעם אחת לכל מאגר.

<!-- generated: build_sections.py -->

## כל היכולות

ארבע יכולות. כל מה שמופיע בטבלאות שלהלן רץ באמת בגרסה הנוכחית. אפשר לכבות כל חלק בנפרד ב‑`.chamnan/config.json`, ואף חלק אינו תלוי באחר.

### להבין — מה קיים, ומה מחובר למה

| | |
|---|---|
| **אינדקס** | `MAP.md` — שורה לכל קובץ, נוצרת מהקוד עצמו. הסוכן קורא את האינדקס ואז עושה grep לפרט הדרוש, במקום לסרוק את כל העץ. |
| **השפעה** | מי תלוי בקובץ הזה, ואילו בדיקות מכסות אותו. ה‑import של הקובץ עצמו כבר כתוב בראשו; מה שיקר לחפש הוא הכיוון ההפוך — עשו grep לנתיב לפני שינוי. |
| **מודל נתונים** | שמות טבלאות ומודלים עם שורת תיאור אחת, נשלפים מ‑DDL, ממיגרציות וממודלי ORM — ולא היצף סכימה שלם. מופיע רק אם המאגר אכן מגדיר כזה. |
| **משטח ה‑API** | מתודה, נתיב ומטפל, מתוך דקורטורים של נתיבים, מסמכי OpenAPI והגדרות שירות ב‑`.proto` — ולא כל המפרט. |
| **תצורה** | שמות משתני הסביבה שהמאגר קורא. **שמות בלבד, ערכים לעולם לא נרשמים** — ומזהיר אם `.env` אינו ב‑gitignore. |
| **פריסה** | מה שבאמת רץ, נקרא ממניפסטים של Kubernetes, Ansible, Compose, Helm ו‑CI: סוגים ושמות, אימג'ים, תפקידים, צינורות. מ‑Secret נלקח השם בלבד, ולא דבר ממה שתחתיו. |
| **חומר שאינו קוד** | מסמכים סרוקים, ייצוא, ארכיונים — רק ספירות, גדלים וסיומות דומיננטיות. הוא קיים כדי שהסוכן לא ילך להסתכל בעצמו, וזה יקר בהרבה. **לעולם לא נפתח, לעולם לא נקרא.** |

### לזכור — מה נעשה, ולמה

| | |
|---|---|
| **מצב העבודה** | `STATE.md` — מה שנעשה ממש עכשיו, מוזרק בתחילת הפעלה כדי שדחיסת ההקשר תפסיק למחוק אותו. |
| **רישום הפעלה** | רישום אחד לכל הפעלה תחת `.chamnan/sessions/`. **רק מה שלא הסתיים** מגיע להפעלה הבאה; הפעלה שנסגרה יפה אינה מזריקה דבר. |
| **זיכרון** | ‏`decisions/`, `lessons/`, `rules/`. כללים הם אילוצים קבועים ולכן מונחים לפני הסוכן בכל הפעלה; החלטות ולקחים תורמים כותרת בלבד, ונקראים כשהכותרת נראית רלוונטית. |
| **חוטים פתוחים** | קווי עבודה שטרם נסגרו, עם ההיסטוריה של הקבצים שאותו חוט נגע בהם — וממשיכים לעקוב גם אחרי ששם הקובץ שונה. |

### לעשות שימוש חוזר — במה שכבר נפתר

| | |
|---|---|
| **נהלים** | מיומנויות שהסוכן כותב **בעצמו** כשהוא נתקל במשהו מורכב או חוזר. לא ספרייה מוכנה שמצורפת, אלא מנגנון. |
| **כלים** | מבחין שאותו סקריפט זמני נכתב שוב, ומציע לשמור אותו — ומזכיר אותו עוד לפני שתכתבו סקריפט חדש. |
| **רצפי עבודה** | מבחין שאותן פקודות רצו באותו סדר בימים נפרדים, ומציע לרשום את הרצף. |

### להצטבר — מה שהמאגר למד על עצמו

| | |
|---|---|
| **אבני דרך** | אותם מעט שינויים ששינו את צורת המאגר: מה זז, למה זה היה שווה, ואילו אזורים זה נגע בהם. |
| **מועמדים** | רצפי פקודות חוזרים שזוהו נעצרים **תמיד עד לאישור אנושי**. שום דבר לא מקודם אוטומטית. |
| **סביבות** | הצהירו מה היא production או staging ומה אסור בה, והוא יתריע כשההצהרה מתיישנת. |
| **דוח** | מה מוחזק במרחב העבודה, האם הוא באמת בהישג יד, וכיצד השתנה ההקשר לכל תור במאגר שלכם. המספר שלכם, לא שלנו. |

עבודה הנדסית חוזרת הופכת לידע מאגר שאפשר להשתמש בו שוב — **לא אימון מודל, ולא אוטומציה של המפתח.** זהו מנגנון לשימור עבודה שאחרת הייתה קיימת רק אצל מי שעשה אותה.

## פקודות

כולן ניתנות להרצה מהמעטפת, והסוכן קורא להן גם בעצמו.

| | |
|---|---|
| `chamnan-map` | בונה ומעדכן את האינדקס |
| `chamnan-report` | מה מוחזק במרחב העבודה, וכיצד השתנה ההקשר לכל תור |
| `chamnan-impact` | מי תלוי בקובץ הזה, ואילו בדיקות מכסות אותו |
| `chamnan-timeline` | מה קרה לקובץ הזה עד כה |
| `chamnan-peek` | אומר מה יש בתוך קובץ גדול בלי לקרוא אותו אל ההקשר |
| `chamnan-promote` | שומר סקריפט ככלי קבוע של המאגר |
| `chamnan-candidates` | לראות, לאשר או לדחות חזרות שזוהו |
| `chamnan-env` | להצהיר על סביבה ועל האיסורים בה, ולבדוק שההצהרה עדיין טרייה |
| `chamnan-age` | מהיכן הידע השמור מתחיל להתיישן |

ומיומנויות שנקראות מתוך ההפעלה: `/chamnan:bootstrap` `/chamnan:remap` `/chamnan:resume` `/chamnan:remember` `/chamnan:milestone` `/chamnan:capture` `/chamnan:promote` `/chamnan:report`

## מה הוא כותב, והיכן

הכול בתוך `.chamnan/`, markdown ו‑JSON רגילים. אפשר לקרוא, לערוך ביד, ולמחוק בכל רגע בלי שדבר יישבר.

| | |
|---|---|
| `MAP.md` | מה קיים, ומה תלוי במה |
| `STATE.md` | מה נעשה ממש עכשיו |
| `sessions/` | היכן נעצרה העבודה הקודמת |
| `memory/` | החלטות, לקחים וכללים קבועים |
| `threads/` | קווי עבודה שעדיין פתוחים |
| `skills/` · `tools/` | נהלים וסקריפטים ששווה לשמור |
| `milestones.md` | השינויים ששינו את צורת המאגר |
| `config.json` | הדלקה וכיבוי של כל חלק, ותקרת הגודל של הבלוק שמוזרק להפעלה |

**הכתיבה היחידה מחוץ ל‑`.chamnan/`** היא הוק Git אופציונלי לפני commit, ששומר על האינדקס מסונכרן עם הקוד — מותקן רק אם אמרתם כן, וניתן להסרה.

**הסוכן אינו לומד.** דבר אינו מאומן, דבר אינו נשאר מחוץ לתיקייה הזו, וההפעלה הבאה עדיין מתחילה מאפס — רק שהיא מתחילה מאפס *בתוך מאגר שיודע להסביר את עצמו*. הרציפות היא בתוצרים, לא במודל.

## בטיחות

| | |
|---|---|
| **אין קריאות רשת בזמן ריצה** | אף לא אחת. לא נדרש מפתח API, ודבר אינו נשלח לשום מקום. |
| **אינו משכתב את הקוד שלכם** | הוא מדווח, לא עורך. האינדקס מעתיק הערות שכבר כתבתם, ואינו ממציא אותן; קבצים בלי הערה מוזכרים בשמם כדי שתשלימו בעצמכם. |
| **בלי דמון, בלי עבודת רקע** | אין תהליך שיושב ברקע, אין בסיס נתונים, אין מודל הטמעה — רק ספריית התקן של Python. |
| **סודות מסוננים תחילה** | כל מה שעומד להיכתב או להיות מוזרק להפעלה עובר קודם במסנן הסודות: *שמות* המשתנים נשמרים, הערכים לא. והתקרה שהמסנן הזה אינו מגיע אליה כתובה בצד המספר שלו ב‑README האנגלי. |
| **מה תוסף מותקן יכול לעשות לכם** | מוסבר במלואו ב‑README האנגלי, כולל היכן chamnan קוטע את שרשרת הדליפה. |

## דרישות

Claude Code · Python · Git · macOS, Linux או Windows

מעבר לזה דבר, ואין תלויות להתקין. גרסת ה‑Python המינימלית נמצאת ב‑[README › Requirements](../../README.md#requirements) — הדף הזה אינו נושא מספרים, כי המספרים הם מה שמשתנה.

## לכבות או להסיר

כיבוי לפי חלקים ב‑`.chamnan/config.json` · עצירה במאגר יחיד · הסרת התוסף מכל המכונה · מחיקת `.chamnan/` בכל רגע בלי שדבר יישבר — השלבים המפורטים ב‑[README › Update, disable, uninstall](../../README.md#update-disable-uninstall)

<!-- /generated -->

## קראו לפני ההתקנה

**chamnan מתאים לתיקייה מרכזית אחת שחוזרים אליה שוב ושוב.** כל מה שהוא עושה משולם מראש ונגבה בחזרה בסשנים הבאים — במאגר שפותחים פעם אחת שילמתם הכול ולא קיבלתם דבר.

**הוא מדווח, לא משכתב את הקוד שלכם.** האינדקס מעתיק את ההערות שכתבתם, ולא ממציא. קבצים בלי הערה מקבלים אזכור בשם כדי שתשלימו בעצמכם.

**המגבלות שלו נמדדו ונכתבו**, כולל מדידות שפועלות נגד התכונה המרכזית שלו עצמו.

## איפה הפרטים

| | |
|---|---|
| כל מספר, ואיך הוא נמדד | [README › Evidence](../../README.md#evidence) |
| מערך בדיקות רגרסיה — אפשר להריץ בעצמכם | [`tests/run_tests.py`](../../tests/run_tests.py) |
| מה השתנה בכל גרסה, ולמה | [CHANGELOG.md](../../CHANGELOG.md) |
| הכול | [README.md](../../README.md) |

---

<sub>MIT · [github.com/ArcticFox2029/chamnan](https://github.com/ArcticFox2029/chamnan)</sub>
