Skip to content

Uso ​

Referencia de los comandos de corvis. Las opciones empiezan con -- y pueden ir en cualquier posición después del comando.

corvis new ​

bash
corvis new <nombre> [--corvis-path <ruta>] [--corvis-version <requisito>] [--skip-git]

Crea la carpeta del proyecto (el nombre en kebab-case) con Cargo.toml, .env, .gitignore y src/ con main.rs, app_module.rs, app_controller.rs y app_service.rs. Falla si la carpeta ya existe.

OpciónEfecto
--corvis-path <ruta>Dependencia corvis = { path = "<ruta>" }. Sin ella se usa CORVIS_PATH o la copia desde la que se compiló la CLI
--corvis-version <requisito>Dependencia corvis = { version = "<requisito>" } (un requisito de versión de Cargo)
--skip-gitNo ejecuta git init

El nombre debe empezar con una letra y contener solo letras, dígitos, - y _.

corvis generate ​

bash
corvis generate <schematic> <nombre> [--flat] [--path <módulo>] [--no-spec]
corvis g <schematic> <nombre> ...

Se ejecuta dentro de un proyecto: busca hacia arriba la primera carpeta con Cargo.toml y src/.

Schematics ​

SchematicAliasGeneraLo registra en
modulemoXModuleimports de AppModule
controllercoXController con un GET y un testcontrollers del módulo de la carpeta, o de AppModule
servicesXService (#[injectable]) con un testproviders del módulo de la carpeta, o de AppModule
resourceresMódulo, controlador CRUD, servicio, DTOs, entidad y testimports de AppModule
guardguXGuard (CanActivate)No se registra
interceptoritc, inXInterceptor (CorvisInterceptor)No se registra
pipepiXPipe (PipeTransform)No se registra
filterfXFilter (ExceptionFilter)No se registra
middlewaremiXMiddleware (CorvisMiddleware)No se registra
gatewaygaXGateway (#[websocket_gateway])providers del módulo de la carpeta, o de AppModule

Guards, interceptors, pipes, filtros y middleware no se registran porque se usan con #[use_guards(...)], #[use_interceptors(...)], consumer.apply::<...>() o los métodos use_global_*, según el caso.

Dónde se escriben los archivos ​

Con corvis g service users:

text
src/
├── main.rs          # + mod users;
├── app_module.rs    # + providers = [UsersService] (si no existe src/users/users_module.rs)
└── users/
    ├── mod.rs       # + pub mod users_service; pub use users_service::UsersService;
    └── users_service.rs

Si src/users/users_module.rs existe (por ejemplo, porque antes ejecutaste corvis g module users), el servicio se registra en UsersModule en lugar de AppModule. La CLI agrega también las líneas use necesarias.

La regla exacta es: se busca src/<carpeta>/<nombre>_module.rs y, si no existe, se usa src/app_module.rs. Por eso corvis g controller profile --path users busca src/users/profile_module.rs y, al no encontrarlo, registra el controlador en AppModule aunque exista users_module.rs; en ese caso muévelo a mano al módulo correcto.

OpciónEfecto
--flatEscribe el archivo en src/ (src/users_service.rs) en lugar de una carpeta
--path <módulo>Usa otra carpeta: corvis g controller profile --path users escribe en src/users/. Debe ser un nombre de módulo de Rust válido
--no-specOmite el módulo #[cfg(test)] del archivo generado

Si un archivo ya existe, el comando falla sin sobrescribirlo. Cuando la CLI no reconoce la forma de un archivo que debe modificar, lo indica con SKIP y tienes que hacer el registro a mano.

Los nombres de los tipos se derivan del argumento: user-profile, user_profile y UserProfile producen UserProfileService en user_profile_service.rs, con la ruta user-profile en los controladores.

corvis start ​

bash
corvis start [--watch] [--release] [-- <argumentos del programa>]
FormaEjecuta
corvis startcargo run
corvis start --release (o --prod)cargo run --release
corvis start -- --mi-flagcargo run -- --mi-flag
corvis start --watchcargo watch -x run

--watch necesita cargo-watch (cargo install cargo-watch). En ese modo se ignoran --release y los argumentos tras --.

corvis build ​

bash
corvis build [--release]

Ejecuta cargo build, o cargo build --release con --release (o --prod).

corvis info ​

Muestra el sistema operativo y la arquitectura, rustc --version, cargo --version y la versión de la CLI. Útil para adjuntar a un reporte de errores.

Publicado bajo la licencia MIT.