https://github.com/webreinvent/vaahcli
Command Line Tool to Generate Files for Rapid Development | Scaffolding Generator for VaahCMS
https://github.com/webreinvent/vaahcli
cli laravel laravel-5-package laravel-package package-generator vaahcms
Last synced: 8 months ago
JSON representation
Command Line Tool to Generate Files for Rapid Development | Scaffolding Generator for VaahCMS
- Host: GitHub
- URL: https://github.com/webreinvent/vaahcli
- Owner: webreinvent
- Created: 2018-12-21T10:24:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-08T08:10:23.000Z (over 1 year ago)
- Last Synced: 2025-04-29T22:44:43.046Z (about 1 year ago)
- Topics: cli, laravel, laravel-5-package, laravel-package, package-generator, vaahcms
- Language: EJS
- Homepage: https://webreinvent.com
- Size: 1.77 MB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Vaah
> Command line tool to Generate Files for Rapid Development
Please consider starring the project to show your :heart: and support.
## Feature Roadmap
#### Completed
:white_check_mark: VaahCMS Installer
:white_check_mark: VaahCMS Module Generator
:white_check_mark: VaahCMS Module CRUD Generator
:white_check_mark: VaahCMS Theme Generator
:white_check_mark: VaahCMS Theme Auth Generator
:white_check_mark: VaahCMS Modules Files (migration, model, view, controller, seed )
:white_check_mark: VaahCMS Themes Files (migration, model, view, controller, seed )
#### Planned
:black_square_button: Laravel Package Development
:black_square_button: Laravel Files (migration, model, view, controller, seed )
:black_square_button: WordPress Theme
:black_square_button: WordPress Plugin
## Install
Install with [npm](https://www.npmjs.com/):
```sh
npm install -g vaah
```
---
[Quick Command Generator](https://vaah.dev/cms/docs/generators)
## VaahCms Installer
- `vaah cms:install` or `npx vaah cms:install` : It will install vaahcms in newly created `vaahcms` folder
- `vaah cms:install [FOLDER]` : To install VaahCMS
- `vaah cms:install --here` : To install VaahCMS in current director
## VaahFlutter Installer
- `vaah flutter:install` or `npx vaah flutter:install` : It will install VaahFlutter in newly created `vaahflutter` folder
## VaahCms Module Generators
List of commands:
- `vaah cms:m` or `npx vaah cms:m` : To generate module
- `vaah cms:crud` or `npx vaah cms:crud` : To generator crud operation file for module
- `vaah cms:users` or `npx vaah cms:users` : Vue 3: To Generate Users CRUD operations for VaahCMS
- `vaah cms:taxonomies` or `npx vaah cms:taxonomies` : Vue 3: To Generate Taxonomies CRUD operations for VaahCMS
- `vaah cms:settings` or `npx vaah cms:settings` : Vue 3: To Generate Setting for VaahCMS
All following commands accept option parameter `-f ` or `-folder `
- `vaah cms:m-make migration ` : To generate module migration
- `vaah cms:m-make seed ` : To generate module seed
- `vaah cms:m-make model ` : To generate module model
- `vaah cms:m-make controller ` : To generate module controller
- `vaah cms:m-make view ` : To generate module view
- `vaah cms:m-make middleware ` : To generate module middleware
- `vaah cms:m-make observer ` : To generate module observer
- `vaah cms:m-make trait ` : To generate module trait
- `vaah cms:m-make test ` : To generate module browser test
- `vaah cms:m-make event ` : To generate module events
- `vaah cms:m-make listener ` : To generate module listener
- `vaah cms:m-make mail ` : To generate module email
- `vaah cms:m-make notification ` : To generate module notification
## VaahCms Theme Generators
List of commands:
- `vaah cms:t` or `npx vaah cms:t` : To generate theme
- `vaah cms:auth` or `npx vaah cms:auth`: Generate Sign in & Sign up, authentication scaffolding
All following commands accept option parameter `-f ` or `-folder `
- `vaah cms:t-make migration ` : To generate theme migration
- `vaah cms:t-make seed ` : To generate theme seed
- `vaah cms:t-make model ` : To generate theme model
- `vaah cms:t-make controller ` : To generate theme controller
- `vaah cms:t-make view ` : To generate theme view
- `vaah cms:t-make middleware ` : To generate theme middleware
- `vaah cms:t-make observer ` : To generate theme observer
- `vaah cms:t-make trait ` : To generate theme trait
- `vaah cms:t-make test ` : To generate theme browser test
## Laravel Generators
### Laravel Package Development
1. Create a folder as `packages` at root of laravel installation
2. Create your package folder. Eg. if your package name is `HelloWorld` then your folder name should be `hello-world`
3. Open the folder in command line and run `vaah laravel make:package`. It will start wizard and ask you the Vendor Name & Package Name.
4. Once your package is generated, you need add the path in composer.json file of laravel:
```json
...
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
],
"psr-4": {
"YourVendorName\\YourPackageName\\": "packages-scr-path"
}
},
...
```
5. Register your package's service provider at `config/app.php`: `YourVendorName\YourPackageName\YourPackageNameServiceProvider::class,`.
6. Finally, run `composer dump-autoload`.
**That's it, your package is ready for use in development environment.**
#### You have access to following commands as well:
| Command | Alias | Details |
| ------------- |:-------------:| -----:|
| `vaah laravel make:package` | `vaah lv:p` | To general Laravel package |
| `vaah laravel make:package-reset` | `vaah lv:p-reset` | To reset/delete generate files. |
| `vaah laravel make:package-file [type] [name]` | `vaah lv:p-file [type] [name]` | To generate package file. |
List of commands:
- `vaah lv:p-file model fileName`
- `vaah lv:p-file view fileName`
- `vaah lv:p-file controller fileName`
- `vaah lv:p-file seed fileName`
- `vaah lv:p-file migration fileName`
## Support us
[WebReinvent](https://www.webreinvent.com) is a web agency based in Delhi, India. You'll find an overview of all our open source projects [on github](https://github.com/webreinvent).
## Setup Development Environment
#### Step 1:
Clone this repository
#### Step 2:
Run `npm install`
#### Step 4:
Now you can run `vaah` commands in development mode from terminal like:
```sh
bin\run [COMMAND]
bin\run DEBUG=* [COMMAND] //for command debbuging
bin\run lv:p
bin\run cms:install
bin\run cms:m
bin\run cms:crud // crud file for any section
bin\run cms:t
bin\run cms:auth
```
*Windows: If you want to debug the command then run following command first on:
```shell script
set DEBUG=*
```
#### Step 5:
Run following command to publish the package to `npm`:
Change the version in `package.json` then run
```sh
npm publish
```
#### Step 6: Change log
To generate `CHANGELOG.md`, use following command:
```sh
auto-changelog
```
---
### Change Log
- Install `npm install auto-changelog -g`
- To generate `CHANGELOG.md`, run `auto-changelog` in the root folder of the project
Maintain following pre-fixes to your commit messages:
```md
Added:
Changed:
Deprecated:
Removed:
Fixed:
Security:
```
---
* [Vaah](#vaah)
* [Usage](#usage)
* [Commands](#commands)
# Usage
```sh-session
$ npm install -g vaah
$ vaah COMMAND
running command...
$ vaah (--version)
vaah/3.2.9 darwin-arm64 node-v20.13.1
$ vaah --help [COMMAND]
USAGE
$ vaah COMMAND
...
```
# Commands
* [`vaah cms:auth`](#vaah-cmsauth)
* [`vaah cms:crud`](#vaah-cmscrud)
* [`vaah cms:install [PROJECT_NAME]`](#vaah-cmsinstall-project_name)
* [`vaah cms:m`](#vaah-cmsm)
* [`vaah cms:m-make TYPE MODULE NAME`](#vaah-cmsm-make-type-module-name)
* [`vaah cms:settings`](#vaah-cmssettings)
* [`vaah cms:t`](#vaah-cmst)
* [`vaah cms:t-make TYPE THEME NAME`](#vaah-cmst-make-type-theme-name)
* [`vaah cms:taxonomies`](#vaah-cmstaxonomies)
* [`vaah cms:users`](#vaah-cmsusers)
* [`vaah flutter:install`](#vaah-flutterinstall)
* [`vaah hello PERSON`](#vaah-hello-person)
* [`vaah hello:world`](#vaah-helloworld)
* [`vaah help [COMMAND]`](#vaah-help-command)
* [`vaah plugins`](#vaah-plugins)
* [`vaah plugins:install PLUGIN...`](#vaah-pluginsinstall-plugin)
* [`vaah plugins:inspect PLUGIN...`](#vaah-pluginsinspect-plugin)
* [`vaah plugins:install PLUGIN...`](#vaah-pluginsinstall-plugin)
* [`vaah plugins:link PLUGIN`](#vaah-pluginslink-plugin)
* [`vaah plugins:uninstall PLUGIN...`](#vaah-pluginsuninstall-plugin)
* [`vaah plugins:reset`](#vaah-pluginsreset)
* [`vaah plugins:uninstall PLUGIN...`](#vaah-pluginsuninstall-plugin)
* [`vaah plugins:uninstall PLUGIN...`](#vaah-pluginsuninstall-plugin)
* [`vaah plugins:update`](#vaah-pluginsupdate)
* [`vaah store:install [PROJECT_NAME]`](#vaah-storeinstall-project_name)
## `vaah cms:auth`
Generate CRUD operations for VaahCMS
```
USAGE
$ vaah cms:auth [--help]
FLAGS
--help Generate Auth operation for VaahCMS Themes
DESCRIPTION
Generate CRUD operations for VaahCMS
```
_See code: [src/commands/cms/auth.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/auth.ts)_
## `vaah cms:crud`
Generate CRUD operations for VaahCMS
```
USAGE
$ vaah cms:crud [--help]
FLAGS
--help Generate CRUD operation for VaahCMS
DESCRIPTION
Generate CRUD operations for VaahCMS
```
_See code: [src/commands/cms/crud.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/crud.ts)_
## `vaah cms:install [PROJECT_NAME]`
Install VaahCMS
```
USAGE
$ vaah cms:install [PROJECT_NAME] [--here] [-h]
ARGUMENTS
PROJECT_NAME [default: vaahcms] Enter the project folder name
FLAGS
-h, --help Show CLI help.
--here If you want to install VaahCMS in current directory
DESCRIPTION
Install VaahCMS
```
_See code: [src/commands/cms/install.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/install.ts)_
## `vaah cms:m`
To generate module for VaahCMS
```
USAGE
$ vaah cms:m [-h] [-n] [-f]
FLAGS
-f, --force
-h, --help Show CLI help.
-n, --name Show CLI help.
DESCRIPTION
To generate module for VaahCMS
```
_See code: [src/commands/cms/m.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/m.ts)_
## `vaah cms:m-make TYPE MODULE NAME`
Generate for VaahCMS Module
```
USAGE
$ vaah cms:m-make TYPE MODULE NAME [-f] [-b] [-h] [-n]
FLAGS
-b, --backend
-f, --frontend
-h, --help Show CLI help.
-n, --name Show CLI help.
DESCRIPTION
Generate for VaahCMS Module
```
_See code: [src/commands/cms/m-make.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/m-make.ts)_
## `vaah cms:settings`
Vue3: Generate User CRUD for VaahCMS
```
USAGE
$ vaah cms:settings [--help]
FLAGS
--help Vue3: Generate User CRUD for VaahCMS
DESCRIPTION
Vue3: Generate User CRUD for VaahCMS
```
_See code: [src/commands/cms/settings.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/settings.ts)_
## `vaah cms:t`
To generate theme for VaahCMS
```
USAGE
$ vaah cms:t [-h] [-n] [-f]
FLAGS
-f, --force
-h, --help Show CLI help.
-n, --name Show CLI help.
DESCRIPTION
To generate theme for VaahCMS
```
_See code: [src/commands/cms/t.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/t.ts)_
## `vaah cms:t-make TYPE THEME NAME`
Generate for VaahCMS Theme
```
USAGE
$ vaah cms:t-make TYPE THEME NAME [-f] [-b] [-h] [-n]
FLAGS
-b, --backend
-f, --frontend
-h, --help Show CLI help.
-n, --name Show CLI help.
DESCRIPTION
Generate for VaahCMS Theme
```
_See code: [src/commands/cms/t-make.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/t-make.ts)_
## `vaah cms:taxonomies`
Vue 3: Generate Taxonomies CRUD operations for VaahCMS
```
USAGE
$ vaah cms:taxonomies [--help]
FLAGS
--help Vue 3: Generate Taxonomies CRUD operations for VaahCMS
DESCRIPTION
Vue 3: Generate Taxonomies CRUD operations for VaahCMS
```
_See code: [src/commands/cms/taxonomies.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/taxonomies.ts)_
## `vaah cms:users`
Vue3: Generate User CRUD for VaahCMS
```
USAGE
$ vaah cms:users [--help]
FLAGS
--help Vue3: Generate User CRUD for VaahCMS
DESCRIPTION
Vue3: Generate User CRUD for VaahCMS
```
_See code: [src/commands/cms/users.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/cms/users.ts)_
## `vaah flutter:install`
Installation of VaahFlutter
```
USAGE
$ vaah flutter:install [--help]
FLAGS
--help Installation of VaahFlutter
DESCRIPTION
Installation of VaahFlutter
```
_See code: [src/commands/flutter/install.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/flutter/install.ts)_
## `vaah hello PERSON`
Say hello
```
USAGE
$ vaah hello PERSON -f
ARGUMENTS
PERSON Person to say hello to
FLAGS
-f, --from= (required) Who is saying hello
DESCRIPTION
Say hello
EXAMPLES
$ oex hello friend --from oclif
hello friend from oclif! (./src/commands/hello/index.ts)
```
_See code: [src/commands/hello/index.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/hello/index.ts)_
## `vaah hello:world`
Say hello world
```
USAGE
$ vaah hello:world
DESCRIPTION
Say hello world
EXAMPLES
$ vaah hello:world
hello world! (./src/commands/hello/world.ts)
```
_See code: [src/commands/hello/world.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/hello/world.ts)_
## `vaah help [COMMAND]`
Display help for vaah.
```
USAGE
$ vaah help [COMMAND...] [-n]
ARGUMENTS
COMMAND... Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for vaah.
```
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.16/src/commands/help.ts)_
## `vaah plugins`
List installed plugins.
```
USAGE
$ vaah plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ vaah plugins
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/index.ts)_
## `vaah plugins:install PLUGIN...`
Installs a plugin into the CLI.
```
USAGE
$ vaah plugins:add plugins:install PLUGIN...
ARGUMENTS
PLUGIN... Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ vaah plugins:add
EXAMPLES
$ vaah plugins:add myplugin
$ vaah plugins:add https://github.com/someuser/someplugin
$ vaah plugins:add someuser/someplugin
```
## `vaah plugins:inspect PLUGIN...`
Displays installation properties of a plugin.
```
USAGE
$ vaah plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN... [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ vaah plugins:inspect myplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/inspect.ts)_
## `vaah plugins:install PLUGIN...`
Installs a plugin into the CLI.
```
USAGE
$ vaah plugins:install PLUGIN...
ARGUMENTS
PLUGIN... Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ vaah plugins:add
EXAMPLES
$ vaah plugins:install myplugin
$ vaah plugins:install https://github.com/someuser/someplugin
$ vaah plugins:install someuser/someplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/install.ts)_
## `vaah plugins:link PLUGIN`
Links a plugin into the CLI for development.
```
USAGE
$ vaah plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
--[no-]install Install dependencies after linking the plugin.
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ vaah plugins:link myplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/link.ts)_
## `vaah plugins:uninstall PLUGIN...`
Removes a plugin from the CLI.
```
USAGE
$ vaah plugins:remove plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN... plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ vaah plugins:unlink
$ vaah plugins:remove
EXAMPLES
$ vaah plugins:remove myplugin
```
## `vaah plugins:reset`
Remove all user-installed and linked plugins.
```
USAGE
$ vaah plugins:reset [--hard] [--reinstall]
FLAGS
--hard Delete node_modules and package manager related files in addition to uninstalling plugins.
--reinstall Reinstall all plugins after uninstalling.
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/reset.ts)_
## `vaah plugins:uninstall PLUGIN...`
Removes a plugin from the CLI.
```
USAGE
$ vaah plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN... plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ vaah plugins:unlink
$ vaah plugins:remove
EXAMPLES
$ vaah plugins:uninstall myplugin
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/uninstall.ts)_
## `vaah plugins:uninstall PLUGIN...`
Removes a plugin from the CLI.
```
USAGE
$ vaah plugins:unlink plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN... plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ vaah plugins:unlink
$ vaah plugins:remove
EXAMPLES
$ vaah plugins:unlink myplugin
```
## `vaah plugins:update`
Update installed plugins.
```
USAGE
$ vaah plugins:update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
```
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v4.3.10/src/commands/plugins/update.ts)_
## `vaah store:install [PROJECT_NAME]`
Install VaahStore
```
USAGE
$ vaah store:install [PROJECT_NAME] [--here] [-h]
ARGUMENTS
PROJECT_NAME [default: vaahstore] Enter the project folder name
FLAGS
-h, --help Show CLI help.
--here If you want to install VaahStore in current directory
DESCRIPTION
Install VaahStore
```
_See code: [src/commands/store/install.ts](https://github.com/webreinvent/vaah/blob/v3.2.9/src/commands/store/install.ts)_
#### Oclif Docs:
- Spinner - https://oclif.io/docs/spinner
#### Framework
- https://oclif.io/ - For developing CLI Tool
- https://yeoman.io/ - SCAFFOLDING TOOL
## License
The MIT License (MIT). Please see [License File](LICENSE) for more information.