This Starter Kit, also known as a boilerplate project, serves as a template for initiating new projects and is intended for use in two main ways:
Using Our CLI Tool: Run our CLI tool to clone this template locally, install its dependencies, and set up an initial admin user. You accomplish this using:
apos create <my-project-name>
Manual Setup: Manually git clone
this repository and install its dependencies using npm install
. Add an initial admin user with node app @apostrophecms/user:add admin admin
.
For those who need to create multiple projects with additional base modules, consider forking this repository into your organizational or personal GitHub account. Customize it to fit your needs. To use your customized template, run the following CLI command:
apos create <project-name> --starter=<repo-name>
Here, <repo-name>
should be the URL of your forked repository, excluding the https://github.com/
part.
Note: This template is NOT designed to be installed into an existing project.
Run npm run dev
to build the Apostrophe UI and start the site up. Remember, this is during alpha development, so we're all in "dev mode." The dev
script will watch for saves in client-side CSS and Javascript and trigger a build and page refresh if they are detected. It will also restart the app when server-side code is saved.
This boilerplate is designed so you can install and start running it right away. If you are starting a project that will go into production one day, there are a few things you should be sure to check:
shortname
option in app.js
is used for the database name (unless another is given in the @apostrophecms/db
module). You should change this to an appropriate project name before you start adding any users or content you would like to keep.undefined
initially in the modules/@apostrophecms/express/index.js
file. You should update this to a unique string.modules/@apostrophecms/asset/index.js
there is an option enabled to refresh the browser on restart. If you like this, do nothing. If you don't, remove the option or set it to false
. The option has no effect when the app is in production.className
options in app.js
. This option is set for core widget types to provide CSS styling hooks. It is namespaced with bp-
for "boilerplate." You will likely want to update that to match your general CSS class naming practices.Right now, all the juicy info is in the ApostropheCMS docs, so head over there and start reading! This boilerplate project is a fun introduction to the UI, but you'll want to know more to really try it out.