Webship Workspace على npm: مساحة عمل واحدة وفضاءات كثيرة مترابطة
كل شركة كبيرة تبني اليوم مساحة عمل (workspace). عند غوغل Google Workspace: البريد والمستندات والتخزين والاجتماعات في مكان واحد. وعند مايكروسوفت مساحة Microsoft 365 مع Teams وOffice وSharePoint. أما Replit فحوّلت المتصفح إلى مساحة برمجة تكتب فيها وتشغّل وتنشر وبجانبك وكيل ذكاء اصطناعي. الكلمة في كل مكان، لأن الناس لم يعودوا يريدون أدوات متفرقة. يريدون مكانًا واحدًا يعيش فيه العمل.

الكلمة في كل مكان. وهذا ما تقوله كل جهة منها بلسانها:
- Google Workspace: البريد وDocs وDrive وMeet في حزمة واحدة.
- مساحات Microsoft 365 Loop: فضاءات مشتركة لصفحات الفريق ومكوّناته.
- Replit Workspace: الناس والمشاريع والبيانات والذكاء الاصطناعي في مكان واحد، مع Team Workspaces للمجموعات.
- مساحات Notion: بيت كل محتواك، وحدك أو مع فريقك.
- مساحات Slack: قنوات الفريق وأفراده وتطبيقاته.
- Miro، مساحة الابتكار بالذكاء الاصطناعي: لوحات بيضاء للفرق.
- ClickUp Workspace: قمة هرمها: Workspace ثم Space ثم Folder ثم List.
- مساحات Figma: مجموعات من الفرق والملفات داخل المؤسسة.
- Canva: فرق ومساحات عمل للناس والمشاريع.
- Zoho Workplace: البريد وتطبيقات المكتب كحزمة واحدة.
- Amazon WorkSpaces: أجهزة سطح مكتب كاملة في السحابة.
- GitHub Codespaces: بيئة تطوير سحابية لكل مستودع.
- GitLab Workspaces: بيئات تطوير عن بُعد.
- مساحات Bitbucket: حيث تعيش المستودعات والفرق.
- فضاءات Jira: مشاريع Jira أُعيدت تسميتها فضاءات في 2025.
- فضاءات Confluence: فضاء لكل فريق أو مشروع.
وأنا أبني منذ مدة جوابي الخاص على هذا، موجّهًا للمطورين: Webship Workspace.
من أين بدأ
بدأ كمجلد من سكربتات الشيل القديمة على بيئة LAMP، تلك التي كنا نبني بها توزيعات Drupal ومواقع العرض والاختبار. في 22 يوليو 2026 جلست مع Claude Code وأعدت بناءه في يوم طويل واحد: انتقل كل شيء إلى DDEV، وصار لكل مشروع حاوياته وقاعدة بياناته، وولدت لوحة تحكم ويب على العنوان workspace.ddev.site. هي مبنية بـ Node.js وHTMX وUIkit فقط، وتعمل داخل حاوية DDEV خاصة بها، وتبني المشاريع الحقيقية وتشغّلها وتوقفها وتنسخها احتياطيًا وتستعيدها، بينما يتدفق ناتج الطرفية الحي في الصفحة نفسها.
وفي اليوم نفسه حصلت على مساعد ذكاء اصطناعي: شريط جانبي في كل صفحة يعرف ما تنظر إليه، ويجيب كتابةً أو بالصوت، ويستطيع أن يفعل أشياء فعلًا داخل لوحة التحكم، لا أن يتحدث عنها فقط.

مساحة عمل واحدة تصير كثيرة
سرعان ما لم تعد المجلدات «مجرد مجلدات». Dev وTest وDemos وSandboxes وProjects تبني المواقع. وProducts وModules وThemes وRecipes وSite Templates تحمل ما نصدره للناس. ثم جاءت مساحات الذكاء الاصطناعي: Agents وSkills وPrompts وCommands، التي تكتبها وتعدّلها وتشاركها وتثبّتها بنقرة واحدة. ثم Docs وSpecs وDesigns وVideos وImages وAudio وGraphs وRAG. لكل منها صفحته ونطاقه الفرعي مثل dev.workspace.ddev.site وإجراءاته الخاصة وأسئلته الخاصة للمساعد.


