
Security News
White House Authorizes Private Companies to Conduct Offensive Cyber Operations
A new federal program will let vetted U.S. cybersecurity firms help investigate and disrupt foreign cybercrime groups under government direction.
@aurorajs.dev/cli
Advanced tools
A new CLI generated with oclif
$ 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
...
aurora add SCOPEaurora ai setupaurora autocomplete [SHELL]aurora deployaurora env decryptaurora env encryptaurora help [COMMAND]aurora keysaurora load SCOPE ELEMENTaurora new NAMEaurora pipelineaurora pluginsaurora plugins add PLUGINaurora plugins:inspect PLUGIN...aurora plugins install PLUGINaurora plugins link PATHaurora plugins remove [PLUGIN]aurora plugins resetaurora plugins uninstall [PLUGIN]aurora plugins unlink [PLUGIN]aurora plugins updateaurora provisionaurora sheets diffaurora sheets listaurora sheets pullaurora sheets pushaurora sheets validateaurora add SCOPEAdd 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 setupGenerate 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 deployTrigger 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 decryptDecrypt .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 encryptEncrypt .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 keysGenerate 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 ELEMENTLoad 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 NAMECreate 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 pipelineGenerate 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 pluginsList 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 PLUGINInstalls 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 PLUGINInstalls 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 PATHLinks 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 resetRemove 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 updateUpdate 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 provisionProvision 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 diffShow 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 listList 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 pullPull 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 pushPush 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 validateValidate 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
Bidirectional sync between Aurora YAML schemas and Google Sheets. Each bounded context maps to a spreadsheet where module schemas can be collaboratively edited.
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).
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.
# List configured bounded contexts
aurora sheets list
# Validate connection to a spreadsheet
aurora sheets validate --bc iam
# Push YAML schemas to Google Sheets
aurora sheets push --bc iam
aurora sheets push --all
aurora sheets push --all --dry-run
# Pull from Google Sheets to YAML files
aurora sheets pull --bc iam
aurora sheets pull --all
aurora sheets pull --all --no-backup
# Show differences between YAML and Sheets
aurora sheets diff --bc iam
aurora sheets diff --all --summary
Without --bc or --all, commands prompt interactively for the bounded context.
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 # pushes main → environments/dev
prod:
source: qa # promotes qa → environments/prod
# Deploy all environments
aurora deploy
# Deploy only dev
aurora deploy --env dev
# Dry run — show what would be pushed without executing
aurora deploy --dry-run
# Custom config path
aurora deploy --env prod -c ../aurora.yaml
Internally, the command runs git push origin {source}:environments/{env} for each resolved environment.
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
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:
# 1. Generate key (one time per machine)
ssh-keygen -t ed25519 -C "aurora-cli@PLESK_HOST" -f ~/.ssh/PLESK_HOST -N ""
# 2. Copy to server (will ask for root password)
ssh-copy-id -i ~/.ssh/PLESK_HOST.pub root@PLESK_HOST
# 3. Verify
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
Copy aurora.example.yaml to aurora.yaml in your project and fill in your values.
# Provision all environments (passwords from .env)
aurora provision
# Provision only dev
aurora provision --env dev
# Provision only prod backend
aurora provision --env prod --target back
# Provision only frontend (all environments)
aurora provision --target front
# Skip DNS and CI/CD (applies to all plans)
aurora provision --skip-dns --skip-cicd
# Pass passwords inline (overrides .env)
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).
FAQs
A new CLI generated with oclif
The npm package @aurorajs.dev/cli receives a total of 76 weekly downloads. As such, @aurorajs.dev/cli popularity was classified as not popular.
We found that @aurorajs.dev/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A new federal program will let vetted U.S. cybersecurity firms help investigate and disrupt foreign cybercrime groups under government direction.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.