Skip to content

Latest commit

History

History
240 lines (147 loc) 路 9.39 KB

CLI.md

File metadata and controls

240 lines (147 loc) 路 9.39 KB

Command Line Interface (CLI)

Strapi comes with a full featured Command Line Interface (CLI) which lets you scaffold and manage your project in seconds.


strapi new

Create a new project

strapi new <name>

options: [--dev|--dbclient=<dbclient> --dbhost=<dbhost> --dbport=<dbport> --dbname=<dbname> --dbusername=<dbusername> --dbpassword=<dbpassword> --dbssl=<dbssl> --dbauth=<dbauth>]
  • strapi new <name>
    Generates a new project called <name> and installs the default plugins through the npm registry.

  • strapi new <name> --dev
    Generates a new project called <name> and creates symlinks for the ./admin folder and each plugin inside the ./plugin folder. It means that the Strapi's development workflow has been set up on the machine earlier.

  • strapi new <name> --dbclient=<dbclient> --dbhost=<dbhost> --dbport=<dbport> --dbname=<dbname> --dbusername=<dbusername> --dbpassword=<dbpassword> --dbssl=<dbssl> --dbauth=<dbauth>
    Generates a new project called <name> and skip the interactive database configuration and initilize with these options. <dbclient> can be mongo, postgres, mysql, sqlite3 or redis. <dbssl> and <dbauth> are optional.

    See the CONTRIBUTING guide for more details.


strapi generate:api

Scaffold a complete API with its configurations, controller, model and service.

strapi generate:api <name> [<attribute:type>]

options: [--tpl <name>|--plugin <name>]
  • strapi generate:api <name>
    Generates an API called <name> in the ./api folder at the root of your project.

  • strapi generate:api <name> <attribute:type>
    Generates an API called <name> in the ./api folder at the root of your project. The model will already contain an attribute called <attribute> with the type property set to <type>.

    Example: strapi generate:api product name:string description:text price:integer

  • strapi generate:api <name> --plugin <plugin>
    Generates an API called <name> in the ./plugins/<plugin> folder.

    Example: strapi generate:api product --plugin content-manager

  • strapi generate:api <name> --tpl <template>
    Generates an API called <name> in the ./api folder which works with the given <template>. By default, the generated APIs are based on Mongoose.

    Example: strapi generate:api product --tpl bookshelf

Note: The first letter of the filename will be uppercased.

strapi generate:controller

Create a new controller

strapi generate:controller <name>

options: [--api <name>|--plugin <name>]
  • strapi generate:controller <name>
    Generates an empty controller called <name> in the ./api/<name>/controllers folder.

    Example: strapi generate:controller category will create the controller at ./api/category/controllers/Category.js.

  • strapi generate:controller <name> --api <api>
    Generates an empty controller called <name> in the ./api/<api>/controllers folder.

    Example: strapi generate:controller category --api product will create the controller at ./api/product/controllers/Category.js.

  • strapi generate:controller <name> --plugin <plugin>
    Generates an empty controller called <name> in the ./plugins/<plugin>/controllers folder.

Note: The first letter of the filename will be uppercased.

strapi generate:model

Create a new model

strapi generate:model <name> [<attribute:type>]

options: [--api <name>|--plugin <name>]
  • strapi generate:model <name>
    Generates an empty model called <name> in the ./api/<name>/models folder. It will create two files. The first one will be <name>.js which contains your lifecycle callbacks and another <name>.settings.json that will list your attributes and options.

    Example: strapi generate:model category will create these two files ./api/category/models/Category.js and ./api/category/models/Category.settings.json.

  • strapi generate:model <name> <attribute:type>
    Generates an empty model called <name> in the ./api/<name>/models folder. The file <name>.settings.json will already contain a list of attribute with their associated <type>.

    Example: strapi generate:model category name:string description:text will create these two files ./api/category/models/Category.js and ./api/category/models/Category.settings.json. This last file will contain two attributes name with the type string and description with type text.

  • strapi generate:model <name> --api <api>
    Generates an empty model called <name> in the ./api/<api>/models folder.

    Example: strapi generate:model category --api product will create these two files:

    • ./api/product/models/Category.js
    • ./api/product/models/Category.settings.json.
  • strapi generate:model <name> --plugin <plugin>
    Generates an empty model called <name> in the ./plugins/<plugin>/models folder.

Note: The first letter of the filename will be uppercased.

strapi generate:service

Create a new service

strapi generate:service <name>

options: [--api <name>|--plugin <name>]
  • strapi generate:service <name>
    Generates an empty service called <name> in the ./api/<name>/services folder.

    Example: strapi generate:service category will create the service at ./api/category/services/Category.js.

  • strapi generate:service <name> --api <api>
    Generates an empty service called <name> in the ./api/<api>/services folder.

    Example: strapi generate:service category --api product will create the service at ./api/product/services/Category.js.

  • strapi generate:service <name> --plugin <plugin>
    Generates an empty service called <name> in the ./plugins/<plugin>/services folder.

Note: The first letter of the filename will be uppercased.

strapi generate:policy

Create a new policy

strapi generate:policy <name>

options: [--api <name>|--plugin <name>]
  • strapi generate:policy <name>
    Generates an empty policy called <name> in the ./config/policies folder.

    Example: strapi generate:policy isAuthenticated will create the policy at ./config/policies/isAuthenticated.js.

  • strapi generate:policy <name> --api <api>
    Generates an empty policy called <name> in the ./api/<api>/config/policies folder. This policy will be scoped and only accessible by the <api> routes.

    Example: strapi generate:policy isAuthenticated --api product will create the policy at ./api/product/config/policies/isAuthenticated.js.

  • strapi generate:policy <name> --plugin <plugin>
    Generates an empty policy called <name> in the ./plugins/<plugin>/config/policies folder. This policy will be scoped and accessible only by the <plugin> routes.

strapi generate:plugin

Create a new plugin skeleton.

strapi generate:plugin <name>
  • strapi generate:plugin <name>
    Generates an empty plugin called <name> in the ./plugins folder.

    Example: strapi generate:plugin user will create the plugin at ./plugins/user.

Please refer to the plugin develoment documentation to know more.


strapi install

Install a plugin in the project.

strapi install <name>

options: [--dev]
  • strapi install <name>
    Installs a plugin called <name> in the ./plugins folder.

    Example: strapi install content-type-builder will install the plugin at ./plugins/content-type-builder.

  • strapi install <name> --dev
    It will create a symlink from the local Strapi repository plugin folder called <name> in the ./plugins folder.

    Example: strapi install content-type-builder --dev will create a symlink from /path/to/the/repository/packages/strapi-plugin-content-type-builder to ./plugins/content-type-builder.

Checkout the CONTRIBUTING guide for more details about the local Strapi development workflow.

Note: You have to restart the server to load the plugin into your project.

Please refer to the plugins documentation to know more.


strapi uninstall

Uninstall a plugin from the project.

strapi uninstall <name>
  • strapi uninstall <name>
    Uninstalls a plugin called <name> in the ./plugins folder.

    Example: strapi uninstall content-type-builder will remove the folder at ./plugins/content-type-builder.

Please refer to the plugins documentation to know more.


strapi version

Print the current globally installed Strapi version.

strapi version

strapi help

List CLI commands.

strapi help