الآن على npm: النواة وإضافاتها
صار Webship Workspace منشورًا على npm تحت النطاق @webship.co. النواة هي @webship.co/workspace (الإصدار 1.0.1). وهي الجزء الخفيف: مساحات العمل وأدوات البناء والإعدادات ومساعد الذكاء الاصطناعي ونظام الإضافات. وكل ما عدا ذلك إضافة، وقد نُشرت معها 49 حزمة من Webship:
- مساحات العمل: dev وtest وdemos وsandboxes وprojects وproducts وspecs وdesigns وdocs وvideo وaudio وimages وavatar وworklogs وlibraries وrag وgraph، وما يخص Drupal: modules وthemes وprofiles وrecipes وsite templates.
- مساحات الذكاء الاصطناعي: ai-agents وai-skills وai-prompts وai-commands.
- الاستضافة: Upsun وcPanel وDigitalOcean وAWS وAzure وAcquia وGoDaddy، على قاعدة استضافة مشتركة واحدة.
- منصات الشيفرة (Forges): GitHub وGitLab وBitbucket، على قاعدة مشتركة واحدة.
- بيئات تشغيل الحاويات: Docker وPodman وLando وDocksal وKubernetes، على قاعدة حاويات مشتركة واحدة.
- الميزات: Jira وGoogle Drive وGit وبيئة تطوير (IDE) داخل المتصفح، إضافةً إلى واجهة الإضافات المكتوبة بالأنواع (
@webship.co/workspace-plugin-api) لتكتب إضافتك بنفسك.
كل إضافة حزمة npm حقيقية لها مستودعها الخاص على github.com/webship/workspace-<name>، وتنضم إلى لوحة التحكم في أربع خطوات: require ثم activate ثم install ثم configure. وتستطيع فعل ذلك من صفحة Plugins في لوحة التحكم، أو من سطر الأوامر.

الفكرة الأكبر: نحن نعيش في مساحات عمل كثيرة
هذا ما يشغل بالي دائمًا. نحن لا نعمل في مساحة واحدة. نحن أصلًا ننتقل بين مساحات كثيرة كل يوم:
- فضاء الشركة: المشاريع والعملاء والإصدارات والاستضافة.
- فضاء المنظمة: منظمة أو مجتمع، بقواعده وناسه.
- فضاء العائلة: الخطط والصور والوثائق وواجبات الأولاد المدرسية.
- فضاء المدرسة وفضاء الجامعة: المقررات والمهام والبحوث والملاحظات.
- فضاء الفيديو: التسجيل والمونتاج والإنتاج، بأدواته وخطواته الخاصة.
وسيأتي الكثير غيرها. مساحة العمل لا يلزم أن تُصمَّم لمهمة واحدة. قد تكون غرفة تعمل فيها، أو مجلدًا بقدرات أكثر تقدمًا. مساحة الفيديو تعرف التسجيل والإنتاج. ومساحة المدرسة تعرف الدروس والمواعيد النهائية. وكل شركة تستطيع أن تصوغ مساحتها على مقاسها.
مترابطة بمواصفة واحدة
أجمل ما في الأمر أن مساحات العمل تتصل ببعضها، وتشترك في طريقة واحدة لوصف نفسها. كل مساحة تحمل:
- التوثيق والمواصفات: ما الغرض من هذا الفضاء وكيف يعمل.
- القواعد: ما المسموح، وما الذي يجب ألا يحدث أبدًا، وكيف تُسمّى الأشياء.
- الوكلاء والمهارات والموجّهات وأوامر الذكاء الاصطناعي: المساعدون الذين يعرفون هذا الفضاء.
- الإعدادات والإجراءات: ما تستطيع بناءه أو تشغيله أو نسخه احتياطيًا أو نشره هنا.
ولأن كل فضاء يتكلم المواصفة نفسها، يستطيع الذكاء الاصطناعي أن يتبعك من واحد إلى الآخر. يقرأ قواعد فضاء شركتك، ويستخدم مهارات فضاء الفيديو، ويحتفظ بالملاحظات في فضاء المستندات، دون أن تشرح له كل شيء من جديد. هنا أريد أن يمضي Webship Workspace: تخصيص أكثر، وأنواع أكثر من الفضاءات، وذكاء اصطناعي يفهمها كلها.
ثبّته
تحتاج إلى Node.js 20 أو أحدث، وDocker، وDDEV. ثبّت مساحة العمل من npm وأعدّها بأمر واحد:
# Node.js 20 or newer, Docker and DDEV
npm install -g @webship.co/workspace
webship-workspace init ~/workspace
افتح https://workspace.ddev.site. تبدأ فارغة: لا مجلدات عمل ولا إضافات. تضيف فقط ما تحتاج إليه.
لإضافة مساحة عمل، افتح Settings → Plugins، أو استخدم سطر الأوامر، مثلاً لمساحة عمل الفيديو (الأمر catalog يعرض كل ما يمكنك إضافته):
webship-workspace plugin require video
webship-workspace plugin activate video
webship-workspace plugin install video
webship-workspace plugin configure video
webship-workspace catalog
Webship Workspace على GitHub @webship.co/workspace على npm
يسعدني أن أعرف أي مساحات ستنشئها.