البدء السريع
استخدم IBM Bob لبناء واجهة ويب لواجهة برمجة Node.js Express API موجودة وتشغيلها في Docker، باستخدام الأوضاع وسير عمل الموافقة والتكرار الوكيلي.
مقدمة
IBM Bob هو شريك ذكاء اصطناعي لدورة حياة تطوير البرمجيات (SDLC) يعزز سير عملك الحالي. في هذا الدرس التعليمي، تبدأ بواجهة برمجة TypeScript Express REST API موجودة تُدير قوائم المهام وتستخدم Bob لبناء واجهة ويب فوقها. لا تحتاج إلى خبرة في Node.js أو React أو TypeScript لإتمام هذا الدرس.
الميزات الرئيسية التي ستتعلمها
تستخدم ثلاث قدرات جوهرية في Bob لبناء واجهة المستخدم:
- الأوضاع: شخصيات متخصصة تُكيّف سلوك Bob لمهام محددة.
- سير عمل الموافقة: راجع خطط Bob قبل تنفيذها.
- التكرار مع Bob: أجرِ محادثة مع Bob لتحسين العمل بعد رؤية النتيجة.
المتطلبات المسبقة
لإتمام هذا الدرس، تحتاج إلى ما يلي:
IBM Bob IDE
نزّل IBM Bob وثبّته على حاسوبك. Bob هو تطبيق بيئة تطوير متكامل مستقل وليس امتدادًا.
Docker
استخدم Docker لتشغيل الإنشاءات في حاويات. يمنعك Docker من الحاجة إلى تثبيت Node.js أو التبعيات محليًا. إذا لم يكن لديك Docker، يمكنك استخدام أداة إدارة حاويات بديلة مثل Podman.
Git
ثبّت Git لاستنساخ مستودع المثال. يستخدم Bob Git لاستنساخ المستودعات مباشرةً من بيئة التطوير.
إعداد مساحة عملك
شغّل IBM Bob واستنسخ مستودع المثال للبدء بالعمل مع تطبيق Node.js.
تشغيل IBM Bob
شغّل تطبيق IBM Bob على حاسوبك.
فتح واجهة دردشة Bob
إذا لم تكن واجهة دردشة Bob مرئية، افتحها بالنقر على أيقونة Bob بجانب شريط التنقل أو باستخدام الاختصار Option + Command + B (Mac) أو Ctrl + Alt + B (Windows).

تتفاعل مع Bob بكتابة طلبات باللغة الطبيعية في حقل الإدخال.
استنساخ مستودع الدرس
استنسخ المستودع الذي يحتوي على التطبيق المثال باتباع الخطوات التالية:
- انقر أيقونة الملفات في الزاوية العلوية اليسرى من لوحة Bob IDE.
- انقر Clone Repository والصق URL المستودع التالي.
- عندما يسأل Bob أين تريد حفظ المستودع، اختر أي موقع تريده.
https://github.com/IBM/bob-demo.git
فتح المستودع
عندما يسألك Bob إذا كنت تريد فتح المستودع المستنسخ انقر Open. إذا سأل Bob "Do you trust the authors of the files in the folder?"، انقر Yes, I trust the authors.
يعرض المستكشف ملفات المشروع، وتفتح لوحة دردشة Bob على الجانب. تعمل من مجلد bob-get-started/express-todo-api-modern.

الانتقال إلى المشروع
في حقل إدخال دردشة Bob، شغّل الأمر التالي للانتقال إلى مجلد express-todo-api-modern. سيطلب Bob إذنك لتشغيل أمر تغيير المجلد. انقر Run للسماح لـ Bob بتغيير المجلدات.
Navigate to the bob-get-started/express-todo-api-modern folder.
يؤكد Bob انتقاله إلى المجلد ويصف محتوياته.
استكشاف الـ API بوضع Ask
قبل تغيير أي شيء، انتقل إلى وضع Ask في Bob. انقر قائمة اختيار الوضع المنسدلة على يسار حقل الإدخال واختر Ask، أو اكتب /ask في الدردشة.

يمكن لوضع Ask قراءة الملفات فقط، وليس كتابتها. لا يمكن لـ Bob تغيير أي شيء في هذا الوضع، لذا فهو آمن للاستكشاف. الأوضاع هي إحدى الطرق التي يحترم فيها Bob مبدأ الأذونات الدنيا.
اطلب من Bob شرح المشروع:
Explain what this application does and how it works.سيقرأ Bob المشروع ويشرح ما يفعله.
تشغيل الـ API في Docker
التبديل إلى وضع Agent
اختر Agent في محدد الوضع، أو اكتب /agent في الدردشة. يتيح وضع Agent لـ Bob كتابة الكود وتعديله وإعادة هيكلته. لا يزال Bob يطلب الإذن قبل كل عملية.
إعداد الموافقة التلقائية
ابحث عن مبدّل الموافقة التلقائية في الزاوية السفلية اليمنى من النافذة تحت قائمة Permissions. تأكد من تحديد Read فقط للموافقة التلقائية. يُشغّل Bob الأوامر للقراءة فقط تلقائيًا، لكنه يطلب الموافقة لأي أمر يُعدّل الملفات أو يعمل في الطرفية.

