ДокументацияКоманды и конфигурация
интерфейс командной строки
Бинарный файл - 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 добавляет vitest |
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 |
none - ожидаемый дайджест удаленного компонента; несоответствие прерывается |
migrate |
--init |
выкл. - записать настройку Alembic или Aerich |
migrate |
--upgrade, -u |
off - применять миграции вместо записи новой |
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 спрашивает в следующем порядке: файловый маршрутизатор, тип проекта (веб или API), маршрутизация на стороне клиента, клиентская платформа, стиль приложения, псевдоним импорта, ORM, база данных и URL-адрес базы данных. Каждая опция имеет краткое описание, а текущая выделена. Неподходящие вопросы пропускаются (у проекта API нет структуры или стиля; выберите Нет базы данных, поскольку ORM пропускает базу данных и URL-адрес). Перемещайтесь с помощью клавиш со стрелками (или j/k или цифр), подтвердите с помощью enter, вернитесь к предыдущему вопросу с помощью ← или esc, выйдите с помощью ctrl+c.
| Вопрос | Варианты выбора |
|---|---|
| Импортируйте псевдоним | @ (@/components/... указывает на src/) или другой префикс, например ~ или #app |
| Стиль | Tailwind CSS, UnoCSS, Vanilla CSS, Другое (нет инструмента CSS, та же простая таблица стилей, что и Vanilla) |
| ORM | SQLModel, SQLAlchemy, Черепаха-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__ рядом с вашими источниками не отображается.
Язык
Командная строка поддерживает английский, китайский, хинди, испанский, португальский, французский, немецкий, японский, русский, корейский, индонезийский и арабский языки. Он использует первый из них, который поддерживает:
- переменная среды
NEXY_LANG(NEXY_LANG=ja nx dev); - переменные локали вашей оболочки (
LC_ALL,LC_MESSAGES,LANG, затемLANGUAGE); - язык вашей операционной системы.
Все остальное является английским, как и любое сообщение, которого еще нет в языке. Переводится только то, что выводит 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
Следующие шаги
- Начало работы: первый проект
- Тестирование: что выполняет
nx test - Развертывание:
buildиstartв производстве