NODERYX
FRAMEWORK v0.7.1

GETTING STARTED

BUILDING

PRODUCTION

DEVICES

REFERENCE

NODERYX / DOCS / GETTING STARTED / 04
GETTING STARTED / 04

Framework commands

The complete Noderyx CLI: how to run it, what every command does, and which flags matter.

01

Three ways to run a command

The CLI is installed with the framework, so it is always available inside a project. Pick whichever form suits your shell—they execute the same code.

TERMINAL
npx noderyx make:controller PostController # via npx npm run noderyx -- make:controller PostController # via npm script noderyx make:controller PostController # after a global install
NOTE

npm swallows flags unless you separate them with --. Write npm run live -- 8080, not npm run live 8080.

02

See everything at once

The CLI prints its own reference, which is always correct for the version you have installed.

TERMINAL
npx noderyx help
03

Project and server commands

Creating, serving, building, and updating an application.

new <project> Scaffold an application. Flags: --database=mysql|postgres|mongo, --local, --no-install.
serve [--watch] Run the application. --port and --host override .env.
live [port|auto] Watch files, restart, and refresh the browser. --strict-port fails instead of choosing another port.
port:check [port] Report whether a port is free, with a failing exit code when it is not.
build [views] [out] Render every view to static HTML—defaults to resources/views into public/generated.
update [version|tag] Guarded framework update. --dry-run previews; --no-test skips the test gate.
qa (or check) Inspect the project and every view. --json prints the report; --strict fails on warnings too.
help Print the command reference.
04

Checking the project

The qa command parses every view, checks the files a project must have, and reports accessibility and template problems with the line that caused them. It needs no server and no database, so it is cheap enough to run on every commit.

TERMINAL
npx noderyx qa npx noderyx qa --strict # warnings fail too npx noderyx qa --json # machine-readable report
NOTE

check is an alias for qa. The exit code is 1 when there is any error, or when --strict is given and there is any warning—so it works as a CI gate without parsing the output.

05

What the check looks for

Errors are things that will not work; warnings are things that will work but should not ship. Each issue carries a code, so a category can be filtered or tracked over time.

template-syntax Error. The view does not parse—reported with the offending line.
native-unsupported Error. A native view uses an element the native renderer cannot produce.
missing-file Error. package.json, noderyx.config.js, or public/cool.css is absent.
missing-views Error for web views, warning for native ones.
viewport / page-title Warning. A page has no responsive viewport metadata, or no title.
image-alt Warning. An img has no alt attribute—use alt="" for decorative images.
control-name Warning. A link or button has neither visible text nor aria-label.
view-link Warning. An internal href has no matching view file.
NOTE

view-link only knows about view files, so a route registered in server.js and rendered through a controller is reported even though it works. Verify the route before treating one as a defect.

06

Generators

Generators write a single file into the correct directory using the project's own conventions. They never overwrite an existing file.

TERMINAL
npx noderyx make:controller UserController npx noderyx make:model User --table=users npx noderyx make:view pricing npx noderyx make:middleware Authenticate npx noderyx make:observer UserObserver npx noderyx make:migration create_users --table=users npx noderyx make:seeder UserSeeder npx noderyx make:command SendReports --signature=reports:send npx noderyx make:package billing
NOTE

Names are normalised: make:model users and make:model User both produce app/Models/User.js.

07

Database commands

Migrations track what has already run, so applying them repeatedly is safe. Seeders are ordinary functions you can run selectively.

migrate Apply every pending migration in timestamp order.
migrate:status List migrations and show which have run.
migrate:rollback [--steps=1] Reverse the most recent batch, or several.
db:seed [--class=UserSeeder] Run all seeders, or one by class name.
TERMINAL
npm run migrate npx noderyx migrate:status npx noderyx migrate:rollback --steps=2 npx noderyx db:seed --class=UserSeeder
NOTE

Seed development and test databases freely; seed production only with data that is intentional and repeat-safe.

08

Security commands

Two commands cover the secrets you handle from a terminal.

spark:key [--show] [--force] Generate the APP_KEY. --show prints without writing; --force replaces an existing key.
hash <password> Print a scrypt hash, useful for seeding a first administrator account.
TERMINAL
npx noderyx spark:key npx noderyx hash "correct horse battery staple"
NOTE

Replacing APP_KEY invalidates every session and outstanding CSRF token.

09

Native Android and iOS

These commands compile your views into real platform widgets. There is no WebView involved.

native:init Compile views and scaffold the app. Flags: --app-id, --app-name, --no-install.
native:run <android|ios> Build and launch on a device or emulator.
native:start [--clear] Start the development bundler.
build:native Recompile screens only. Flags: --views, --out, --entry.
TERMINAL
npm run native:init npm run native:android
10

Packaged mobile build

The other device path wraps the web build in a native shell, so all of Cool.css renders in a WebView.

mobile:init [android] [ios] Build the bundle, install Capacitor, and generate the native projects.
mobile:add <android|ios> Add one platform to an existing setup.
mobile:sync Rebuild and copy the bundle into the native projects.
mobile:open <android|ios> Open the project in Android Studio or Xcode.
mobile:run <android|ios> Build, sync, and launch. Supports --target and --live-reload.
build:mobile Compile views into the mobile bundle without touching the native projects.
mnoderframe:run [file] Preview a compiled mobile payload in a browser.
11

Custom commands

Application tasks—imports, reports, cleanups, cron jobs—live in app/Commands and run through the same CLI. A command is a plain object with a name, a description, and run(args).

app/Commands/SendReportsCommand.js
// app/Commands/SendReportsCommand.js export default { name: "reports:send", description: "Email the weekly report", async run(args) { console.log("Sending reports", args); } };
12

…and running them

noderyx run finds the command by its signature, not its filename, so renaming the file changes nothing for the person invoking it.

TERMINAL
npx noderyx make:command SendReports --signature=reports:send npx noderyx run reports:send --week=32
NOTE

Only positional arguments reach run(args)—flags such as --week=32 are filtered out by the CLI before your command runs. Pass values positionally, or read them from the environment.

13

Editor support

Install syntax highlighting and file associations for .noderframe views in VS Code, Cursor, or VSCodium.

TERMINAL
npm run editor:install npx noderyx editor:install --editor=cursor
14

The npm scripts in a generated project

Every command above has a script alias so a new contributor can work without learning the CLI first.

package.json
npm run dev # serve --watch npm run live # live reload server npm start # node server.js npm run build # static HTML npm run migrate / seed # database npm run native:init # native app npm run mobile:init # packaged app npm run framework:update # guarded update