ДокументацияКоманды и конфигурация

интерфейс командной строки

Бинарный файл - 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__ рядом с вашими источниками не отображается.

Язык

Командная строка поддерживает английский, китайский, хинди, испанский, португальский, французский, немецкий, японский, русский, корейский, индонезийский и арабский языки. Он использует первый из них, который поддерживает:

  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 закрывает.