راهنمای ایجنت
قواعد کار ایجنتها روی TDS. منبع حقیقت قواعد اجباری کپی کد است؛ سرور MCP آنها را در دستورالعمل اولیه، ابزار کپی کد و منبع کپی کد میفرستد.
قواعد اجباری (همهٔ سایتها)
اول از همه: هویت پروژه را در `theme/identity.ts` تعریف کنید (قبل از هر صفحه). بدون آن خروجی تأیید نمیشود.
- داکت لوگوی بالا (TopBar) — فقط لوگو و نام برند؛ هیچ منو یا جستجو بالای صفحه نیست.
- داکت پایین شیشهای — ناوبری اصلی؛ شش کلید ثابت: منو، جستجو، حالت روز/شب، صدا، پروفایل، ساعت/تقویم.
- داخل داکت — منو (آیتمهای ناوبری)، روش جستجو و نقطهٔ پایانی، و حالت واکنشگرای داکت (چیدمان، موبایل، پوشه) از هویت پروژه. پاپآپ جستجو اجباری است: کلید جستجوی داکت باید یک پاپآپ زنده باز کند — کپی کد با کپی کد (کپی کد یا کپی کد)، کپی کد و کپی کد، و کپی کد (از کپی کد) با کپی کد روی کپی کد. نوار جستجوی درونخطی یا کلید مرده مجاز نیست (کپی کد).
- کشیدن پیشفرض بسته — `channels.drag = "off"`؛ انتخاب متن و راستکلیک فقط در ویرایشگرها.
- چاپ، خواندن بلند، صدا و ژستها — برای همهٔ کامپوننتها در `channels` تنظیم شوند.
- هشدارها — جایگاه، مدت، تأیید کنش مخرب و واگردانی در `alerts` و قالب پروژه طراحی شوند.
- ورود موفق — `signInSuccess(user)` و انیمیشن ورود از همان قالب پروژه (`theme/arrival.ts`): اطلاعات واقعی کاربر (نام و نام خانوادگی، `avatarUrl`، `meta` مثل لوکیشن/نقش) با انیمیشن نشان داده میشود و تصویر پروفایل با `ctx.flyTo` روی آیکون حساب داک مینشیند؛ سپس داک لاگینشده میشود. کاربرِ از قبل لاگینشده پس از reload نمایش ورود نمیبیند: نشست با `setTdsSession(user)` (و `null` برای خروج) بیصدا بازیابی میشود. نمایش بدون `flyTo` رد میشود (`auth/arrival-target`).
- قالب کامل برای هر پروژه — پوشهٔ `theme/` با identity، meta، theme.css، arrival و index.
- فقط توکن معنایی `--tds-*` — بدون رنگ خام و گرادیان آزاد.
- RTL، دسترسپذیری و واکنشگرایی — WCAG 2.2 AA، خواص منطقی، هدف لمسی ≥ ۴۴px.
- اول کیت، بعد هر چیز دیگر — در صفحهها از کامپوننتهای دیزاینکیت استفاده کنید (Button، Input، Table، Heading، Card و …) و عنصر خام (کپی کد، کپی کد، کپی کد، کپی کد) نیاورید. اگر کامپوننت یا الگو یا توکنی در دیزاینکیت نیست، به کاربر اطلاع دهید تا آن را در پروژهٔ دیزاینکیت تعریف کند.
- کانالهای کامپوننتها — هر کپی کد باید کپی کد (یا کپی کد) از هویت پروژه داشته باشد.
- خواندن بلند و ژستها — کپی کد (روشن/خاموش از داکت) و کپی کد (فعلاً فقط کپی کد) در دیزاینکیت 0.1.2 پیاده شدهاند. ژستهای دیگر (longPress، swipe، drag) هنوز پیاده نشدهاند؛ اگر پروژهای به آنها نیاز دارد، به کاربر اطلاع دهید تا در دیزاینکیت تعریف شوند.
- صدا، پادکست و موسیقی فقط با پخشکنندهٔ داک — فهرست اپیزودها با الگوی کپی کد از کپی کد و هر پخش دیگر با کپی کد/کپی کد از کپی کد. پخشکنندهٔ محلی (عنصر کپی کد، کپی کد، کپی کد، کتابخانهٔ پخشکننده یا کوچککنندهٔ اختصاصی) ممنوع است و در گیت کپی کد خطا میگیرد؛ سه نما (کوچک، کوچکشده/دیسک، بزرگ)، صف، دریافت/اشتراک، سرعت و ادامهٔ پخش با تغییر صفحه از خود پخشکننده میآید.
چرخهٔ ساخت صفحه
نیاز صفحه → کپی کد → الگوی مناسب (کپی کد) → توکنهای تم → انتخاب کامپوننت → تولید کد → کپی کد → تحویل فایلها.
ممنوع
- تغییر کامپوننتهای مشترک؛ فقط تم تازه (کپی کد، metadata و پیشنمایش) مجاز است.
- رنگ خام، گرادیان آزاد، و مقدار ثابت بهجای توکن معنایی.
- تحویل خروجی بدون تأیید کپی کد.
- انتقال مستقیم پس از ورود بدون کپی کد، و نمایش ورودی که تصویر پروفایل را روی آیکون حساب داک نمینشاند.
- کلید جستجوی داک بدون پاپآپ (کلید مرده یا نوار جستجوی درونخطی).
- ساخت پخشکنندهٔ صوتی محلی (عنصر کپی کد/کپی کد، کتابخانهٔ پخشکننده، ردیف کنترل یا کوچککنندهٔ اختصاصی) بهجای پخشکنندهٔ داک و الگوی کپی کد.
راهاندازی پروژهٔ جدید: پرامپت شروع پروژهٔ جدید.