الوثائقالأوامر والتكوين

سطر الأوامر

الثنائي هو nx (مثبت أيضًا كـ nexy). uvx nexy new ينشئ مشروعًا (uvx يأتي مع uv). قم بتشغيل كل الأوامر الأخرى داخل البيئة الافتراضية للمشروع، أو من خلال uv run، على سبيل المثال uv run nexy dev: هذا هو المكان الذي توجد فيه الحزم الخاصة بك.

الأوامر

الأمر الاسم المستعار ماذا يفعل
nx dev nx d خادم التطوير: ترجمة عند التغيير، Vite، HMR
nx start nx s خادم الإنتاج على الإخراج المترجم
nx build nx b بناء الإنتاج
nx new nx n مشروع سقالة
nx init nx i إضافة Nexy إلى مشروع موجود
nx add - إضافة مكون واجهة المستخدم من السجل أو عنوان URL إلى src/components/ui
nx migrate nx m إنشاء أو تطبيق عمليات ترحيل قاعدة البيانات باستخدام Alembic أو Aerich
nx check nx c التحقق من النوع: mypy على Python، tsc على TypeScript
nx format nx f تنسيق Python (راف)، JS/TS (أجمل)، .nexy ملفات
nx test - تشغيل pytest؛ --client يضيف الأقوى
nx skills - إضافة أو تحديث المهارات، AGENTS.md و CLAUDE.md لوكلاء الترميز

أعلام

الأمر العلم الافتراضي
dev, start --port usePort, 3000
dev, start --host useHost, 0.0.0.0
build --check إيقاف - يعمل ruff و mypy بعد البناء
format --check إيقاف - تقرير بدلاً من إعادة الكتابة
test --client إيقاف - قم أيضًا بتشغيل vitest بدلاً من pytest وحده
test --no-server تشغيل - تخطي pytest عندما تريد فقط اختبارات العميل
new --template، -t لا شيء - استنساخ قالب مسجل بدون مطالبات
new --no-agents وكلاء على - تخطي AGENTS.md ومهارات الوكيل
add --ui، --url إيقاف - فرض اسم التسجيل أو عنوان URL عندما يكون غامضًا
add --all، -a إيقاف - إضافة كل مكون من مكونات التسجيل
add --sha256 لا شيء - الملخص المتوقع لمكون بعيد؛ عدم التطابق إجهاض
migrate --init إيقاف - اكتب الإعداد Alembic أو Aerich
migrate --upgrade، -u إيقاف - تطبيق الهجرات بدلاً من كتابة واحدة جديدة
migrate --message، -m فارغ - اسم المراجعة الجديدة

الإخراج

الخطوات الطويلة (تثبيت الحزم، التجميع، التجميع) تظهر قرصًا مع الوقت المنقضي، ثم اترك سطرًا واحدًا خلفك: ✔ uv sync .venv 1.4s. مجموعة من الخطوات (تثبيتات nx new) تعرض شريط التقدم مع عدد الخطوات المكتملة، ━━━━──── 2/5؛ خطوة واحدة (nx add) تظهر شريطًا ينبض أثناء تشغيله. تقرأ سجلات التطوير GET » /about 200 in 12ms للطلبات و vite » ... لـ Vite. تؤدي الخطوة الفاشلة إلى طباعة الأسطر الأخيرة من مخرجات الأمر بدلاً من إخفائها. المحطات الطرفية التي لا يمكنها عرض Unicode تحصل على + و x.

أخطاء أثناء تشغيل nx dev

