ExisJS

CLI Overview

The ExisJS CLI (exisjs or exis) is the command-line interface for developing, compiling, running, and diagnosing ExisJS applications.

The CLI is structured around ExisJS core conventions:

  • File-system route discovery under src/http/.
  • Schema compilation with tex.
  • Pre-compiled route manifests (.exis/routes-manifest.js) for O(1) runtime lookup.
  • Environment variable cascading (.env).
  • Native test execution using node:test.

Installation & Execution

On-Demand via npx

Run commands directly without global installation:

# Initialize a new project in a directorynpx exisjs init
# Start the dev servernpx exisjs dev

Global Installation

To install the exisjs / exis binary globally:

npm install -g exisjs

Project-Local Execution

Inside an initialized ExisJS project, the CLI is available locally through npm run scripts or npx exisjs.


Command Syntax

All CLI commands adhere to the standard command structure:

exisjs <command> [arguments] [options]

Or using the shorter alias:

exis <command> [arguments] [options]

Examples

# Start development server on port 5000npx exisjs dev -p 5000
# Scaffold an HTTP route in Functional paradigmnpx exisjs generate route users
# Scaffold with Class-Based (OOP) decoratorsnpx exisjs generate route users --oop
# Print the application routing tablenpx exisjs routes

Command Summary

CommandAliasDescription
devStarts development server with file watching and automatic port collision avoidance.
buildType-checks and compiles TypeScript to JavaScript, generating route manifests.
startStarts the compiled production server.
cleanclRemoves .exis build artifacts and cached manifests (-a to include dist/).
routesAnalyzes and prints the application routing table to the terminal or JSON.
generategScaffolds framework components (crud, model, route, service, schema, boundary, plugin, middleware, test).
testRuns test suites using the native node:test runner.
runexecExecutes a script or external command with ExisJS .env files pre-loaded.
consolereplLaunches an interactive Node.js REPL loaded with the application context.
doctorAudits project health, configuration, and route structure.
infoDisplays runtime environment, Node.js version, platform, and OS architecture.
exportsLists all framework public subpath export modules.
initInitializes an ExisJS application in the current working directory.