@triggerfishab/lisa-cli
v2.20.1
Published
CLI commands to generate a new project based on Lisa
Downloads
35
Readme
lisa-cli ⚡️
💁♀️ Lisa CLI is a command line tool that will help you to automate the process of creating a new site based on the lisa-app and the lisa-api
The features that is included now is the following:
- Setup repos on GitHub based on the lisa-app and the lisa-api repos.
- Setup site with Valet, including dependencies installation and local database creation.
- Reencrypt all vault files with a new password
- Create a development database
- Add all the config needed to be able to deploy the site to Kinsta with Trellis
📚 Table Of Contents
🔧 Prerequisites
You will need to install and configure the following stuff to use Lisa CLI:
- Node version >= 12
- GitHub CLI (setup instructions) version >= 2.6
- ansible-vault (comes from Ansible) version >= 2.12
- WP-CLI version >= 2.5
- Trellis CLI version >= 1.5
- Valet version >= 2.18
- Vercel CLI version >= 28.0
- AWS CLI version >= 2.4
- 1Password CLI version >= 2.18
🪚 Installation
npm i -g @triggerfishab/lisa-cli
🏃♂️ Usage
Create a new site
Setup a new site on Kinsta, with both staging and production environments.
4.1 Fill your template
Run
lisa init --config-file <kinsta-config-file.yml>
✏️ Commands
clone
Use this command to setup a local Lisa site that already has been configured.
Example: lisa clone
configure
Use this command to configure all the necessary API keys.
Example: lisa configure [service]
If you've entered incorrect values or need to change them, use the --reset
option below. 💡 Pass an argument for which service to configure to not reset all of them.
--reset
Use this option with the configure
command to reset your previously configured API keys.
Example: lisa configure --reset
[service]
Use this argument for which service to configure, available services: aws
, godaddy
, sendgrid
db import
Use this command to import a database from the production/staging environment of your site.
This command will ask for the project name and try to find the correct repos that you should use. If not the correct repos are found, the prompt will let you specify them manually.
init
Use this command to create a new Lisa site.
The following will be included:
- GitHub repos
- Amazon AWS S3 bucket for media handling
- Amazon AWS Cloudfront CDN for media files
- GoDaddy records for DNS
- Sendgrid subuser for email sending
When the command is done, you will have the following on your computer:
- API site linked to Valet on the domain https://{projectName}-api.test
- Next.js frontend app on http://localhost:3000
-c, --config-file
Specify the location of your Kinsta config file that you have created via the command lisa kinsta
kinsta
Use this command to create a site on Kinsta or get a template file for all your Kinsta configuration values.
Example: lisa kinsta [action]
create
After the site has been created, an email will be sent to the provided email address.
show-config
After the file has been created, update all existing values with the corresponding values from the site at Kinsta that you created earlier.
path
Use this command to set (or get) your global sites path.
Example: lisa path [path]
[path]
Specify a path to set that as your Lisa path. If not specified, you will be given your current Lisa path as output instead.
status
Use this command to show your Lisa status.
Example: lisa status
page-component create
Use this command to create a new page component in a Lisa project.
Alias: pcc
It will create basic ACF fields in the api, create a GraphQL fragment, type definitions and a base component in the app.
Example: lisa page-component create
cdn create
Use this command to create services for S3, CloudFront & GoDaddy without all the other Lisa stuff.
Example: lisa cdn create
sendgrid create
Use this command to create user account and generate api key for SendGrid
Example: lisa sendgrid create
wp update
Update WordPress and Composer dependencies.
lisa wp update
lisa wp update --fast
commands that will be run:
without --fast
composer require composer/installers -W
composer require roots/acorn -W
composer require roots/wordpress -W
composer require rector/rector -W --dev
composer require squizlabs/php_codesniffer -W --dev
composer require johnbillion/query-monitor -W --dev
with --fast
composer require composer/installers roots/acorn roots/wordpress -W
composer require rector/rector squizlabs/php_codesniffer johnbillion/query-monitor -W --dev
godaddy create
Use this command to create DNS-records in GoDaddy. I.e. for validation and pointing in Kinsta.
Example: lisa godaddy create
aws user create
This command creates an aws iam user that's restricted to specific bucket(s).
Example: lisa aws user create
s3 bucket set-lifecycle-policy
This command creates lifecycle rule for objects in the bucket
Example: lisa s3 bucket set-lifecycle-policy
vault-pass-generate
Generate a new .vault_pass file for the project.
Example:
lisa vault-pass-generate