دستاویزاتکمانڈز اور تشکیل

سی ایل آئی

بائنری 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 - رجسٹری سے UI جزو یا یو آر ایل کو src/components/ui میں شامل کریں۔
nx migrate nx m Alembic یا Aerich کے ساتھ ڈیٹا بیس کی منتقلی بنائیں یا لاگو کریں
nx check nx c type-check: mypy on Python، tsc on TypeScript
nx format nx f فارمیٹ Python (ruff)، JS/TS (خوبصورت)، .nexy فائلیں
nx test - چلائیں pytest؛ --client vitest شامل کرتا ہے۔
nx skills - کوڈنگ ایجنٹوں کے لیے ہنر، AGENTS.md اور CLAUDE.md شامل کریں یا تازہ کریں

جھنڈے

حکم جھنڈا۔ طے شدہ
dev، start --port usePort، 3000
dev، start --host useHost، 0.0.0.0
build --check آف - تعمیر کے بعد رف اور مائیپی چلاتا ہے۔
format --check دوبارہ لکھنے کی بجائے آف رپورٹ
test --client off - اکیلے pytest کے بجائے vitest بھی چلائیں۔
test --no-server پر - اس وقت pytest کو چھوڑیں جب آپ صرف کلائنٹ ٹیسٹ چاہتے ہیں۔
new --template، -t کوئی نہیں - بغیر اشارے کے رجسٹرڈ ٹیمپلیٹ کو کلون کریں۔
new --no-agents ایجنٹ آن - اسکپ AGENTS.md اور ایجنٹ کی مہارت
add --ui، --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 » ... پڑھتے ہیں۔ ایک ناکام مرحلہ کمانڈ کے آؤٹ پٹ کی آخری لائنوں کو چھپانے کے بجائے پرنٹ کرتا ہے۔ وہ ٹرمینلز جو یونیکوڈ کو رینڈر نہیں کرسکتے ہیں + اور 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 اس ترتیب میں پوچھتا ہے: فائل پر مبنی روٹر، پروجیکٹ کی قسم (ویب یا API)، کلائنٹ سائیڈ روٹنگ، کلائنٹ فریم ورک، ایپ کو اسٹائل کرنے کا طریقہ، عرف درآمد کرنے کا طریقہ، ORM، ڈیٹا بیس اور ڈیٹا بیس URL۔ ہر آپشن کی مختصر تفصیل ہوتی ہے اور موجودہ کو نمایاں کیا جاتا ہے۔ جو سوالات لاگو نہیں ہوتے ہیں انہیں چھوڑ دیا جاتا ہے (ایک API پروجیکٹ کا کوئی فریم ورک یا اسٹائل نہیں ہوتا ہے؛ کوئی ڈیٹا بیس کو منتخب کرنے سے ORM ڈیٹا بیس اور URL کو چھوڑ دیتا ہے)۔ تیر والے بٹنوں (یا j/k، یا ایک نمبر کے ساتھ منتقل کریں، enter سے تصدیق کریں، ← یا esc کے ساتھ پچھلے سوال پر واپس جائیں، ctrl+c کے ساتھ چھوڑیں۔

سوال انتخاب
عرف درآمد کریں۔ @ (@/components/... src/ کی طرف اشارہ کرتا ہے)، یا کوئی اور سابقہ جیسے ~ یا #app
انداز Tailwind سی ایس ایس، UnoCSS، وینیلا سی ایس ایس، دیگر (کوئی سی ایس ایس ٹول نہیں، ونیلا جیسی سادہ اسٹائل شیٹ)
ORM SQLModel، SQLAlchemy، کچھوا-ORM، کوئی ڈیٹا بیس نہیں۔
ڈیٹا بیس (ایک ORM کے ساتھ) SQLite، PostgreSQL، Neon، MySQL / MariaDB، دیگر (آپ URL ٹائپ کرتے ہیں)

منتخب کردہ ORM کے لیے ڈیٹا بیس ڈرائیور اس کے ساتھ انسٹال ہوتا ہے (psycopg, pymysql, asyncpg یا aiomysql)، اور یو آر ایل کو .env پر لکھا جاتا ہے۔

پیکجز کو انسٹال کرنے سے پہلے، nx new کنکشن چیک کرتا ہے۔ ایک کے بغیر، یہ انسٹال کو چھوڑ دیتا ہے اور آپ کو uv sync چلانے اور آپ کے پیکیج مینیجر کے بعد میں انسٹال کرنے کو کہتا ہے۔ ایک کے ساتھ، یہ تاخیر اور ڈاؤن لوڈ کی رفتار کو پرنٹ کرتا ہے، اور کنکشن سست ہونے پر خبردار کرتا ہے (400 ms سے زیادہ، یا 100 KB/s سے کم)۔ ہر انسٹال لائن اس ٹول اور فولڈر کا نام دیتی ہے جو اسے بھرتا ہے، مثال کے طور پر pnpm install node_modules یا uv sync .venv۔

کیا dev، build اور start تخلیق کرتے ہیں۔

ان کے چلانے سے پہلے، تینوں کمانڈز src/ اور اس کے نیچے ہر فولڈر میں ایک خالی __init__.py بناتی ہیں جس میں .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 بند کرتا ہے۔