تهيئة Bob في مشروعك
شغّل /init في لوحة دردشة Bob ليُنشئ Bob ملف AGENTS.md الجذري وملفات قواعد AGENTS.md.
يُخبر ملف AGENTS.md الجذري Bob بالبنية العامة للمشروع واتفاقياته وأهدافه حتى يتمكن Bob من كتابة كود يناسب مشروعك. بدونه، يبدأ Bob من الصفر في كل مرة لأن Bob عديم الذاكرة.
ملفات القواعد في .bob هي المكان الذي يُنشئ فيه Bob ملفات AGENTS.md لكل من أوضاعه: Agent وPlan وAsk. لكل وضع مجموعة مختلفة من القواعد التي توجّه سلوك Bob في ذلك الوضع.
/initسيطلب Bob الإذن لإنشاء ملفات AGENTS.md. انقر Approve todo tools for task لإنشاء الملفات. بمجرد إنشاء Bob لجميع ملفات AGENTS.md، سترى الملفات التالية:

بناء وتشغيل الـ API في Docker
اطلب من Bob إنشاء Dockerfile وتشغيل الحاوية:
Create a Dockerfile for this API using Node 22 and run it on port 3000.
Don't install dependencies locally.
The Dockerfile handles all installations.
Once you create the Dockerfile, build the image and start the container.سيطلب Bob منك الموافقة على بناء الصورة وتشغيل الحاوية. انقر Approve todo tools for task وApprove edit tools for task.
لأنك فعّلت الموافقة التلقائية للقراءة فقط، سيطلب Bob إذنك لتشغيل أوامر Execute. انقر I understand the risks ثم Approve للسماح لـ Bob بتنفيذ الأوامر نيابةً عنك.
قد يجد Bob مشكلة في NPM كما يلي. وافق على الإصلاحات التي يقترحها Bob:
The build failed because there's no package-lock.json file.
I need to update the Dockerfile to use npm install instead of npm ci:
الـ API الآن يعمل ومتاح.
إضافة مهمة إلى قائمة المهام
لاختبار الـ API، الصق الأمر التالي مباشرةً في لوحة دردشة Bob. يضيف هذا الأمر مهمة إلى قائمة المهام بإرسال طلب POST إلى الـ API:
curl -X POST http://localhost:3000/api/todos \
-H "Content-Type: application/json" \
-d '{"title": "Build a web UI"}'
Give me the response in a table format with two columns: Field and Valueيعرض لك Bob الاستجابة التي تؤكد إمكانية إضافة مهام إلى قائمة المهام عبر الـ API. يعرض Bob استجابةً مشابهة لما يلي:
| الحقل | القيمة |
|---|---|
| id | a9d24d57-d242-4ed6-96f7-bb9f3f8c39a8 |
| title | Build a web UI |
| completed | false |
| createdAt | 2026-06-08T17:22:39.643Z |
إيقاف وإزالة الحاوية
اطلب من Bob إيقاف الحاوية وإزالتها. ستبني حاوية جديدة مع واجهة الويب في القسم التالي:
Stop and remove the running container and Docker image.التخطيط لواجهة الويب مع Bob
بدء محادثة جديدة
انقر علامة الزائد في أعلى واجهة الدردشة لبدء محادثة جديدة ومسح نافذة السياق.

بدء محادثة جديدة يمسح نافذة السياق، مما:
- يمنع نقاش التخطيط السابق من استهلاك ميزانية token.
- يُبقي سياق التنفيذ مُركّزًا على الخطة المعتمدة.
- يقلل خطر تشابك تعليمات التخطيط والتنفيذ لدى Bob.
التخطيط لواجهة الويب
قبل تعديل الكود، انتقل إلى وضع Plan حتى يتمكن Bob من وضع خطة لكيفية بناء واجهة الويب. انقر قائمة الوضع المنسدلة واختر Plan، أو اكتب /plan في الدردشة.
اطلب من Bob التخطيط لواجهة الويب ui-plan.md في مجلد مشروع express-todo-api-modern. سيطلب Bob استخدام أدوات الـ skill والـ subagents لإنشاء الخطة. انقر Approve skill tools for task للسماح لـ Bob باستخدام أدوات الـ skill، وApprove subagent tools for task للسماح لـ Bob باستخدام subagents، وApprove edit tools for task لحفظ الخطة.
Make a plan to add a React TypeScript web UI to this todo app using Vite.
The UI needs to:
- Display all existing tasks fetched from GET /api/todos
- Add new tasks using POST /api/todos
- Mark tasks as complete or incomplete using PUT /api/todos/:id
Constraints:
- Do not modify the existing Express API or its endpoints
- Serve both the API and React frontend from a single Docker container using a multi-stage build
- Keep the implementation simple: no authentication, no client-side routing, no external state management library
- run `npm install` inside the Dockerfile
Save the plan to a file named `ui-plan.md` in the express-todo-api-modern project directory.قد يطرح Bob أسئلة توضيحية لفهم المتطلبات بشكل أفضل. يمكنك الإجابة على الأسئلة أو إخبار Bob بفعل ما يوصي به.

