दस्तावेज़कमांड और कॉन्फिग

सीएलआई

बाइनरी nx है (nexy के रूप में भी स्थापित है)। uvx nexy new एक प्रोजेक्ट बनाता है (uvx uv के साथ आता है)। प्रोजेक्ट के वर्चुअल वातावरण के अंदर या uv run के माध्यम से हर दूसरे कमांड को चलाएं, उदाहरण के लिए uv run nexy dev: यही वह जगह है जहां आपके अपने पैकेज हैं।

आदेश

आदेश उपनाम यह क्या करता है
nx dev nx d विकास सर्वर: परिवर्तन पर संकलन, Vite, एचएमआर
nx start nx s संकलित आउटपुट पर उत्पादन सर्वर
nx build nx b उत्पादन निर्माण
nx new nx n एक परियोजना मचान
nx init nx i किसी मौजूदा प्रोजेक्ट में Nexy जोड़ें
nx add - src/components/ui में रजिस्ट्री या यूआरएल से एक यूआई घटक जोड़ें
nx migrate nx m Alembic या Aerich के साथ डेटाबेस माइग्रेशन बनाएं या लागू करें
nx check nx c टाइप-चेक: Python पर mypy, TypeScript पर tsc
nx format nx f प्रारूप Python (रफ), जेएस/टीएस (सुंदर), .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 ऑफ - निर्माण के बाद रफ़ और मायपी चलाता है
format --check पुनः लिखने के बजाय ऑफ-रिपोर्ट करें
test --client ऑफ - अकेले pytest के बजाय विटेस्ट भी चलाएं
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 इस क्रम में पूछता है: फ़ाइल-आधारित राउटर, प्रोजेक्ट प्रकार (वेब या एपीआई), क्लाइंट-साइड रूटिंग, क्लाइंट फ्रेमवर्क, ऐप को कैसे स्टाइल करें, उपनाम आयात करें, ओआरएम, डेटाबेस और डेटाबेस यूआरएल। प्रत्येक विकल्प का संक्षिप्त विवरण होता है और वर्तमान को हाइलाइट किया जाता है। जो प्रश्न लागू नहीं होते हैं उन्हें छोड़ दिया जाता है (एक एपीआई प्रोजेक्ट में कोई रूपरेखा या शैली नहीं होती है; कोई डेटाबेस नहीं चुनना क्योंकि ओआरएम डेटाबेस और यूआरएल को छोड़ देता है)। तीर कुंजी (या j/k, या एक संख्या) के साथ आगे बढ़ें, enter के साथ पुष्टि करें, ← या esc के साथ पिछले प्रश्न पर वापस जाएं, ctrl+c के साथ छोड़ें।

प्रश्न विकल्प
उपनाम आयात करें @ (@/components/... src/ को इंगित करता है), या कोई अन्य उपसर्ग जैसे ~ या #app
अंदाज Tailwind सीएसएस, UnoCSS, वेनिला सीएसएस, अन्य (कोई सीएसएस उपकरण नहीं, वेनिला के समान सादा स्टाइलशीट)
ओआरएम SQLModel, SQLAlchemy, कछुआ-ओआरएम, कोई डेटाबेस नहीं
डेटाबेस (ORM के साथ) SQLite, PostgreSQL, नियॉन, मायएसक्यूएल/मारियाडीबी, अन्य (आप यूआरएल टाइप करें)

चुने गए ORM के लिए डेटाबेस ड्राइवर इसके साथ स्थापित किया गया है (psycopg, pymysql, asyncpg या aiomysql), और यूआरएल .env पर लिखा गया है।

पैकेज स्थापित करने से पहले, nx new कनेक्शन की जाँच करता है। इसके बिना, यह इंस्टॉल को छोड़ देता है और आपको uv sync चलाने के लिए कहता है और आपके पैकेज मैनेजर को बाद में इंस्टॉल करने के लिए कहता है। एक के साथ, यह विलंबता और डाउनलोड गति को प्रिंट करता है, और कनेक्शन धीमा होने पर चेतावनी देता है (400 एमएस से अधिक, या 100 केबी/सेकेंड से कम)। प्रत्येक इंस्टाल लाइन टूल और उसके द्वारा भरे जाने वाले फ़ोल्डर को नाम देती है, उदाहरण के लिए 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 चालू होने पर क्लाइंट को बंडल करता है।

नेक्सी पर ही काम कर रहा हूं

इस भंडार के अंदर द्वार हैं:

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

अगले चरण

GitHub पर संपादित करें

Enter परिणाम खोलता है, Esc बंद करता है।