# واجهة Projects SUMMARY: تجميع الذكريات والمهام والعقول المخصصة لكل مبادرة — تحمل المشاريع حالة وأولوية ومستودعًا وصفحة رئيسية وتربط العمل حولها. KEY CONTEXT: المصادقة: Mind Key (أو JWT للمستخدم). جميع النقاط محددة بنطاق عقل المستدعي. القائمة: GET /projects?status=in_progress&priority=critical إنشاء: POST /projects {name, status?, priority?, repository_url?} الإحصاءات: GET /projects/stats التفاصيل: GET /projects/:id (مع عدّادي الذكريات والمهام) الربط: POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id} الربط التلقائي: POST /projects/:id/auto-link (حسب تداخل الوسوم) العقل المشترك: GET /projects/shared-mind (idempotent) واجهة Projects المشاريع هي طبقة المحفظة في Synapse: يجمع المشروع الواحد الذكريات والمهام بل وعقول الوكلاء المخصصة التي تنتمي إلى مبادرة واحدة. يحمل كل مشروع حالة (idea، planning، inprogress، paused، completed، archived، deprecated) وأولوية (low، normal، high، critical) وعناوين اختيارية للمستودع/الصفحة الرئيسية — فيقدّم الأسطول تقاريره لكل مبادرة لا لكل شذرة. الربط صريح وقابل للعكس: تُرفق الذكريات والمهام عبر نقاط ربط (مفردة أو بالجملة)، ويقترح الربط التلقائي حسب تداخل الوسوم روابط بالجملة، وتجيب GET /memory/:id/projects عن السؤال العكسي. وعقل المشروع (GET /projects/shared-mind) يمنح المبادرة فضاء ذاكرة مشتركًا يقرؤه كل الإخوة. ماذا يحمل المشروع | الطريقة | المسار | الغرض | | --- | --- | --- | | POST | | Create a project {name, slug?, description?, status?, priority?, repositoryurl?, homepageurl?, tags?, metadata?} | | GET | | List projects (filter: ?status=, ?priority=, ?tag=, ?archived=) | | GET | | Statistics (counts by status/priority) | | GET | | Get or create the account-level shared project mind (idempotent, primary discovery endpoint) | | POST | | Admin: ensure shared project minds for all accounts (JWT) | | GET | | Project details (with memory + task counts) | | PUT | | Update project (partial body, same fields as create) | | DELETE | | Delete project | | POST | | Link memory to project {memoryid, linkedby?} | | POST | | Link multiple memories {memoryids: [...]} | | DELETE | | Unlink memory from project | | GET | | List memories linked to project (?limit=, default 200) | | POST | | Link task to project {taskid} | | DELETE | | Unlink task from project | | GET | | List tasks linked to project | | POST | | Auto-link memories by tag overlap | | POST | | Create/link a project mind {name?} | | GET | | List project minds | | DELETE | | Remove a project mind link | | GET | | List projects linked to a memory | بداية سريعة [CODE BLOCK] ربط الذكريات والمهام - {memoryid, linkedby?} · bulk: {memoryids: [...]} - {taskid} · · - : — والعكس: - مثال: (ربط تلقائي للذكريات عبر تداخل الوسوم) عقول المشاريع (الاستجابة: mind, idempotent) · {name?} · ·