README
Apostrophe CLI
The Apostrophe CLI is a cross-platform starting point for creating and configuring ApostropheCMS projects, providing a simple boilerplate generator and wrapping other useful functions into an easy to use command line tool.
Requires Node.js 8+
First, install @apostrophecms/cli
as a global NPM module:
npm install -g @apostrophecms/cli
To view the available commands in a given context, execute the apos
command with no arguments:
apos
Note: All Apostrophe CLI commands can also be run with apostrophe
, the legacy command, in addition to apos
.
Create a project
To create a new project with the tool:
apos create <shortname-without-spaces>
This will create a local copy of the Apostrophe 3 boilerplate.
options
--a2
Use the --a2
flag when creating an Apostrophe 2 project to use the boilerplate for that version.
--starter
Run create
with a --starter
flag to start from a Github repository other than the standard starters. For example, apos create <shortname-without-spaces> --starter=https://github.com/apostrophecms/apostrophe-open-museum.git
would create a project using the Open Museum demo.
Create a widget
To bootstrap the necessary files and basic configuration for a new Apostrophe widget, run the following command from within your Apostrophe project's root directory:
# "-widgets" will automatically be appended to the end of your module name
apos add widget fancy-button
Note: You will then need to register this widget module in app.js
so it is available in your project code. The same is true for the commands below when you create a piece module or generic module.
// app.js
module.exports = {
// ...
'fancy-button-widgets': {},
// ...
}
Add a --player
option to the command to include the client-side Javascript "player" boilerplate to the new widget module as well.
apos add widget tabs --player
Create a piece
To bootstrap the necessary files and basic configuration for a new Apostrophe piece type, run the following command from within your Apostrophe project's root directory:
apos add piece vegetable
Then remember to register 'vegetable': {}
in app.js
above.
If you run the add piece
command with the --page
flag, the command will also set up a corresponding piece-pages module with your new piece type. Similarly, you can run the add piece
command with the --widget
flag, which will also set up a corresponding piece-widgets module along with your new piece type. These flags can be used together or separately.
apos add piece vegetable --page --widget
Create an empty Apostrophe module
To bootstrap the necessary files and basic configuration for a brand-new Apostrophe module that doesn't extend one of the usual suspects like pieces or widgets:
apos add module <module name>
Remember to register the module in app.js
with the other module types.
For more documentation for ApostropheCMS, visit the documentation site.