سجلّ أُطُر العمل
The English page has changed since this translation was made. Read the English page.
مرجع تقني لسجلّ محوّلات أُطُر العمل المُضمَّنة في Apothem.
سجلّ أُطُر العمل هو جرد المحوّلات الذي يُعدّ مصدر الحقيقة، وتستخدمه واجهة سطر الأوامر،
والوثائق، واختبارات التجهيزات، والتحقّق من تثبيتات الاصطلاح. ومصدر وقت التشغيل هو
src/apothem/lib/harness_registry.py؛ وكل صف أدناه قابل للتتبّع إلى ذلك
السجلّ، وإلى capabilities.yml الخاص بكل محوّل، وإلى
STANDARD-CONVENTION-PIN.md الخاص بكل محوّل.
مصفوفة السجلّ
| إطار العمل | اسم التثبيت | النطاق | الصيغة | الأهداف | MCP | تثبيت الاصطلاح |
|---|---|---|---|---|---|---|
| Antigravity | antigravity | المستخدم | markdown | ~/.gemini/GEMINI.md؛ ~/.gemini/antigravity-cli/plugins/apothem/ | بانتظار الاكتشاف | src/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md |
| Claude Code | claude-code | المستخدم | json | ~/.claude/settings.json؛ ~/.claude/CLAUDE.md؛ agents وrules وskills وstatuslines وoutput-styles الأصلية؛ ~/.claude/.apothem/support/ | بانتظار الاكتشاف | src/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md |
| CodeBuddy | codebuddy | المشروع | markdown | <project>/.codebuddy/rules/apothem-rules.md؛ <project>/.codebuddy/agents/؛ <project>/.codebuddy/settings.local.json؛ <project>/.apothem/support/hooks/؛ ~/.codebuddy/skills/؛ ~/.config/apothem/{rules,templates}/ | بانتظار الاكتشاف | src/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md |
| Codex | codex | المستخدم | markdown | ~/.codex/AGENTS.md؛ hooks.json؛ hooks/؛ agents/*.toml؛ ~/.agents/skills/؛ ~/.config/apothem/ | بانتظار الاكتشاف | src/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md |
| Cursor | cursor | المشروع | mdc | <project>/.cursor/rules/apothem-rules.mdc؛ <project>/.cursor/agents/؛ <project>/.cursor/hooks.json؛ <project>/.apothem/support/cursor/hooks/؛ ~/.agents/skills/؛ ~/.config/apothem/{rules,templates}/ | بانتظار الاكتشاف | src/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md |
| Gemini CLI | gemini-cli | المشروع | markdown | <project>/GEMINI.md؛ <project>/.gemini/{commands,skills,agents}/؛ <project>/.gemini/.apothem/support/ | بانتظار الاكتشاف | src/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md |
| GitHub Copilot | github-copilot | المشروع | markdown | <project>/.github/copilot-instructions.md؛ <project>/.github/agents/؛ <project>/.github/hooks/apothem.json؛ <project>/.apothem/support/github-copilot/hooks/؛ ~/.agents/skills/؛ ~/.config/apothem/{rules,templates}/ | غير مدعوم | src/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md |
| GLM (Z.ai) | glm | المشروع | toml | <project>/.apothem/providers/glm.toml | غير مدعوم | src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md |
| Hermes | hermes | المستخدم | yaml | ~/.hermes/config.yaml؛ ~/.hermes/.apothem/support/ | أصلي | src/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md |
| Kimi Code | kimi-code | المشروع | markdown | <project>/AGENTS.md؛ <project>/.kimi-code/skills/؛ <project>/.kimi-code/agents/؛ <project>/.kimi-code/.apothem/support/ | بانتظار الاكتشاف | src/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md |
| Kiro | kiro | المشروع | markdown | <project>/.kiro/steering/apothem-rules.md؛ <project>/.kiro/agents/؛ <project>/.kiro/hooks/apothem.json؛ <project>/.apothem/support/kiro/hooks/؛ ~/.kiro/skills/؛ ~/.config/apothem/{rules,templates}/ | بانتظار الاكتشاف | src/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md |
| Open-Claw | open-claw | المستخدم | json | ~/.openclaw/openclaw.json؛ ~/.openclaw/.apothem/support/ | غير مدعوم | src/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md |
| OpenCode | opencode | المستخدم | json | ~/.config/opencode/opencode.json؛ commands وskills وagents الأصلية؛ ~/.config/opencode/.apothem/support/ | أصلي | src/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md |
| Qwen Code | qwen-code | المستخدم | json | ~/.qwen/settings.json؛ ~/.qwen/QWEN.md؛ commands وskills وagents الأصلية؛ ~/.qwen/.apothem/support/ | أصلي | src/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md |
| Trae | trae | المشروع | markdown | <project>/.trae/rules/apothem-rules.md؛ <project>/.trae/agents/؛ ~/.trae/skills/؛ ~/.config/apothem/{rules,templates}/ | بانتظار الاكتشاف | src/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md |
| Windsurf | windsurf | المشروع | markdown | <project>/.devin/rules/apothem-rules.md؛ <project>/.devin/agents/؛ <project>/.devin/config.local.json؛ <project>/.apothem/support/windsurf/hooks/؛ ~/.agents/skills/؛ ~/.config/apothem/{rules,templates}/ | بانتظار الاكتشاف | src/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md |
| Zed | zed | المشروع | markdown | <project>/.rules؛ ~/.agents/skills/؛ ~/.config/apothem/{rules,templates}/ | بانتظار الاكتشاف | src/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md |
دعم حِزم الحمولة
قيم الحالة هي native، وconverted، وsupport-tree،
وprofile-projected، وunsupported، وnot-applicable،
وdiscovery-pending.
تُعاد كتابة الحزمة converted بصيغة إطار العمل نفسه، وبعض حقول المصدر لا
مكان لها فيها. ولكل حزمة أوامر أو عوامل أو قواعد مُحوَّلة، يحمل ملف
capabilities.yml الخاص بالمحوّل خريطة conversion_losses تبيّن
ما يحدث لكل حقل من حقول البيانات الأمامية في المصدر:
| القيمة | المعنى |
|---|---|
native:<field> | يقرؤه إطار العمل تحت ذلك الحقل. |
sidecar:<path> | يُكتَب في ملف منفصل بجوار الملف المُحوَّل، مثل agents/openai.yaml الخاص بـ Codex. |
filename | يحمله اسم الملف أو المجلّد. |
inlined | ينتقل إلى نص المُوجِّه أو المتن. |
ignored | يبقى في الملف، لكن إطار العمل لا يقرؤه. |
dropped | يُستبعَد. |
يُصيِّر اختبارٌ كل ملف مُحوَّل ويفحص الخرائط مقابل المُخرَجات.
| إطار العمل | الحمولات الأصلية أو المُحوَّلة | حمولات شجرة الدعم | تحذيرات غير المدعوم أو المعلّق |
|---|---|---|---|
| Antigravity | الأوامر والعوامل والقواعد مُحوَّلة؛ والمهارات، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | الخطّافات، والقوالب | أسطر الحالة، وأنماط الإخراج؛ واكتشاف MCP والذاكرة معلّق |
| Claude Code | الأوامر مُحوَّلة؛ والمهارات، والخطّافات، والعوامل، والقواعد، وأسطر الحالة، وأنماط الإخراج، وتوزيع العوامل الفرعية أصلية | القوالب | يبقى CLAUDE.md مملوكًا للمُشغِّل باستثناء كتلة Apothem الواحدة؛ ولا قالب مُوجِّه نظام يكتبه المحوّل؛ واكتشاف MCP معلّق |
| CodeBuddy | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، والقواعد، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القوالب | أسطر الحالة، وأنماط الإخراج؛ واكتشاف MCP معلّق |
| Codex | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القواعد، والقوالب | أسطر الحالة، وأنماط الإخراج؛ واكتشاف MCP معلّق لأن Apothem لا يكتب فوق config.toml |
| Cursor | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، والقواعد، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القوالب | أسطر الحالة، وأنماط الإخراج، والذاكرة؛ واكتشاف MCP معلّق |
| Gemini CLI | الأوامر والعوامل مُحوَّلة؛ والمهارات، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام، والذاكرة أصلية | الخطّافات، والقواعد، والقوالب | أسطر الحالة، وأنماط الإخراج؛ واكتشاف MCP معلّق |
| GitHub Copilot | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، والقواعد، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القوالب | أسطر الحالة، وأنماط الإخراج، وMCP، والذاكرة |
| GLM (Z.ai) | لا شيء | لا شيء | الأوامر، والمهارات، والخطّافات، والعوامل، والقواعد، والقوالب، وأسطر الحالة، وأنماط الإخراج، وMCP، وتوزيع العوامل الفرعية، وقيود الأدوات، وقوالب مُوجِّه النظام، والذاكرة — GLM واجهة خلفية للنماذج بلا سطح إعداد أصلي |
| Hermes | الأوامر مُحوَّلة؛ وقوالب مُوجِّه النظام، وMCP، وتوزيع العوامل الفرعية أصلية | المهارات، والخطّافات، والعوامل، والقواعد، والقوالب | أسطر الحالة، وأنماط الإخراج |
| Kimi Code | الأوامر والعوامل مُحوَّلة؛ والمهارات، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام، والذاكرة أصلية | الخطّافات، والقواعد، والقوالب | أسطر الحالة، وأنماط الإخراج؛ واكتشاف MCP وقيود الأدوات معلّق |
| Kiro | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، والقواعد، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القوالب | أسطر الحالة، وأنماط الإخراج؛ واكتشاف MCP معلّق |
| Open-Claw | الأوامر مُحوَّلة؛ وقوالب مُوجِّه النظام، وتوزيع العوامل الفرعية أصلية | المهارات، والخطّافات، والعوامل، والقواعد، والقوالب | أسطر الحالة، وأنماط الإخراج، وMCP |
| OpenCode | الأوامر والعوامل مُحوَّلة؛ والمهارات، وMCP، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | الخطّافات، والقواعد، والقوالب | أسطر الحالة، وأنماط الإخراج |
| Qwen Code | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، وMCP، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القواعد، والقوالب | أسطر الحالة، وأنماط الإخراج |
| Trae | الأوامر والعوامل مُحوَّلة؛ والمهارات، والقواعد، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القوالب | الخطّافات، وأسطر الحالة، وأنماط الإخراج، والذاكرة؛ واكتشاف MCP معلّق |
| Windsurf | الأوامر والعوامل مُحوَّلة؛ والمهارات، والخطّافات، والقواعد، وتوزيع العوامل الفرعية، وقوالب مُوجِّه النظام أصلية | القوالب | أسطر الحالة، وأنماط الإخراج، والذاكرة؛ واكتشاف MCP معلّق |
| Zed | الأوامر مُحوَّلة؛ والمهارات، والقواعد، وقوالب مُوجِّه النظام أصلية | القوالب | الخطّافات، والعوامل، وأسطر الحالة، وأنماط الإخراج، وتوزيع العوامل الفرعية، والذاكرة؛ واكتشاف MCP معلّق |
يستبعد الجدول الخلايا التي يُعلِّمها السجلّ بالقيمة not-applicable: قيود
الأدوات على كل إطار عمل باستثناء Kimi Code (discovery-pending)
وGLM (Z.ai) (unsupported)، والذاكرة على Claude Code،
وCodeBuddy، وCodex، وHermes، وKiro،
وOpen-Claw، وOpenCode، وQwen Code.
الجذور المشتركة
بعض أهداف التثبيت تُحمِّلها أُطُر عمل غير الإطار الذي يكتبها. ويُسجِّل السجلّ كل مسار
من هذا النوع في SHARED_ROOTS مع مالك مُسجَّل واحد (المحوّل الذي يُوثِّق المورّد
المسار له)، والمُثبِّتين المشاركين الذين يكتبون الملفات نفسها فيه، والقرّاء الذين تُحمِّله
وثائق مورّديهم افتراضيًا، إضافةً إلى صفحات المورّدين التي تُظهر ذلك وتاريخ استرجاعها.
المسار الذي له مُثبِّتون مشاركون مجلّد على مستوى المستخدم في الدليل المنزلي تكتبه عدة
تثبيتات بالبايتات نفسها. فالجهاز الذي لا يحمل إلا تثبيت Cursor لا يوجد عليه
Codex ليكتب ~/.agents/skills/، لذا يكتبه كل تثبيت يُسمّي المجلّد،
ويعدّ سجلّ التثبيت التثبيتات التي تستخدمه. والمالك المُعتمَد هو المالك المُسجَّل ما دام
يستخدم المجلّد، وإلا فأقدم تثبيت يستخدمه؛ ولا ينتقل شيء عند إلغاء تثبيت المالك المُسجَّل.
ولا يُزيل إلغاء التثبيت المجلّد إلا عندما لا يعود أي تثبيت آخر يستخدمه (انظر
uninstall).
وتثبيت قارئ لا يضع أي ملفات في المجلّد؛ أمّا تثبيت المالك أو مُثبِّت مشارك فيضع محتوى
Apothem أمام كل قارئ.
| المسار | المالك | المُثبِّتون المشاركون | القرّاء |
|---|---|---|---|
~/.agents/skills/ | Codex | Cursor، GitHub Copilot، Windsurf، Zed | Gemini CLI، Kimi Code، Open-Claw، OpenCode، Qwen Code |
~/.config/apothem/rules/ | Codex | CodeBuddy، Cursor، GitHub Copilot، Kiro، Trae، Windsurf، Zed | لا أحد |
~/.config/apothem/templates/ | Codex | CodeBuddy، Cursor، GitHub Copilot، Kiro، Trae، Windsurf، Zed | لا أحد |
~/.claude/skills/ | Claude Code | لا أحد | Cursor، OpenCode |
~/.claude/agents/ | Claude Code | لا أحد | Cursor |
~/.codex/agents/ | Codex | لا أحد | Cursor |
~/.claude/CLAUDE.md | Claude Code | لا أحد | OpenCode |
<project>/AGENTS.md | Kimi Code | لا أحد | Antigravity، CodeBuddy، Codex، Cursor، GitHub Copilot، Hermes، Kiro، OpenCode، Windsurf، Zed |
<project>/GEMINI.md | Gemini CLI | لا أحد | Antigravity، GitHub Copilot، Zed |
~/.gemini/GEMINI.md | Antigravity | لا أحد | Gemini CLI |
<project>/.github/copilot-instructions.md | GitHub Copilot | لا أحد | Zed |
يحمل ~/.config/apothem/rules/ و~/.config/apothem/templates/ الملفات
التي تستشهد بها مهارات Apothem وملفات تعليماته. ولا تُحمِّلها أي أداة أخرى، لذا
لا قرّاء لها ولا صفحات مورّدين. ويكتب CodeBuddy وKiro وTrae
أيضًا مجلّد مهارات خاصًا بكل منها (~/.codebuddy/skills/، و~/.kiro/skills/،
و~/.trae/skills/)؛ ولا تُحمِّله إلا تلك الأداة، لذا فهو ليس جذرًا مشتركًا.
لا يُدرَج القارئ إلا حيث تُظهر وثائق مورّده تحميلًا افتراضيًا لذلك المسار بعينه. ويحمل
قارئ واحد شرطًا، وتُكرِّره ملاحظة التثبيت: لا يُفهرِس Open-Claw
~/.agents/skills/ إلا تحت دليل حالته الافتراضي (ويتخطّى المجلّد عندما يُشير
OPENCLAW_STATE_DIR إلى مكان آخر). وتسرد وثائق Cursor
~/.codex/agents/ بوصفه مجلّد توافق مع Codex لكنها لا تقول أي صيغ
ملفات يُحلِّلها Cursor هناك، وتثبيت Codex يكتب ملفات TOML،
لذا فإن قراءة Cursor لأولئك المساعِدين غير مؤكَّدة. ويكتب تثبيت
Cursor أيضًا نسخته الخاصة <project>/.cursor/agents/ من
المساعِدين، التي يُرتِّبها سُلَّم الأسبقية لدى المورّد فوق المجلّدات التي يستوردها، لذا تحلّ
النسخة الأصلية في المشروع المُثبَّت محلّ النسخة الآتية من ~/.claude/agents/.
بعض الأدوات ليست قارئة لـ ~/.agents/skills/ عن قصد: لا تقول وثائق
Antigravity وCodeBuddy وKiro وTrae إنها
تُحمِّله افتراضيًا (ولا يُحمِّل Trae مجلّد المشروع .agents/skills/
إلا بعد تفعيل إعداد)، ولهذا يحصل CodeBuddy وKiro وTrae
على مجلّد مهارات خاص بكل منها. ولا تُسمّيه وثائق Hermes إلا بوصفه قيمة مثال
لـ skills.external_dirs. وليس GitHub Copilot قارئًا لـ
~/.claude/agents/: تسرد وثائق VS Code ذلك المجلّد لعامل
Anthropic Claude، لا للعامل الذي يُشغِّله GitHub Copilot.
لا تُسمّي كتلة Apothem التي يكتبها المالك في ملف تعليمات مشترك أيَّ أداة
بعينها قارئًا لها. ويُخفِق tests/unit/test_shared_roots.py عندما لا تكون
المحوّلات التي تكتب هدفًا من أهداف السجلّ هي مالكه ومُثبِّتيه المشاركين بالضبط، وعندما لا يكون لهدف في السجلّ يُسمّى تسمية ملف
تعليمات عابر للأدوات (AGENTS.md، وCLAUDE.md، وGEMINI.md،
وcopilot-instructions.md) مالكٌ مُعلَن. والاستثناء الوحيد هو
~/.codex/AGENTS.md، الذي لا يوثّق أي إطار عمل مسجَّل آخر تحميله.
خطّافات التحقّق
يبقى السجلّ متزامنًا عبر هذه الفحوص:
| الفحص | الغرض |
|---|---|
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DD | يؤكّد أن لكل محوّل تثبيتَ اصطلاحٍ لا يتجاوز عمره 90 يومًا، ويستشهد بعنوان URL واحد على الأقل للمورّد، ولا يحمل هدف اكتشاف متأخّرًا عن موعده. ويُشغِّله CI على كل طلب سحب، وأسبوعيًا، وقبل الإصدار. |
python scripts/dev/check_vendor_urls.py | يجلب كل عنوان URL للمورّد تستشهد به تثبيتات الاصطلاح وقوالب أُطُر العمل، ويُخفِق عند صفحة منقولة أو ميتة، بما في ذلك اسم مضيف لم يعد يُحَلّ أو شهادة يُخفِق التحقّق منها؛ أمّا انتهاء المهلة، أو الاتصال المرفوض أو المُعاد ضبطه، أو خطأ الخادم 5xx، فيُبلَّغ عنه بوصفه تعذّر وصول ولا يُفشِله. ويُشغِّله مراقب الاصطلاحات الأسبوعي. |
python -m apothem.conformity.gate --all . | يُشغِّل فحوص المطابقة للوثائق والتنفيذ. |
python -m pytest | يُشغِّل اختبارات تجهيزات السجلّ واختبارات عقود المحوّلات. |
مرجع محوّلات أُطُر العمل المُولَّد
| Harness | Scope | Format | Target paths |
|---|---|---|---|
Antigravity (antigravity) | user | markdown | ~/.gemini/GEMINI.md~/.gemini/antigravity-cli/plugins/apothem/ |
Claude Code (claude-code) | user | json | ~/.claude/.apothem/support/{templates,hooks,conformity,schemas}/~/.claude/CLAUDE.md~/.claude/settings.json~/.claude/{agents,rules,skills,statuslines,output-styles}/ |
CodeBuddy (codebuddy) | project | markdown | <project>/.apothem/support/hooks/<project>/.codebuddy/agents/<project>/.codebuddy/rules/apothem-rules.md<project>/.codebuddy/settings.local.json~/.codebuddy/skills/~/.config/apothem/{rules,templates}/ |
Codex (codex) | user | markdown | ~/.agents/skills/~/.codex/AGENTS.md~/.codex/agents/*.toml~/.codex/hooks.json~/.codex/hooks/~/.config/apothem/{rules,templates}/ |
Cursor (cursor) | project | mdc | <project>/.apothem/support/cursor/hooks/<project>/.cursor/agents/<project>/.cursor/hooks.json<project>/.cursor/rules/apothem-rules.mdc~/.agents/skills/~/.config/apothem/{rules,templates}/ |
Gemini CLI (gemini-cli) | project | markdown | <project>/.gemini/.apothem/support/<project>/.gemini/{commands,skills,agents}/<project>/GEMINI.md |
GitHub Copilot (github-copilot) | project | markdown | <project>/.apothem/support/github-copilot/hooks/<project>/.github/agents/<project>/.github/copilot-instructions.md<project>/.github/hooks/apothem.json~/.agents/skills/~/.config/apothem/{rules,templates}/ |
GLM (Z.ai) (glm) | project | toml | <project>/.apothem/providers/glm.toml |
Hermes (hermes) | user | yaml | ~/.hermes/.apothem/support/~/.hermes/config.yaml |
Kimi Code (kimi-code) | project | markdown | <project>/.kimi-code/.apothem/support/<project>/.kimi-code/agents/<project>/.kimi-code/skills/<project>/AGENTS.md |
Kiro (kiro) | project | markdown | <project>/.apothem/support/kiro/hooks/<project>/.kiro/agents/<project>/.kiro/hooks/apothem.json<project>/.kiro/steering/apothem-rules.md~/.config/apothem/{rules,templates}/~/.kiro/skills/ |
Open-Claw (open-claw) | user | json | ~/.openclaw/.apothem/support/~/.openclaw/openclaw.json |
OpenCode (opencode) | user | json | ~/.config/opencode/.apothem/support/~/.config/opencode/opencode.json~/.config/opencode/{commands,skills,agents}/ |
Qwen Code (qwen-code) | user | json | ~/.qwen/.apothem/support/~/.qwen/QWEN.md~/.qwen/settings.json~/.qwen/{commands,skills,agents}/ |
Trae (trae) | project | markdown | <project>/.trae/agents/<project>/.trae/rules/apothem-rules.md~/.config/apothem/{rules,templates}/~/.trae/skills/ |
Windsurf (windsurf) | project | markdown | <project>/.apothem/support/windsurf/hooks/<project>/.devin/agents/<project>/.devin/config.local.json<project>/.devin/rules/apothem-rules.md~/.agents/skills/~/.config/apothem/{rules,templates}/ |
Zed (zed) | project | markdown | <project>/.rules~/.agents/skills/~/.config/apothem/{rules,templates}/ |