aurora-cli2
A new CLI generated with oclif

Usage
$ npm install -g @aurorajs.dev/cli
$ aurora COMMAND
running command...
$ aurora (--version)
@aurorajs.dev/cli/5.0.2 darwin-arm64 node-v24.14.0
$ aurora --help [COMMAND]
USAGE
$ aurora COMMAND
...
Commands
aurora add SCOPE
Add an Aurora package to an existing project.
USAGE
$ aurora add SCOPE [-f] [-v]
ARGUMENTS
SCOPE (backend|frontend) Scope where the command will act.
FLAGS
-f, --force Overwrite existing files.
-v, --verbose Report all steps on screen.
DESCRIPTION
Add an Aurora package to an existing project.
EXAMPLES
$ aurora add back
$ aurora add front
$ aurora add back --force
See code: src/commands/add/index.ts
aurora ai setup
Generate AI provider instruction files and skill symlinks from .ai/ source of truth.
USAGE
$ aurora ai setup [--all] [--dry-run] [-f] [-p claude|codex|copilot|gemini|opencode...] [-t <value>]
FLAGS
-f, --force Overwrite existing files without confirmation
-p, --provider=<option>... Provider(s) to configure (repeatable)
<options: claude|codex|copilot|gemini|opencode>
-t, --target=<value> Generate only for a specific target directory
--all Configure all available providers
--dry-run Show what would be generated without writing files
DESCRIPTION
Generate AI provider instruction files and skill symlinks from .ai/ source of truth.
EXAMPLES
$ aurora ai setup --all
$ aurora ai setup --provider claude
$ aurora ai setup --provider claude --provider opencode
$ aurora ai setup --provider claude --target backend
$ aurora ai setup --all --dry-run
$ aurora ai setup --all --force
See code: src/commands/ai/setup.ts
aurora autocomplete [SHELL]
Display autocomplete installation instructions.
USAGE
$ aurora autocomplete [SHELL] [-r]
ARGUMENTS
[SHELL] (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ aurora autocomplete
$ aurora autocomplete bash
$ aurora autocomplete zsh
$ aurora autocomplete powershell
$ aurora autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
aurora deploy
Trigger deploy by pushing source branches to environments/{env}.
USAGE
$ aurora deploy [-c <value>] [--dry-run] [--env <value>]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
--dry-run Show what would be pushed without executing
--env=<value> Deploy only this environment (e.g. dev, qa, prod)
DESCRIPTION
Trigger deploy by pushing source branches to environments/{env}.
EXAMPLES
$ aurora deploy
$ aurora deploy --env dev
$ aurora deploy --dry-run
$ aurora deploy --env prod -c ../aurora.yaml
See code: src/commands/deploy/index.ts
aurora env decrypt
Decrypt .env.{env}.enc files using SOPS (age). Reads environments from aurora.yaml.
USAGE
$ aurora env decrypt [-c <value>] [--env <value>] [--key-file <value>]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
--env=<value> Decrypt only this environment (e.g. dev, qa, prod)
--key-file=<value> [default: .keys/age.txt, env: SOPS_AGE_KEY_FILE] Path to age key file
DESCRIPTION
Decrypt .env.{env}.enc files using SOPS (age). Reads environments from aurora.yaml.
EXAMPLES
$ aurora env decrypt
$ aurora env decrypt --env prod
$ aurora env decrypt --key-file .keys/custom.txt
See code: src/commands/env/decrypt.ts
aurora env encrypt
Encrypt .env.{env} files using SOPS (age). Reads environments from aurora.yaml.
USAGE
$ aurora env encrypt [-c <value>] [--env <value>] [--key-file <value>]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
--env=<value> Encrypt only this environment (e.g. dev, qa, prod)
--key-file=<value> [default: .keys/age.txt, env: SOPS_AGE_KEY_FILE] Path to age key file
DESCRIPTION
Encrypt .env.{env} files using SOPS (age). Reads environments from aurora.yaml.
EXAMPLES
$ aurora env encrypt
$ aurora env encrypt --env dev
$ aurora env encrypt --key-file .keys/custom.txt
See code: src/commands/env/encrypt.ts
aurora help [COMMAND]
Display help for aurora.
USAGE
$ aurora 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 aurora.
See code: @oclif/plugin-help
aurora keys
Generate RSA private key and public key
USAGE
$ aurora keys [-o <value>]
FLAGS
-o, --out=<value> Output directory for the key files
DESCRIPTION
Generate RSA private key and public key
EXAMPLES
$ aurora keys
$ aurora keys --out ./keys
See code: src/commands/keys/index.ts
aurora load SCOPE ELEMENT
Load a module from its YAML definition and generate code.
USAGE
$ aurora load SCOPE ELEMENT -n <value> [-f] [-g] [--noReview] [-w] [--target <value>] [-t] [-v]
ARGUMENTS
SCOPE (back|front) Scope where the command will act.
ELEMENT (module) Type of element to load.
FLAGS
-f, --force Overwrite existing files.
-g, --noGraphQLTypes Skip GraphQL type generation.
-n, --name=<value> (required) Bounded context and module (e.g. "iam/account").
-t, --tests Generate e2e test files.
-v, --verbose Report all steps on screen.
-w, --overwriteInterface Overwrite front-end interfaces.
--noReview Skip interactive origin file review.
--target=<value> Output subdirectory (default: "backend" for back, "frontend" for front).
DESCRIPTION
Load a module from its YAML definition and generate code.
EXAMPLES
$ aurora load back module --name=iam/account
$ aurora load front module --name=iam/account
$ aurora load back module --name=iam/account --tests --force
$ aurora load back module --name=iam/account --target=api
See code: src/commands/load/index.ts
aurora new NAME
Create a new Aurora monorepo project.
USAGE
$ aurora new NAME [-f]
ARGUMENTS
NAME Name of the project to create.
FLAGS
-f, --force Overwrite existing directory.
DESCRIPTION
Create a new Aurora monorepo project.
EXAMPLES
$ aurora new my-project
$ aurora new my-project --force
See code: src/commands/new/index.ts
aurora pipeline
Generate a deploy workflow from templates (interactive).
USAGE
$ aurora pipeline [-f]
FLAGS
-f, --force Overwrite existing workflow file
DESCRIPTION
Generate a deploy workflow from templates (interactive).
EXAMPLES
$ aurora pipeline
$ aurora pipeline --force
See code: src/commands/pipeline/index.ts
aurora plugins
List installed plugins.
USAGE
$ aurora plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ aurora plugins
See code: @oclif/plugin-plugins
aurora plugins add PLUGIN
Installs a plugin into aurora.
USAGE
$ aurora plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]
ARGUMENTS
PLUGIN... Plugin to install.
FLAGS
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
-h, --help Show CLI help.
-s, --silent Silences npm output.
-v, --verbose Show verbose npm output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into aurora.
Uses npm to install plugins.
Installation of a user-installed plugin will override a core plugin.
Use the AURORA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
Use the AURORA_NPM_REGISTRY environment variable to set the npm registry.
ALIASES
$ aurora plugins add
EXAMPLES
Install a plugin from npm registry.
$ aurora plugins add myplugin
Install a plugin from a github url.
$ aurora plugins add https://github.com/someuser/someplugin
Install a plugin from a github slug.
$ aurora plugins add someuser/someplugin
aurora plugins:inspect PLUGIN...
Displays installation properties of a plugin.
USAGE
$ aurora 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
$ aurora plugins inspect myplugin
See code: @oclif/plugin-plugins
aurora plugins install PLUGIN
Installs a plugin into aurora.
USAGE
$ aurora plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]
ARGUMENTS
PLUGIN... Plugin to install.
FLAGS
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
-h, --help Show CLI help.
-s, --silent Silences npm output.
-v, --verbose Show verbose npm output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into aurora.
Uses npm to install plugins.
Installation of a user-installed plugin will override a core plugin.
Use the AURORA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
Use the AURORA_NPM_REGISTRY environment variable to set the npm registry.
ALIASES
$ aurora plugins add
EXAMPLES
Install a plugin from npm registry.
$ aurora plugins install myplugin
Install a plugin from a github url.
$ aurora plugins install https://github.com/someuser/someplugin
Install a plugin from a github slug.
$ aurora plugins install someuser/someplugin
See code: @oclif/plugin-plugins
aurora plugins link PATH
Links a plugin into the CLI for development.
USAGE
$ aurora plugins link PATH [-h] [--install] [-v]
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
$ aurora plugins link myplugin
See code: @oclif/plugin-plugins
aurora plugins remove [PLUGIN]
Removes a plugin from the CLI.
USAGE
$ aurora plugins remove [PLUGIN...] [-h] [-v]
ARGUMENTS
[PLUGIN...] plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ aurora plugins unlink
$ aurora plugins remove
EXAMPLES
$ aurora plugins remove myplugin
aurora plugins reset
Remove all user-installed and linked plugins.
USAGE
$ aurora 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
aurora plugins uninstall [PLUGIN]
Removes a plugin from the CLI.
USAGE
$ aurora plugins uninstall [PLUGIN...] [-h] [-v]
ARGUMENTS
[PLUGIN...] plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ aurora plugins unlink
$ aurora plugins remove
EXAMPLES
$ aurora plugins uninstall myplugin
See code: @oclif/plugin-plugins
aurora plugins unlink [PLUGIN]
Removes a plugin from the CLI.
USAGE
$ aurora plugins unlink [PLUGIN...] [-h] [-v]
ARGUMENTS
[PLUGIN...] plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ aurora plugins unlink
$ aurora plugins remove
EXAMPLES
$ aurora plugins unlink myplugin
aurora plugins update
Update installed plugins.
USAGE
$ aurora plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins
aurora provision
Provision Aurora project infrastructure (DNS + Hosting + CI/CD secrets).
USAGE
$ aurora provision [-c <value>] [--db-password <value>] [--env <value>] [--ftp-password <value>]
[--plesk-ssh-user <value>] [--skip-cicd] [--skip-dns] [--skip-hosting] [--skip-ssh] [--target back|front]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
--db-password=<value> [env: DB_PASSWORD] Global DB password (fallback). Per-env: DEV_DB_PASSWORD,
PROD_DB_PASSWORD, etc.
--env=<value> Provision only this environment (e.g. dev, qa, prod)
--ftp-password=<value> [env: FTP_PASSWORD] Global FTP password (fallback). Per-env: DEV_FTP_PASSWORD,
PROD_FTP_PASSWORD, etc.
--plesk-ssh-user=<value> [default: root, env: PLESK_SSH_USER] SSH user for Plesk server commands
--skip-cicd Skip CI/CD secrets/variables setup
--skip-dns Skip DNS record creation
--skip-hosting Skip Plesk hosting setup
--skip-ssh Skip SSH key generation and installation
--target=<option> Provision only this target (back or front)
<options: back|front>
DESCRIPTION
Provision Aurora project infrastructure (DNS + Hosting + CI/CD secrets).
EXAMPLES
$ aurora provision --ftp-password s3cret
$ aurora provision --env dev --target back
$ aurora provision --skip-dns --skip-cicd
FTP_PASSWORD=x aurora provision # global password for all envs
DEV_FTP_PASSWORD=x PROD_FTP_PASSWORD=y aurora provision # per-env passwords
See code: src/commands/provision/index.ts
aurora sheets diff
Show differences between Aurora YAML schemas and Google Sheets.
USAGE
$ aurora sheets diff [--all | --bc <value>] [-c <value>] [--summary]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
--all Diff all bounded contexts
--bc=<value> Bounded context name
--summary Show only summary
DESCRIPTION
Show differences between Aurora YAML schemas and Google Sheets.
EXAMPLES
$ aurora sheets diff --bc iam
$ aurora sheets diff --all
$ aurora sheets diff --all --summary
See code: src/commands/sheets/diff.ts
aurora sheets list
List configured bounded contexts for Google Sheets sync.
USAGE
$ aurora sheets list [-c <value>]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
DESCRIPTION
List configured bounded contexts for Google Sheets sync.
EXAMPLES
$ aurora sheets list
See code: src/commands/sheets/list.ts
aurora sheets pull
Pull schemas from Google Sheets to Aurora YAML files.
USAGE
$ aurora sheets pull [--all | --bc <value>] [-c <value>] [--dry-run] [--no-backup] [-v]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
-v, --verbose Show detailed output
--all Pull all bounded contexts
--bc=<value> Bounded context name
--dry-run Preview without making changes
--no-backup Skip creating backup before pull
DESCRIPTION
Pull schemas from Google Sheets to Aurora YAML files.
EXAMPLES
$ aurora sheets pull --bc iam
$ aurora sheets pull --all
$ aurora sheets pull --all --no-backup
$ aurora sheets pull --bc iam --dry-run
See code: src/commands/sheets/pull.ts
aurora sheets push
Push Aurora YAML schemas to Google Sheets.
USAGE
$ aurora sheets push [--all | --bc <value>] [-c <value>] [--dry-run] [-v]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
-v, --verbose Show detailed output
--all Push all bounded contexts
--bc=<value> Bounded context name
--dry-run Preview without making changes
DESCRIPTION
Push Aurora YAML schemas to Google Sheets.
EXAMPLES
$ aurora sheets push
$ aurora sheets push --bc iam
$ aurora sheets push --all
$ aurora sheets push --bc iam --dry-run
See code: src/commands/sheets/push.ts
aurora sheets validate
Validate connection and format of a Google Sheet.
USAGE
$ aurora sheets validate [--bc <value>] [-c <value>]
FLAGS
-c, --config=<value> [default: ./aurora.yaml] Path to aurora.yaml config file
--bc=<value> Bounded context name
DESCRIPTION
Validate connection and format of a Google Sheet.
EXAMPLES
$ aurora sheets validate --bc iam
See code: src/commands/sheets/validate.ts
Sheets (Google Sheets Sync)
Bidirectional sync between Aurora YAML schemas and Google Sheets. Each bounded context maps to a spreadsheet where module schemas can be collaboratively edited.
Prerequisites
1. Google Service Account
Create a service account in Google Cloud Console with Google Sheets API enabled, then base64-encode the JSON key:
base64 -i service-account.json
Add it to your .env:
GOOGLE_SERVICE_ACCOUNT=eyJ0eXBlIjoic2VydmljZV9hY2NvdW50Ii...
Share each spreadsheet with the service account email (with Editor access).
2. Config
Add a sheets section to aurora.yaml:
sheets:
bounded_contexts:
iam:
spreadsheet_id: 'YOUR_SPREADSHEET_ID'
description: 'Identity and Access Management'
common:
spreadsheet_id: 'YOUR_SPREADSHEET_ID'
description: 'Common module schemas'
YAML schemas are expected in ./cliter/{bounded_context}/*.aurora.yaml.
Usage
aurora sheets list
aurora sheets validate --bc iam
aurora sheets push --bc iam
aurora sheets push --all
aurora sheets push --all --dry-run
aurora sheets pull --bc iam
aurora sheets pull --all
aurora sheets pull --all --no-backup
aurora sheets diff --bc iam
aurora sheets diff --all --summary
Without --bc or --all, commands prompt interactively for the bounded context.
Deploy
Trigger CI/CD pipelines by pushing source branches to environments/{env}. The GitHub Actions workflow is configured to run on push to environments/**.
Each environment in aurora.yaml has an optional source field (defaults to main) that specifies which branch to push:
environments:
dev:
source: main
prod:
source: qa
Usage
aurora deploy
aurora deploy --env dev
aurora deploy --dry-run
aurora deploy --env prod -c ../aurora.yaml
Internally, the command runs git push origin {source}:environments/{env} for each resolved environment.
Provision Setup
Prerequisites
1. Environment variables
Create a .env file in your project root (next to aurora.yaml):
IONOS_API_KEY=prefix.secret
PLESK_API_KEY=your-plesk-api-key
PLESK_HOST=plesk.yourserver.com
PLESK_SSH_KEY=~/.ssh/plesk.yourserver.com
PLESK_SSH_USER=root
# Global passwords (used as fallback for all environments)
FTP_PASSWORD=your-ftp-password
DB_PASSWORD=your-db-password
# Per-environment passwords (take priority over global)
# DEV_FTP_PASSWORD=dev-ftp-pass
# PROD_FTP_PASSWORD=prod-ftp-pass
# DEV_DB_PASSWORD=dev-db-pass
# PROD_DB_PASSWORD=prod-db-pass
2. SSH access to Plesk server
The deploy key installation on the Plesk server requires SSH access. If SSH is not available, the CLI will show a warning with the public key to install manually — it does not block the deployment.
To set up SSH access, generate a key named after the server and copy it:
ssh-keygen -t ed25519 -C "aurora-cli@PLESK_HOST" -f ~/.ssh/PLESK_HOST -N ""
ssh-copy-id -i ~/.ssh/PLESK_HOST.pub root@PLESK_HOST
ssh -i ~/.ssh/PLESK_HOST root@PLESK_HOST "echo OK"
Replace PLESK_HOST with your actual server hostname (e.g., s14.beopen.cloud).
Then add the key path to your .env:
PLESK_SSH_KEY=~/.ssh/PLESK_HOST
3. Project config
Copy aurora.example.yaml to aurora.yaml in your project and fill in your values.
Usage
aurora provision
aurora provision --env dev
aurora provision --env prod --target back
aurora provision --target front
aurora provision --skip-dns --skip-cicd
aurora provision --ftp-password s3cret --db-password dbpass
GitHub secrets and variables are prefixed with ENV_TARGET_ (e.g., DEV_BACK_SSH_PRIVATE_KEY, PROD_FRONT_SERVER_HOST).