راجع الخطة قبل إخبار Bob بتنفيذها. انقر ui-plan.md في المستكشف لفتحها.
بناء واجهة ويب مع Bob
طلب من Bob بناء واجهة الويب
انتقل إلى وضع Agent بالنقر على قائمة الوضع المنسدلة واختيار Agent، أو اكتب /agent في الدردشة.
اطلب من Bob بناء واجهة المستخدم ووضعها في حاوية وتشغيلها:
Implement the plan `ui-plan.md` you outlined to build the web UI
containerize the application with Docker, and run it.
Don't install dependencies locally. The Dockerfile handles all installations.سيقرأ Bob ui-plan.md، ويعرض الملفات التي سيُنشئها أو يعدّلها، ثم يبني الحاوية ويشغّلها. انقر Approve من طلبات أدوات Bob.
لأنك فعّلت الموافقة التلقائية للقراءة فقط، سيطلب Bob إذنك لتشغيل أوامر Execute. انقر I understand the risks ثم Approve للسماح لـ Bob بتنفيذ الأوامر نيابةً عنك.
إصلاح فشل الإنشاء
أحيانًا قد تفشل المحاولة الأولى لـ Bob في بناء واجهة المستخدم والحاوية بسبب أخطاء في الكود أو Dockerfile. يعرض Bob رسالة الخطأ ويقترح إصلاحًا. التكرار في التطوير جزء من كتابة الكود مع Bob.
فيما يلي بعض الأخطاء والإصلاحات المحتملة التي قد تواجهها:
The build failed because `npm ci` requires a package-lock.json file.
Let me update the Dockerfile to use `npm install` instead.Vite can't find index.html. The issue is that index.html is in the `public` directory
but Vite expects it in the root. Let me move it to the correct location.فتح واجهة الويب في متصفحك
بمجرد تشغيل الحاوية، يعطيك Bob ملخصًا لما أنجزه.
افتح http://localhost:3000/index.html في متصفحك. جرّب إضافة مهمة جديدة باستخدام حقل الإدخال للتأكد من أن الـ API يعمل بشكل صحيح.

تخصيص واجهة المستخدم
طلب من Bob تحديث الأنماط
خصّص واجهة المستخدم بإخبار Bob ما هو الخط ولون الخط ولون الخلفية الذي تريده. فيما يلي بعض الخطوط التي يمكنك الاختيار منها:
- Inter: اختيار شائع لتطبيقات الويب
- Georgia: خط serif كلاسيكي، دافئ وسهل القراءة
- JetBrains Mono: خط monospace بإحساس أداة المطوّر
اختر لون خط ولون خلفية. في لوحة دردشة Bob، صِف اختياراتك باللغة الطبيعية. فيما يلي مثال على التخصيص:
Update the styles of the web UI.
Use the Inter font.
Dark navy background.
White text.يقترح Bob تعديلات على أنماط مكوّن React. راجع الفرق وانقر Save لقبول التغييرات.
إعادة بناء الحاوية وعرض تغييراتك
الحاوية الجارية لا تزال تخدم الأنماط القديمة. اطلب من Bob إعادة البناء وإعادة التشغيل حتى ترى تغييراتك:
Rebuild the Docker image and restart the container with the updated styles.حدّث http://localhost:3000/index.html في متصفحك لرؤية التصميم المحدّث.
لأن هذا الـ API يخزن بياناته في الذاكرة، عند إعادة بناء حاوية Docker، تُعاد تهيئة قائمة المهام إلى المهام الافتراضية. في تطبيق حقيقي مع قاعدة بيانات، ستستمر بياناتك عبر إعادة بناء الحاوية.

التنظيف
عند الانتهاء، اطلب من Bob إيقاف الحاوية وإزالتها:
Stop and remove the running container and the Docker image.سيطلب Bob الموافقة لتشغيل الأوامر ويؤكد عند إزالة الحاوية والصورة.
الخطوات التالية
في هذا الدرس، استخدمت Bob لبناء واجهة ويب لـ Express API موجودة وتشغيل النتيجة في Docker. استخدمت وضع Ask لاستكشاف المشروع بأمان، ووضع Plan لمراجعة نهج Bob، ووضع Agent لبناء واجهة المستخدم وتخصيصها، وسير عمل الموافقة للبقاء في السيطرة على كل تغيير. استمر في البناء على ما تعلمته بالموارد التالية:
- اقرأ إرشادات أمان Bob لتتعلم كيفية تشغيل Bob بأمان وحماية كودك وبيانات الاعتماد الخاصة بك.
- اقرأ أفضل ممارسات Bob لتتعلم استراتيجيات فعّالة للاستعلام واختيار الوضع وسير العمل لاستخدام Bob.
- استكشف دروس البدء في Bob لتتعلم المزيد عن قدرات Bob.
- اتّبع درس تحديث Node.js Express API لممارسة استخدام Bob في مهمة إعادة هيكلة حقيقية.