حفظ ملف معطل لا يوقف الخادم أبدًا. يتم الإبلاغ عن ملف .py يحتوي على خطأ في بناء الجملة بملفه وسطره، ويستمر الخادم في تقديم آخر إصدار عامل حتى تقوم بإصلاحه:

  nexy » error  src/routes/users.py:3  SyntaxError: invalid syntax     1 | import json    2 |  > 3 | def GET(:                ^    4 |     x = 1    5 |     return {"v": 2}   Fix it and save: the server keeps its last working version.

يتم الإبلاغ عن الملف الذي يتم تحليله ولكنه يفشل عند تحميل التطبيق (استيراد مفقود، خطأ على مستوى الوحدة) بنفس الطريقة وينتظر nx dev عملية الحفظ التالية؛ لا يتم تقديم أي شيء حتى يتم تحميل التطبيق مرة أخرى. يقرأ الحفظ الصالح nexy » update <file> أثناء إعادة تحميل الخادم. Markdown الملفات الموجودة خارج src/routes، مثل README.md، ليست صفحات ولا تؤدي إلى أي شيء. nx start أكثر صرامة: فهو يخرج بالرمز 1، ولا يبدأ بأي شيء، إذا تعذر تحميل ملف المسار.

أسئلة nx new

nx new يسأل، بهذا الترتيب: جهاز التوجيه المستند إلى الملف، ونوع المشروع (الويب أو واجهة برمجة التطبيقات)، والتوجيه من جانب العميل، وإطار عمل العميل، وكيفية تصميم التطبيق، واستيراد الاسم المستعار، وORM، وقاعدة البيانات، وعنوان URL لقاعدة البيانات. يحتوي كل خيار على وصف قصير ويتم تمييز الخيار الحالي. يتم تخطي الأسئلة التي لا تنطبق (مشروع API ليس له إطار عمل أو نمط؛ اختيار لا توجد قاعدة بيانات حيث يتخطى ORM قاعدة البيانات وعنوان URL). انتقل باستخدام مفاتيح الأسهم (أو j/k، أو رقم)، وأكد بـ enter، وارجع إلى السؤال السابق بـ ← أو esc، وانسحب بـ ctrl+c.

سؤال الاختيارات
استيراد الاسم المستعار @ (@/components/... يشير إلى src/)، أو بادئة أخرى مثل ~ أو #app
النمط Tailwind CSS، UnoCSS، Vanilla CSS، أخرى (لا توجد أداة CSS، نفس ورقة الأنماط البسيطة مثل Vanilla)
ORM SQLModel، SQLAlchemy، Tortoise-ORM، لا توجد قاعدة بيانات
قاعدة البيانات (مع ORM) SQLite، PostgreSQL، Neon، MySQL / MariaDB، أخرى (اكتب عنوان URL)

يتم تثبيت برنامج تشغيل قاعدة البيانات لـ ORM المختار معه (psycopg، pymysql، asyncpg أو aiomysql)، ويتم كتابة عنوان URL إلى .env.

قبل تثبيت الحزم، nx new يتحقق من الاتصال. وبدون ذلك، فإنه يتخطى عمليات التثبيت ويطلب منك تشغيل uv sync وتثبيت مدير الحزم الخاص بك لاحقًا. باستخدام أحدهما، فإنه يطبع زمن الوصول وسرعة التنزيل، ويحذر عندما يكون الاتصال بطيئًا (أكثر من 400 مللي ثانية، أو أقل من 100 كيلو بايت / ثانية). يقوم كل سطر تثبيت بتسمية الأداة والمجلد الذي تملأه، على سبيل المثال pnpm install node_modules أو uv sync .venv.

ما يخلق dev و build و start

قبل تشغيلها، تقوم الأوامر الثلاثة بإنشاء __init__.py فارغًا في src/ وفي كل مجلد تحته يحتوي على ملف .py أو .nexy، لذلك يستورد مسار مثل src/routes/users.py بنفس الطريقة في كل منهم. لا يتم لمس الملفات الموجودة أبدًا، ويقوم nx dev بنفس الشيء مرة أخرى عند إضافة مجلد. ينتقل رمز البايت Python إلى __nexy__/__pycache__، لذلك لا يظهر مجلد __pycache__ بجوار مصادرك.

اللغة

يتحدث سطر الأوامر اللغات الإنجليزية والصينية والهندية والإسبانية والبرتغالية والفرنسية والألمانية واليابانية والروسية والكورية والإندونيسية والعربية. يستخدم أول ما يدعمه:

  1. ومتغير البيئة NEXY_LANG (NEXY_LANG=ja nx dev)؛
  2. المتغيرات المحلية لصدفتك (LC_ALL، LC_MESSAGES، LANG، ثم LANGUAGE)؛
  3. لغة نظام التشغيل الخاص بك.

أي شيء آخر هو الإنجليزية، وكذلك أي رسالة لم تصلها لغة ما بعد. تتم ترجمة ما يطبعه nx فقط: تظل أخطاء المترجم وعمليات التتبع ومخرجات الأدوات التي يتم تشغيلها كما هي. لم تتم مراجعة الترجمات من قبل المتحدثين الأصليين بعد: نرحب بالتصحيحات كطلبات سحب إلى nexy/modules/i18n/<language>.json.

بناء السلوك

nx build يجمع المسارات، ثم يجمع العميل عندما يكون useVite قيد التشغيل.

العمل على Nexy نفسه

داخل هذا المستودع البوابات هي:

python scripts/verify.py             # lint, format, typecheck, testspython scripts/audit_dependencies.py # supply-chain audit against the lock

الخطوات التالية

حرِّر على GitHub

Enter يفتح النتيجة، وEsc يغلق.