genrailsdev
v2.3.0
Published
Command Line Interface (CLI) tool for the GenRails application
Readme
GenRails CLI v1.0.0
Command-line interface tool for GenRails that allows you to compile models and generate code from templates.
Table of Contents
Installation
Ensure you have Node.js installed on your system, then install GenRails CLI globally:
npm i -g genrailsAuthentication
All commands require a user token for authentication. This token is generated in the GenRails web application.
Global Option (Required):
-u, --utoken <token> User token for authenticationCommands
Compile
Compile a model from a local file or remote ID and generate output files based on templates.
Syntax
genrails -u <token> compile [options] [output]Required Options
-m, --model <value> Model source:
- Local file path (e.g., ./model.txt)
- Remote model ID with format: {V|D|U}#<uuid>
V = Version, D = Draft, U = User model
-t, --target <id> Target ID (format: {P|D|V}#<uuid>)
P = Project, D = Deployment, V = VersionOptional Options
-g, --group <name> Template group name (default: "*")
-M, --mode <mode> Generation mode (default: "override")
- "override": Overwrites existing files
- "skip": Keeps existing files, generates only new onesArguments
[output] Output directory path (default: current directory)Examples
Compile from Local File
Compile a model from a local file and specify a target project:
genrails -u c3085084-2e37-4ace-ac6d-b6721b41dc2c compile \
-m ./model.txt \
-t P#123e4567-e89b-12d3-a456-426614174000Compile from Remote Model ID
Compile a draft model stored remotely:
genrails -u c3085084-2e37-4ace-ac6d-b6721b41dc2c compile \
-m D#e2b6008a-85ba-4971-b4b2-9cad4de0a350 \
-t P#123e4567-e89b-12d3-a456-426614174000 \
./outputCompile with Custom Template Group
Use a specific template group and skip mode:
genrails -u c3085084-2e37-4ace-ac6d-b6721b41dc2c compile \
-m V#550e8400-e29b-41d4-a716-446655440000 \
-t P#a1b2c3d4-5678-90ab-cdef-1234567890ab \
-g backend-templates \
-M skip \
./generatedCompile from File with All Options
genrails -u c3085084-2e37-4ace-ac6d-b6721b41dc2c compile \
-m ./mymodel.txt \
-t D#a1b2c3d4-5678-90ab-cdef-1234567890ab \
-g full-stack \
-M override \
./project/srcModel ID Formats
Remote Model IDs (-m parameter)
- V#uuid: Version model (published version)
- D#uuid: Draft model (work in progress)
- U#uuid: User model (personal model)
Target IDs (-t parameter, required)
- P#uuid: Project target
- D#uuid: Deployment target
- V#uuid: Version target
Development
Run in Development Mode
npm run dev -- -u <token> compile -m <model> [options]Example:
npm run dev -- -u c3085084-2e37-4ace-ac6d-b6721b41dc2c compile \
-m D#e2b6008a-85ba-4971-b4b2-9cad4de0a350 \
-t P#123e4567-e89b-12d3-a456-426614174000