返回 Skill 列表
extension
分类: 开发与工程无需 API Key

aurora-cli

运行Aurora CLI命令以生成/重新生成模块,添加包或创建项目。触发条件:当用户要求重新生成代码、加载模块、添加包或创建新的Aurora项目时。

person作者: jakexiaohubgithub

When to Use

  • User asks to "regenerate", "load", or "generate" a module
  • User wants to add a package (oauth, auditing, etc.)
  • User needs to create a new Aurora project
  • After YAML schema changes that require code regeneration
  • User mentions "aurora cli" or "aurora load"

Critical Patterns

Command Structure

| Action | Command | When to Use | | ----------------- | --------------------------------------------- | ----------------------------- | | Regenerate module | aurora load back module -n=<bc>/<module> | After YAML changes | | Force regenerate | aurora load back module -n=<bc>/<module> -f | Override hash protection | | With tests | aurora load back module -n=<bc>/<module> -t | Generate e2e tests | | Add package | aurora add back <package> | Install preconfigured package | | New project | aurora new back <name> | Create new project (rare) |

CRITICAL: Always use -ft for schema changes

When regenerating a module after YAML schema changes, ALWAYS use -ft flags. Without -ft, existing files are not overwritten and tests are not regenerated, causing the generated code to be out of sync with the schema.

# ✅ CORRECT - Always use after schema changes
aurora load back module -n=<bc>/<module> -ft

# ❌ INCORRECT - Files won't be updated, tests won't regenerate
aurora load back module -n=<bc>/<module>

Hash Protection System

Aurora tracks file modifications via hash. Files with custom changes are protected by default:

  • Without -f: Modified files are preserved
  • With -f: All files are overwritten (use with caution)

CRITICAL: Handling .origin files after regeneration

When Aurora detects that a file was manually modified (different hash), it creates a .origin.ts file instead of overwriting. The CLI asks: Do you want to manage origin files? (Y/n)always answer Y.

After the CLI finishes, invoke the aurora-origin-merge skill to handle all .origin files. That skill contains the complete merge workflow, rules by file type, and conflict resolution.


Execution Flow

1. Identify Action

Ask the user what they want to do:

  1. Generate/Regenerate module - Regenerate code from existing YAML
  2. Add package - Install preconfigured package (auditing, oauth, etc.)
  3. Create project - Create new Aurora project (rare)

2. Gather Information

For Generate/Regenerate Module:

  1. Ask which bounded context and module to regenerate
  2. ONLY if you can't identify them, list available YAMLs in cliter/ using Glob
  3. Always use -ft flags (force + tests) — do NOT ask, this is mandatory

For Add Package:

  1. Run aurora add back to show available packages
  2. Ask which package to install
  3. Ask if --force is needed

For Create Project:

  1. Ask for project name
  2. Confirm before executing

3. Execute Command

# Regenerate module
aurora load back module -n=<bounded-context>/<module> [-f] [-t] [-v]

# Add package
aurora add back <package> [-f]

# Create project
aurora new back <app-name>

4. Report Results

Command executed successfully
aurora load back module -n=tesla/model -ft

Regenerated Files:
  - src/@api/tesla/model/controllers/...
  - src/@app/tesla/model/domain/...

Preserved Files (modified hash):
  - src/@app/tesla/model/application/create/create-model.command-handler.ts
  (These files have custom modifications and were not overwritten)

Summary:
  - X files regenerated
  - Y files preserved

Commands

# Regenerate module from YAML
aurora load back module -n=tesla/model

# Regenerate with force + tests
aurora load back module -n=tesla/model -ft

# Add package
aurora add back oauth

# Show available packages
aurora add back

# Create new project
aurora new back my-project

Flags

| Flag | Description | | --------------- | -------------------------------------------------- | | -f, --force | Overwrite existing files (even with modified hash) | | -t, --tests | Generate e2e test files | | -v, --verbose | Show detailed CLI output |


Error Handling

| Error | Solution | | ---------------- | -------------------------------------------- | | CLI not found | Report that Aurora CLI is not installed | | YAML not found | Report expected path and suggest creating it | | Permission error | Report and suggest solutions | | Execution error | Show complete error output |


Related Skills

This skill works with:

  • aurora-project-structure: Understand project structure and locate generated files
  • aurora-cqrs: Understand CQRS components that will be regenerated
  • conventional-commits: Create commits after successful regeneration

Resources

  • YAML Definitions: cliter/[package]/[module].aurora.yaml
  • Lock Files: cliter/[package]/[module]-lock.json
  • Generated Code: src/@api/ and src/@app/