@h-ai/cli 0.1.0-alpha.67 → 0.1.0-alpha.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.en.md +40 -4
  2. package/README.ja.md +40 -4
  3. package/README.md +40 -4
  4. package/dist/{src-2V6VP4I5.js → chunk-FI56GONY.js} +32 -3103
  5. package/dist/chunk-FI56GONY.js.map +1 -0
  6. package/dist/chunk-MBPB37FR.js +1348 -0
  7. package/dist/chunk-MBPB37FR.js.map +1 -0
  8. package/dist/{chunk-7DSURTJ4.js → chunk-ZFNBUF77.js} +327 -199
  9. package/dist/chunk-ZFNBUF77.js.map +1 -0
  10. package/dist/cli-config-templates-W2LLPMB6.js +5 -0
  11. package/dist/{cli-config-templates-6AHNUGBN.js.map → cli-config-templates-W2LLPMB6.js.map} +1 -1
  12. package/dist/{cli-skill-templates-FC3QRKDO.js → cli-skill-templates-US5CCAJ4.js} +3 -3
  13. package/dist/{cli-skill-templates-FC3QRKDO.js.map → cli-skill-templates-US5CCAJ4.js.map} +1 -1
  14. package/dist/index.js +920 -336
  15. package/dist/index.js.map +1 -1
  16. package/dist/metafile-esm.json +1 -0
  17. package/dist/src-DSJJXM2F.js +3849 -0
  18. package/dist/src-DSJJXM2F.js.map +1 -0
  19. package/package.json +9 -8
  20. package/templates/apps/admin/messages/ja-JP.json +38 -0
  21. package/templates/apps/admin/src/routes/+layout.svelte.hbs +16 -6
  22. package/templates/apps/admin/src/routes/admin/+layout.svelte.hbs +3 -3
  23. package/templates/apps/api/apps/{{projectName}}-contract/src/index.ts.hbs +2 -0
  24. package/templates/apps/api/apps/{{projectName}}-contract/src/{{projectName}}-contract.ts.hbs +4 -1
  25. package/templates/apps/api/apps/{{projectName}}-service/README.md.hbs +5 -1
  26. package/templates/apps/api/apps/{{projectName}}-service/config/_core.yml.hbs +0 -10
  27. package/templates/apps/api/apps/{{projectName}}-service/config/_serv.yml.hbs +2 -1
  28. package/templates/apps/api/apps/{{projectName}}-service/src/app.ts.hbs +24 -11
  29. package/templates/apps/api/apps/{{projectName}}-service/src/index.ts.hbs +8 -1
  30. package/templates/apps/api/apps/{{projectName}}-service/src/lib/server/init.ts.hbs +68 -11
  31. package/templates/apps/api/apps/{{projectName}}-service/src/server/procedures/index.ts.hbs +10 -2
  32. package/templates/apps/api/e2e/api-service.spec.ts.hbs +2 -2
  33. package/templates/apps/api/package.json.hbs +1 -1
  34. package/templates/apps/api/playwright.config.ts.hbs +15 -7
  35. package/templates/apps/fullstack/apps/{{projectName}}-app/README.md.hbs +1 -1
  36. package/templates/apps/fullstack/apps/{{projectName}}-app/messages/ja-JP.json.hbs +7 -0
  37. package/templates/apps/fullstack/apps/{{projectName}}-app/src/App.svelte.hbs +7 -1
  38. package/templates/apps/fullstack/apps/{{projectName}}-app/vite.config.ts.hbs +1 -1
  39. package/templates/apps/fullstack/apps/{{projectName}}-desktop/README.md.hbs +1 -1
  40. package/templates/apps/fullstack/apps/{{projectName}}-desktop/messages/ja-JP.json.hbs +7 -0
  41. package/templates/apps/fullstack/apps/{{projectName}}-desktop/vite.config.ts.hbs +1 -1
  42. package/templates/apps/fullstack/apps/{{projectName}}-miniapp/messages/ja-JP.json.hbs +12 -0
  43. package/templates/apps/fullstack/apps/{{projectName}}-web/README.md.hbs +1 -1
  44. package/templates/apps/fullstack/apps/{{projectName}}-web/messages/ja-JP.json.hbs +7 -0
  45. package/templates/apps/fullstack/apps/{{projectName}}-web/vite.config.ts.hbs +1 -1
  46. package/templates/apps/fullstack/e2e/fullstack.spec.ts.hbs +19 -8
  47. package/templates/apps/fullstack/package.json.hbs +1 -1
  48. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/admin-schemas.ts.hbs +1 -1
  49. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/index.ts.hbs +2 -0
  50. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/{{projectName}}-contract.ts.hbs +3 -0
  51. package/templates/apps/fullstack/packages/{{projectName}}-serv/README.md.hbs +5 -2
  52. package/templates/apps/fullstack/packages/{{projectName}}-serv/config/_core.yml.hbs +0 -6
  53. package/templates/apps/fullstack/packages/{{projectName}}-serv/config/_reach.yml.hbs +8 -0
  54. package/templates/apps/fullstack/packages/{{projectName}}-serv/config/_serv.yml.hbs +2 -1
  55. package/templates/apps/fullstack/packages/{{projectName}}-serv/package.json.hbs +6 -0
  56. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/app-server.ts.hbs +9 -5
  57. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/admin-service.ts.hbs +3 -2
  58. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/messages.ts.hbs +16 -1
  59. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/admin-procedures.ts.hbs +7 -3
  60. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/index.ts.hbs +3 -0
  61. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/runtime.ts.hbs +58 -7
  62. package/templates/apps/fullstack/packages/{{projectName}}-serv/tests/app-server.test.ts.hbs +13 -3
  63. package/templates/apps/fullstack/packages/{{projectName}}-shared/README.md.hbs +9 -4
  64. package/templates/apps/fullstack/packages/{{projectName}}-shared/messages/ja-JP.json.hbs +105 -0
  65. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/AdminWorkspace.svelte.hbs +3 -3
  66. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/AppShell.svelte.hbs +5 -5
  67. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/audit.svelte.hbs +7 -7
  68. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/settings.svelte.hbs +1 -1
  69. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/users.svelte.hbs +8 -8
  70. package/templates/apps/fullstack/packages/{{projectName}}-shared/tests/api-client.test.ts.hbs +11 -12
  71. package/templates/apps/fullstack/playwright.config.ts.hbs +15 -6
  72. package/templates/apps/h5/messages/ja-JP.json +40 -0
  73. package/templates/apps/h5/src/routes/+layout.svelte.hbs +14 -3
  74. package/templates/apps/mobile-app/messages/ja-JP.json +36 -0
  75. package/templates/apps/mobile-app/src/App.svelte.hbs +13 -3
  76. package/templates/apps/mobile-app/src/lib/api.ts.hbs +173 -14
  77. package/templates/apps/website/messages/ja-JP.json +32 -0
  78. package/templates/apps/website/src/routes/+layout.svelte.hbs +10 -2
  79. package/templates/base/e2e/app.spec.ts.hbs +13 -8
  80. package/templates/base/package.json.hbs +4 -1
  81. package/templates/base/playwright.config.ts +15 -4
  82. package/templates/base/src/hooks.server.ts.hbs +15 -6
  83. package/templates/base/src/lib/server/init.ts.hbs +139 -30
  84. package/templates/base/vite.config.ts.hbs +2 -2
  85. package/templates/features/iam/routes-shared/api/auth/logout/+server.ts +11 -6
  86. package/templates/features/payment/routes/api/v1/payment/create/+server.ts +18 -25
  87. package/templates/features/payment/routes/api/v1/payment/notify/[provider]/+server.ts +4 -0
  88. package/templates/i18n/project.inlang/settings.json +1 -1
  89. package/templates/shared/e2e-env.ts +98 -0
  90. package/templates/shared/run-e2e.mjs +51 -12
  91. package/templates/skills/AGENTS.md +4 -0
  92. package/templates/skills/bridges/admin/AGENTS.md +5 -1
  93. package/templates/skills/bridges/api/AGENTS.md +2 -0
  94. package/templates/skills/bridges/fullstack/AGENTS.md.hbs +4 -0
  95. package/templates/skills/bridges/h5/AGENTS.md +5 -1
  96. package/templates/skills/bridges/mobile-app/AGENTS.md +5 -1
  97. package/templates/skills/bridges/website/AGENTS.md +5 -1
  98. package/templates/skills/hai-ai/SKILL.md +8 -2
  99. package/templates/skills/hai-ai/guide.md +134 -60
  100. package/templates/skills/hai-ai/reference.md +51 -11
  101. package/templates/skills/hai-api-client/SKILL.md +2 -0
  102. package/templates/skills/hai-api-client/reference.md +17 -5
  103. package/templates/skills/hai-api-contract/SKILL.md +1 -0
  104. package/templates/skills/hai-api-contract/reference.md +4 -2
  105. package/templates/skills/hai-app-create/SKILL.md +4 -0
  106. package/templates/skills/hai-app-create/development.md +20 -4
  107. package/templates/skills/hai-app-create/reference.md +2 -1
  108. package/templates/skills/hai-app-review/SKILL.md +6 -2
  109. package/templates/skills/hai-app-review/differential.md +34 -0
  110. package/templates/skills/hai-app-tests/SKILL.md +3 -1
  111. package/templates/skills/hai-app-tests/reference.md +4 -4
  112. package/templates/skills/hai-app-tests/validation.md +10 -3
  113. package/templates/skills/hai-audit/SKILL.md +10 -8
  114. package/templates/skills/hai-audit/reference.md +3 -0
  115. package/templates/skills/hai-build/reference.md +6 -4
  116. package/templates/skills/hai-cache/SKILL.md +9 -3
  117. package/templates/skills/hai-cache/reference.md +53 -11
  118. package/templates/skills/hai-capacitor/SKILL.md +3 -1
  119. package/templates/skills/hai-capacitor/reference.md +9 -5
  120. package/templates/skills/hai-core/SKILL.md +4 -0
  121. package/templates/skills/hai-core/reference.md +25 -5
  122. package/templates/skills/hai-crypto/SKILL.md +10 -2
  123. package/templates/skills/hai-crypto/reference.md +64 -10
  124. package/templates/skills/hai-datapipe/SKILL.md +2 -0
  125. package/templates/skills/hai-datapipe/reference.md +3 -1
  126. package/templates/skills/hai-deploy/SKILL.md +9 -4
  127. package/templates/skills/hai-deploy/middleware.md +51 -37
  128. package/templates/skills/hai-iam/SKILL.md +24 -8
  129. package/templates/skills/hai-iam/reference.md +181 -154
  130. package/templates/skills/hai-kit/SKILL.md +23 -7
  131. package/templates/skills/hai-kit/reference.md +42 -24
  132. package/templates/skills/hai-payment/SKILL.md +13 -11
  133. package/templates/skills/hai-payment/reference.md +80 -41
  134. package/templates/skills/hai-pr-review/SKILL.md +21 -88
  135. package/templates/skills/hai-reach/SKILL.md +5 -2
  136. package/templates/skills/hai-reach/reference.md +83 -22
  137. package/templates/skills/hai-reldb/SKILL.md +5 -2
  138. package/templates/skills/hai-reldb/reference.md +68 -25
  139. package/templates/skills/hai-scheduler/SKILL.md +8 -5
  140. package/templates/skills/hai-scheduler/reference.md +38 -24
  141. package/templates/skills/hai-serv/SKILL.md +23 -8
  142. package/templates/skills/hai-serv/reference.md +123 -87
  143. package/templates/skills/hai-spec-implement/SKILL.md +4 -0
  144. package/templates/skills/hai-spec-implement/evaluation.md +18 -0
  145. package/templates/skills/hai-spec-implement/handoff.md +47 -0
  146. package/templates/skills/hai-spec-implement/templates.md +5 -0
  147. package/templates/skills/hai-spec-implement/workflow.md +2 -0
  148. package/templates/skills/hai-spec-review/SKILL.md +4 -0
  149. package/templates/skills/hai-storage/SKILL.md +8 -2
  150. package/templates/skills/hai-storage/reference.md +64 -25
  151. package/templates/skills/hai-ui/SKILL.md +16 -2
  152. package/templates/skills/hai-ui/guide.md +3 -3
  153. package/templates/skills/hai-ui/reference.md +17 -6
  154. package/templates/skills/hai-ui-design/SKILL.md +31 -0
  155. package/templates/skills/hai-ui-design/patterns.md +26 -0
  156. package/templates/skills/hai-ui-review/SKILL.md +30 -0
  157. package/templates/skills/hai-ui-review/checklist.md +22 -0
  158. package/templates/skills/hai-vecdb/SKILL.md +12 -8
  159. package/templates/skills/hai-vecdb/reference.md +33 -3
  160. package/dist/chunk-7DSURTJ4.js.map +0 -1
  161. package/dist/chunk-AOQ4N657.js +0 -640
  162. package/dist/chunk-AOQ4N657.js.map +0 -1
  163. package/dist/cli-config-templates-6AHNUGBN.js +0 -5
  164. package/dist/src-2V6VP4I5.js.map +0 -1
@@ -0,0 +1,1348 @@
1
+ #!/usr/bin/env node
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ import fse from 'fs-extra';
5
+ import Handlebars from 'handlebars';
6
+ import process from 'process';
7
+ import { core } from '@h-ai/core';
8
+
9
+ // messages/en-US.json
10
+ var en_US_default = {
11
+ cli_createFailed: "Failed to create project:",
12
+ cli_installFailed: "Dependency installation failed ({pm}).",
13
+ cli_commandLabel: "Command: {command}",
14
+ cli_exitCode: "Exit code: {code}",
15
+ cli_signal: "Signal: {signal}",
16
+ cli_selectHint: "- \u2191/\u2193 select, Enter confirm",
17
+ cli_multiselectHint: "- Space select, Enter confirm",
18
+ cli_featuresPrompt: "Select features:",
19
+ cli_frontendsPrompt: "Select frontend targets:",
20
+ cli_invalidGenerateName: "Use a name starting with a letter, with only letters, digits, hyphens or underscores",
21
+ cli_generateOutsideWorkspace: "Generated files must remain inside the workspace, including symbolic link targets",
22
+ cli_generateExists: "File already exists: {path}. Use --force to overwrite it",
23
+ cli_deploy_module_missing: "Deploy module not found. Install @h-ai/deploy first:",
24
+ cli_deploy_load_credentials: "Loading credentials...",
25
+ cli_deploy_credentials_failed: "Failed to load credentials: {message}",
26
+ cli_deploy_credentials_loaded: "Loaded {count} credentials",
27
+ cli_deploy_load_config: "Loading deploy config...",
28
+ cli_deploy_config_missing: "Deploy config not found: {path}",
29
+ cli_deploy_config_hint: "Run: hai add deploy to generate config template",
30
+ cli_deploy_config_loaded: "Deploy config loaded",
31
+ cli_deploy_scanning: "Scanning application...",
32
+ cli_deploy_scan_failed: "Scan failed: {message}",
33
+ cli_deploy_scanned: "Scanned: {name} (SvelteKit: {sveltekit}, Services: {services})",
34
+ cli_deploy_none: "none",
35
+ cli_deploy_initializing: "Initializing deploy module...",
36
+ cli_deploy_init_failed: "Init failed: {message}",
37
+ cli_deploy_initialized: "Deploy module initialized",
38
+ cli_deploy_deploying: "Deploying application...",
39
+ cli_deploy_failed: "Deploy failed: {message}",
40
+ cli_deploy_success: "Deployment successful!",
41
+ cli_deploy_url: " URL: {url}",
42
+ cli_deploy_id: " ID: {id}",
43
+ cli_deploy_command_failed: "Deploy command failed",
44
+ cli_adminPasswordSaved: " Administrator: admin; the random initial password is saved as HAI_ADMIN_DEFAULT_PASSWORD in .env.local",
45
+ cli_deploy_environment: "Deployment environment (test / prod / other)",
46
+ cli_deploy_cancelled: "Deployment cancelled.",
47
+ cli_deploy_environment_hint: "Specify --env <environment>; non-interactive calls also require --yes, or use a terminal to select middleware.",
48
+ cli_deploy_middleware: "{service}: current default {backend}; {purpose}. Source: {source}",
49
+ cli_deploy_action: "How should {service} be configured?",
50
+ cli_deploy_default: "Use default configuration",
51
+ cli_deploy_custom: "Use custom configuration",
52
+ cli_deploy_keep: "Keep unchanged",
53
+ cli_deploy_backend: "Select the backend for {service}",
54
+ cli_deploy_field: "{description} ({constraint})",
55
+ cli_deploy_required: "This value is required",
56
+ cli_deploy_invalid_value: "The value does not satisfy the field constraints",
57
+ cli_deploy_cloud_unsupported: "No cloud provisioner is available for {backend}; use a custom connection or select a supported backend.",
58
+ cli_deploy_saved: "Saved {service} configuration (public settings in the target environment file; credentials in .env.local)",
59
+ cli_deploy_missing_keep: "The target environment has no complete {service} configuration to keep.",
60
+ cli_deploy_s3_engine: "Select the S3 service implementation (application type remains s3)",
61
+ cli_deploy_target_reused: "Reusing saved deployment target {target}.",
62
+ cli_deploy_target_missing: "Deployment target is incomplete: {fields}. Configure the deployment target, or run interactively to complete setup.",
63
+ cli_deploy_target_platform: "Select the deployment platform",
64
+ cli_deploy_target_ssh: "SSH server (Docker / Podman Compose)",
65
+ cli_deploy_target_field: "{name}",
66
+ cli_deploy_target_ssh_hint: "Enter connection and port settings. Enter a private key file path, or leave blank for ssh-agent/default keys. Leave known_hosts blank for the OpenSSH default. New host fingerprints are trusted on first connection; changed fingerprints are rejected.",
67
+ cli_deploy_target_runtime: "Remote container runtime (auto prefers Podman)",
68
+ cli_deploy_target_saved: "Deployment target saved to Git-ignored .env.local and reused on subsequent runs.",
69
+ cli_deploy_middleware_plan: "Do you need to configure middleware for this deployment?",
70
+ cli_deploy_middleware_configure: "Review and configure each middleware service",
71
+ cli_deploy_middleware_skip: "Environment is complete; deploy directly",
72
+ cli_deploy_middleware_skipped: "Skipped all middleware configuration and provisioning. Deploying with current environment settings and existing services.",
73
+ cli_build_failed: "Build command {command} failed (exit {code}).",
74
+ cli_build_use_pnpm: "Run via pnpm build to use the project pnpm executable.",
75
+ cli_build_target_invalid: "target must be compile, docker or desktop.",
76
+ cli_build_options_invalid: "runtime, network, sqlite-prebuild-mirror and no-http-proxy require docker; platform and arch require desktop.",
77
+ cli_build_version_invalid: "Set a valid three-part version in the application root package.json (for example 1.2.3 or 1.2.3-beta.1; at most 80 characters).",
78
+ cli_build_native_host: "Build Tauri on the matching OS (windows/linux/macos), with x64 or arm64 architecture. Install the Rust target, system SDK and packaging tools first.",
79
+ cli_build_desktop_missing: "No desktop directories in hai.build.json. Generate a desktop frontend or add an existing Tauri project.",
80
+ cli_build_images_missing: "hai.build.json requires one app image and at most one web image.",
81
+ cli_build_runtime_missing: "Install and start Podman or Docker. auto prefers a reachable Podman engine.",
82
+ cli_build_mirror_invalid: "SQLite mirror must use HTTP(S) without credentials, query or fragment.",
83
+ cli_build_ready: "Build ready ({runtime}): {path}. Reuse these images across deployment environments.",
84
+ cli_build_native_ready: "Tauri build ready: {target}. Installers are under src-tauri/target/{target}/release/bundle in each project.",
85
+ cli_deploy_bundle_provider: "Offline packaging, integrated image builds and selected-service deployment require a docker-ssh Compose destination.",
86
+ cli_deploy_bundle_target: "Generating a bundle without connecting to a server. Review and edit deploy-target.json in the operation directory before deploying.",
87
+ cli_deploy_bundle_ready: "Deployment bundle ready; the server has not been deployed.",
88
+ cli_deploy_bundle_path: "Deployment bundle: {path}",
89
+ cli_build_selection_invalid: "Choose image names declared in hai.build.json: app, web or app,web.",
90
+ cli_build_dockerfile_missing: "Dockerfile not found: {path}. Check hai.build.json.",
91
+ cli_deploy_yaml_node: "Cannot update {path}: {field} must be a configuration object, not a string or array.",
92
+ cli_deploy_inputHOST: "Server address",
93
+ cli_deploy_services_invalid: "Invalid service selection. Available in this project: {services}.",
94
+ cli_deploy_build_artifact_conflict: "Choose --build to create new artifacts or --artifact-dir to use existing artifacts; they cannot be combined.",
95
+ cli_deploy_build_options_required: "Build network, proxy and SQLite binary options require --build.",
96
+ cli_deploy_artifact_invalid: "Image manifest or archive validation failed. Rebuild or select a valid build with --artifact-dir.",
97
+ cli_deploy_inputPORT: "SSH port (default 22)",
98
+ cli_deploy_inputUSERNAME: "SSH username",
99
+ cli_deploy_inputIDENTITYFILE: "SSH private key file (optional; use agent/default keys)",
100
+ cli_deploy_inputKNOWNHOSTSFILE: "Server fingerprint file (optional; use the OpenSSH default)",
101
+ cli_deploy_inputBASEDIR: "Server deployment root directory",
102
+ cli_deploy_inputHOSTPORT: "Public application port",
103
+ cli_deploy_inputCONTAINERPORT: "API container port",
104
+ cli_deploy_inputTOKEN: "Vercel access token",
105
+ cli_deploy_cloud_input_apiKey: "API access key",
106
+ cli_deploy_cloud_input_email: "Account email address",
107
+ cli_deploy_cloud_input_accountId: "Platform account ID",
108
+ cli_deploy_cloud_input_apiToken: "API access token",
109
+ cli_deploy_cloud_input_accessKeyId: "Access key ID",
110
+ cli_deploy_cloud_input_secretAccessKey: "Secret access key",
111
+ cli_deploy_cloud_input_accessKeySecret: "Secret access key",
112
+ cli_deploy_cloud_input_signName: "Approved SMS signature",
113
+ cli_deploy_cloud_input_from: "Sender address (verified domain)",
114
+ cli_deploy_port_invalid: "Enter an integer between 1 and 65535.",
115
+ cli_deploy_build_started: "Building selected application images first\u2026",
116
+ cli_deploy_services: "Selected services: {services}",
117
+ cli_deploy_stage_packaging: "Packaging selected images and middleware",
118
+ cli_deploy_stage_preflight: "Checking server and deployment baseline",
119
+ cli_deploy_stage_images: "Loading offline images",
120
+ cli_deploy_stage_dependencies: "Checking existing dependency services",
121
+ cli_deploy_stage_start: "Updating selected services",
122
+ cli_deploy_stage_health: "Verifying HTTP access",
123
+ cli_deploy_stage_complete: "Server deployment checks passed",
124
+ cli_deploy_choose_services: "Choose services to update (all selected; Space to toggle)",
125
+ cli_deploy_config_invalid: "Deployment configuration is incomplete or invalid. File: {path}; check these fields: {fields}.",
126
+ cli_help_verbose: "Show detailed output",
127
+ cli_help_cwd: "Working directory",
128
+ cli_help_create: "Create a hai application",
129
+ cli_help_appType: "Application type (admin, website, h5, api, mobile-app, fullstack)",
130
+ cli_help_frontends: "Fullstack frontends, comma-separated: web,app,miniapp,desktop",
131
+ cli_help_template: "Module preset (minimal, default, full, custom)",
132
+ cli_help_features: "Application modules, comma-separated: iam,db,cache,ai,storage,crypto",
133
+ cli_help_examples: "Include example code",
134
+ cli_help_noExamples: "Omit example code",
135
+ cli_help_noInstall: "Skip dependency installation",
136
+ cli_help_noDeploy: "Omit deployment tools and commands",
137
+ cli_help_packageManager: "Package manager (pnpm, npm, yarn)",
138
+ cli_help_noGit: "Skip Git initialization",
139
+ cli_help_gitRemote: "Git remote URL",
140
+ cli_help_yes: "Use defaults without interactive prompts",
141
+ cli_help_add: "Add a module to an existing application",
142
+ cli_help_init: "Check project configuration and fill missing files",
143
+ cli_help_forceConfig: "Regenerate module configuration",
144
+ cli_help_generate: "Generate starter code",
145
+ cli_help_output: "Output path",
146
+ cli_help_force: "Overwrite existing output files",
147
+ cli_help_build: "Compile sources, build container images or create Tauri installers",
148
+ cli_help_target: "Artifact type: compile (default), docker or desktop",
149
+ cli_help_images: "Build selected images, such as app, web or app,web",
150
+ cli_help_buildRuntime: "Local container engine: auto (prefers Podman), podman or docker",
151
+ cli_help_buildNetwork: "Build network; defaults to the engine setting (for example, rootless Podman pasta)",
152
+ cli_help_platform: "Tauri system: windows, linux or macos; build on that system",
153
+ cli_help_arch: "Tauri architecture: x64 or arm64",
154
+ cli_help_sqliteMirror: "Trusted SQLite prebuilt binary mirror URL",
155
+ cli_help_noHttpProxy: "Do not pass the local proxy to Podman builds",
156
+ cli_help_deploy: "Deploy an application or create an offline bundle",
157
+ cli_help_environment: "Deployment environment, such as test/prod; its environment file must exist",
158
+ cli_help_envDir: "Environment file directory; detected automatically by default",
159
+ cli_help_deployYes: "Use saved/default configuration without prompts; report missing required values",
160
+ cli_help_projectName: "Project name; defaults to the service package or directory name, with environment suffix",
161
+ cli_help_skipMiddleware: "Skip middleware configuration/provisioning when already configured",
162
+ cli_help_artifactDir: "Existing image artifact directory containing manifest.json",
163
+ cli_help_services: "Update selected services, such as web, app or app,web; otherwise select from the artifact",
164
+ cli_help_deployBuild: "Build selected application images before packaging/deployment; supports --bundle-only",
165
+ cli_help_deployNetwork: "Container network for --build; defaults to the engine setting",
166
+ cli_help_deploySqliteMirror: "SQLite prebuilt mirror for --build",
167
+ cli_help_deployNoProxy: "Do not pass the local proxy to integrated Podman builds",
168
+ cli_help_deployRuntime: "Local engine for image builds and middleware exports: auto, podman or docker",
169
+ cli_help_bundleOnly: "Create an offline tar and Windows/Linux/macOS deployment scripts without connecting",
170
+ cli_help_bundleOutput: "Deployment tar path; application version suffix is added automatically",
171
+ cli_help_generatePage: "Generate a page",
172
+ cli_help_generateComponent: "Generate a component",
173
+ cli_help_generateApi: "Generate an API endpoint",
174
+ cli_help_generateModel: "Generate a data model",
175
+ cli_generateUnsupportedProject: "This project or workspace does not support this generator. Pages require SvelteKit; APIs require SvelteKit or serv. Select the application with --workspace.",
176
+ cli_generateAmbiguousWorkspace: "Multiple workspaces support this generator. Select a package name or relative path with --workspace.",
177
+ cli_generateUnsupportedAggregator: "Cannot safely identify the contract/procedure aggregation points. Preserve the CLI template @hai-generator markers, or extend the existing architecture manually.",
178
+ cli_generateInvalidRouteOutput: "Route output must remain inside SvelteKit src/routes. Serv uses its existing contract/procedure directories and does not accept --output.",
179
+ cli_generateDomainExists: "A contract or procedure domain already exists: {name}. Existing business registrations cannot be replaced.",
180
+ cli_generateRollbackFailed: "Generation failed and rollback or temporary-file cleanup could not complete. Inspect the files reported in the errors before retrying.",
181
+ cli_help_workspace: "Target workspace package name or relative path; defaults to the unique applicable application",
182
+ cli_generateCustomRoutes: "This SvelteKit configuration customizes kit.files. The generator cannot infer its route layout; extend the existing routes manually.",
183
+ cli_generatePageDescription: "SvelteKit page",
184
+ cli_generateComponentDescription: "Svelte component",
185
+ cli_generateApiDescription: "API endpoint",
186
+ cli_generateModelDescription: "Data model",
187
+ cli_generateMigrationDescription: "Database migration",
188
+ cli_generateProgress: "Generating {description}...",
189
+ cli_generateComplete: "Generation complete",
190
+ cli_generateFiles: "Generated or updated files:",
191
+ cli_generateFailed: "Generation failed",
192
+ cli_generateFailureDetail: "Error details:",
193
+ cli_generateTypePrompt: "Select a generator:",
194
+ cli_generateNamePrompt: "Name:",
195
+ cli_generateNameRequired: "Name is required",
196
+ cli_generateCancelled: "Generation cancelled; no files were written",
197
+ cli_generateUnknownType: "Unknown generator type: {type}",
198
+ cli_deploy_local_confirmed: "Local command tree: confirmed exited.",
199
+ cli_deploy_local_unknown: "Local command tree: termination unconfirmed.",
200
+ cli_deploy_local_not_started: "Local command tree: not started.",
201
+ cli_deploy_remote_unknown: "Remote deployment execution: unknown; do not retry or stop services blindly.",
202
+ cli_deploy_remote_finished: "Remote deployment script and recovery finished; verify service health. Running containers do not imply the failed script is still executing.",
203
+ cli_deploy_result_check: "Deployment {id}: inspect server result file {path}.",
204
+ cli_appAdminName: "Admin console",
205
+ cli_appAdminDescription: "Enterprise administration with IAM, database and UI",
206
+ cli_appWebsiteName: "Corporate website",
207
+ cli_appWebsiteDescription: "Responsive, SEO-friendly SSR/SSG website",
208
+ cli_appH5Name: "H5 application",
209
+ cli_appH5Description: "Mobile H5 application with touch interactions and PWA support",
210
+ cli_appApiName: "API service",
211
+ cli_appApiDescription: "Typed API workspace with separate contract and service packages, without UI",
212
+ cli_appMobileName: "Mobile application",
213
+ cli_appMobileDescription: "Capacitor + Svelte 5 + Vite application for Android/iOS",
214
+ cli_appFullstackName: "Fullstack workspace",
215
+ cli_appFullstackDescription: "Multi-client admin application with users, roles, audit, preferences and bidirectional transport encryption",
216
+ cli_frontendWebDescription: "Browser web application",
217
+ cli_frontendAppDescription: "Mobile Capacitor application / H5 frontend",
218
+ cli_frontendMiniappName: "Miniapp",
219
+ cli_frontendMiniappDescription: "Reserved target; generates documentation placeholders only",
220
+ cli_frontendDesktopName: "Desktop",
221
+ cli_frontendDesktopDescription: "Tauri desktop frontend",
222
+ cli_featureIamName: "Identity and access",
223
+ cli_featureIamDescription: "Session/JWT authentication and RBAC authorization",
224
+ cli_featureDbName: "Database",
225
+ cli_featureDbDescription: "SQLite, PostgreSQL and MySQL support",
226
+ cli_featureCacheName: "Cache",
227
+ cli_featureCacheDescription: "Redis / in-memory cache",
228
+ cli_featureAiName: "AI integration",
229
+ cli_featureAiDescription: "LLM adapters, MCP, skills and streaming responses",
230
+ cli_featureStorageName: "File storage",
231
+ cli_featureStorageDescription: "Local storage and S3/OSS/COS cloud storage",
232
+ cli_featureCryptoName: "Cryptography",
233
+ cli_featureCryptoDescription: "SM2/SM3/SM4 and Argon2 password hashing",
234
+ cli_featureAuditName: "Audit log",
235
+ cli_featureAuditDescription: "Operation auditing and security tracking",
236
+ cli_featureReachName: "Notifications",
237
+ cli_featureReachDescription: "Email, SMS and WeChat notifications",
238
+ cli_featurePaymentName: "Payments",
239
+ cli_featurePaymentDescription: "WeChat Pay, Alipay and Stripe integration",
240
+ cli_featureVecdbName: "Vector database",
241
+ cli_featureVecdbDescription: "Vector search with LanceDB, pgvector or Qdrant",
242
+ cli_featureDatapipeName: "Data pipeline",
243
+ cli_featureDatapipeDescription: "Text cleaning, chunking and composable processing pipelines",
244
+ cli_featureSchedulerName: "Task scheduler",
245
+ cli_featureSchedulerDescription: "Cron task registration, execution and logs",
246
+ cli_featureDeployName: "Deployment",
247
+ cli_featureDeployDescription: "Deployment orchestration and multi-platform releases",
248
+ cli_featureApiClientName: "HTTP client",
249
+ cli_featureApiClientDescription: "Typed API calls, errors and streaming requests",
250
+ cli_featureCapacitorName: "Mobile capabilities",
251
+ cli_featureCapacitorDescription: "Capacitor native bridge for mobile applications",
252
+ cli_templateMinimalDescription: "Minimal template \u2014 core features only",
253
+ cli_templateDefaultDescription: "Standard template \u2014 IAM, database and cache",
254
+ cli_templateFullDescription: "Full template \u2014 all features",
255
+ cli_templateCustomDescription: "Custom \u2014 select the features you need",
256
+ cli_createInvalidName: 'Invalid project name: "{name}"; use only lowercase letters, digits and hyphens',
257
+ cli_createOverwrite: "Directory {name} already exists. Overwrite it?",
258
+ cli_cancelled: "Cancelled",
259
+ cli_createDirectory: "Creating project directory...",
260
+ cli_createFiles: "Generating project files...",
261
+ cli_createGit: "Initializing Git repository...",
262
+ cli_createInstall: "Installing dependencies ({manager})...",
263
+ cli_cancelledLine: "\nCancelled",
264
+ cli_createNamePrompt: "Project name:",
265
+ cli_createNameRequired: "Project name is required",
266
+ cli_createNamePattern: "Project names may contain only lowercase letters, digits and hyphens",
267
+ cli_createTypePrompt: "Application type:",
268
+ cli_createTemplatePrompt: "Select a template:",
269
+ cli_createExamplesPrompt: "Add example code?",
270
+ cli_createManagerPrompt: "Package manager:",
271
+ cli_createPnpmRecommended: "pnpm (recommended)",
272
+ cli_createInstallPrompt: "Install dependencies?",
273
+ cli_createGitPrompt: "Initialize a Git repository?",
274
+ cli_createRemotePrompt: "Git remote URL (optional; Enter to skip):",
275
+ cli_createRemoteInvalid: "Enter a valid Git remote URL (https://... or git@...:...)",
276
+ cli_createModuleConfig: " \u2699 Module configuration",
277
+ cli_createModuleConfigHint: " Configure key settings (Enter to use defaults)",
278
+ cli_createCoreConfig: " [core] Application configuration",
279
+ cli_createLocalePrompt: "Default application locale:",
280
+ cli_createChineseLocale: "Chinese (zh-CN)",
281
+ cli_createDbConfig: " [db] Database configuration",
282
+ cli_createDbTypePrompt: "Database type:",
283
+ cli_createSqliteOption: "SQLite (no setup, for development)",
284
+ cli_createSqlitePathPrompt: "SQLite database path:",
285
+ cli_createDbHostPrompt: "{backend} host:",
286
+ cli_createPortPrompt: "Port:",
287
+ cli_createDatabasePrompt: "Database name:",
288
+ cli_createCacheConfig: " [cache] Cache configuration",
289
+ cli_createCacheTypePrompt: "Cache type:",
290
+ cli_createMemoryOption: "In-memory cache (no setup, for development)",
291
+ cli_createRedisHostPrompt: "Redis host:",
292
+ cli_createRedisPortPrompt: "Redis port:",
293
+ cli_createIamConfig: " [iam] Authentication and authorization",
294
+ cli_createPasswordPrompt: "Enable password login?",
295
+ cli_createOtpPrompt: "Enable OTP login?",
296
+ cli_createStorageConfig: " [storage] File storage configuration",
297
+ cli_createStorageTypePrompt: "Storage type:",
298
+ cli_createLocalStorageOption: "Local storage (no setup, for development)",
299
+ cli_createStoragePathPrompt: "Storage path:",
300
+ cli_createAiConfig: " [ai] AI configuration",
301
+ cli_createCompatibleAiOption: "Other (OpenAI-compatible)",
302
+ cli_createModelPrompt: "Default model:",
303
+ cli_createSuccess: "\u2714 Project created!",
304
+ cli_createFeatures: "Enabled features:",
305
+ cli_nextSteps: "Next steps:",
306
+ cli_featureKitName: "SvelteKit integration",
307
+ cli_featureUiName: "UI components",
308
+ cli_projectNotFound: "No project found (package.json is missing)",
309
+ cli_addAllInstalled: "All modules are already installed!",
310
+ cli_addModulePrompt: "Select a module:",
311
+ cli_addUnknownModule: "Unknown module: {module}",
312
+ cli_addAvailableModules: "Available modules: {modules}",
313
+ cli_addSupportCompleted: "Module {module} is already installed; missing AI support files were added",
314
+ cli_addAlreadyInstalled: "Module {module} is already installed",
315
+ cli_addUpdateManifest: "Updating package.json...",
316
+ cli_addConfig: "Generating configuration config/_{config}.yml...",
317
+ cli_addConfigExists: "Configuration already exists: config/_{config}.yml",
318
+ cli_addDependencyConfig: " + config/_{config}.yml (dependency)",
319
+ cli_addInstall: "Installing dependencies...",
320
+ cli_addSuccess: "\u2714 Module {module} added!",
321
+ cli_addPackages: "Added packages:",
322
+ cli_addFailed: "Adding module failed:",
323
+ cli_initDetecting: "Detecting project...",
324
+ cli_initDetected: "Detected project: {name}",
325
+ cli_initStatus: "Project status:",
326
+ cli_initName: " Name: {name}",
327
+ cli_initVersion: " Version: {version}",
328
+ cli_none: "None",
329
+ cli_initModules: " Installed modules: {modules}",
330
+ cli_initExisting: "Existing configuration:",
331
+ cli_initReady: "\u2714 All configuration files are ready!",
332
+ cli_initMissing: "Missing configuration:",
333
+ cli_initGenerating: "Generating missing configuration files...",
334
+ cli_initGenerated: "Generated {count} configuration files",
335
+ cli_initRegenerating: "Regenerating all configuration files...",
336
+ cli_initRegenerated: "Regenerated {count} configuration files",
337
+ cli_initCore: "Generating core configuration config/_core.yml...",
338
+ cli_initSuccess: "\u2714 Project configuration initialized!",
339
+ cli_initEditConfig: " 1. Edit the configuration files in config/",
340
+ cli_initStartDev: " 2. Run pnpm dev to start the development server",
341
+ cli_initFailed: "Initialization failed:",
342
+ cli_createTagline: " AI-Native \xB7 Configuration-Driven \xB7 Security-First",
343
+ cli_createRemoteFailure: "Invalid Git remote URL: {remote}",
344
+ cli_createProviderPrompt: "AI provider:",
345
+ cli_addSupportFile: " + {file} (AI support)",
346
+ cli_coreLabel: "Core",
347
+ cli_serviceLabel: "Service",
348
+ cli_yes: "Yes",
349
+ cli_no: "No",
350
+ cli_createEnglishLocale: "English (en-US)",
351
+ cli_createJapaneseLocale: "Japanese (ja-JP)"
352
+ };
353
+
354
+ // messages/ja-JP.json
355
+ var ja_JP_default = {
356
+ cli_createFailed: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",
357
+ cli_installFailed: "\u4F9D\u5B58\u95A2\u4FC2\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08{pm}\uFF09\u3002",
358
+ cli_commandLabel: "\u30B3\u30DE\u30F3\u30C9: {command}",
359
+ cli_exitCode: "\u7D42\u4E86\u30B3\u30FC\u30C9: {code}",
360
+ cli_signal: "\u30B7\u30B0\u30CA\u30EB: {signal}",
361
+ cli_selectHint: "- \u2191/\u2193\u3067\u9078\u629E\u3001Enter\u3067\u78BA\u5B9A",
362
+ cli_multiselectHint: "- Space\u3067\u9078\u629E\u3001Enter\u3067\u78BA\u5B9A",
363
+ cli_featuresPrompt: "\u6A5F\u80FD\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",
364
+ cli_frontendsPrompt: "\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u306E\u5BFE\u8C61\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",
365
+ cli_invalidGenerateName: "\u82F1\u5B57\u3067\u59CB\u307E\u308A\u3001\u82F1\u6570\u5B57\u3001\u30CF\u30A4\u30D5\u30F3\u3001\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2\u306E\u307F\u3092\u542B\u3080\u540D\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044",
366
+ cli_generateOutsideWorkspace: "\u30B7\u30F3\u30DC\u30EA\u30C3\u30AF\u30EA\u30F3\u30AF\u306E\u53C2\u7167\u5148\u3092\u542B\u3081\u3001\u751F\u6210\u30D5\u30A1\u30A4\u30EB\u306F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044",
367
+ cli_generateExists: "\u30D5\u30A1\u30A4\u30EB\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059: {path}\u3002\u4E0A\u66F8\u304D\u3059\u308B\u306B\u306F--force\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044",
368
+ cli_deploy_module_missing: "\u30C7\u30D7\u30ED\u30A4\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u5148\u306B@h-ai/deploy\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044:",
369
+ cli_deploy_load_credentials: "\u8A8D\u8A3C\u60C5\u5831\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",
370
+ cli_deploy_credentials_failed: "\u8A8D\u8A3C\u60C5\u5831\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {message}",
371
+ cli_deploy_credentials_loaded: "\u8A8D\u8A3C\u60C5\u5831\u3092{count}\u4EF6\u8AAD\u307F\u8FBC\u307F\u307E\u3057\u305F",
372
+ cli_deploy_load_config: "\u30C7\u30D7\u30ED\u30A4\u8A2D\u5B9A\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",
373
+ cli_deploy_config_missing: "\u30C7\u30D7\u30ED\u30A4\u8A2D\u5B9A\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {path}",
374
+ cli_deploy_config_hint: "hai add deploy\u3092\u5B9F\u884C\u3057\u3066\u8A2D\u5B9A\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u751F\u6210\u3057\u3066\u304F\u3060\u3055\u3044",
375
+ cli_deploy_config_loaded: "\u30C7\u30D7\u30ED\u30A4\u8A2D\u5B9A\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3057\u305F",
376
+ cli_deploy_scanning: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30B9\u30AD\u30E3\u30F3\u4E2D...",
377
+ cli_deploy_scan_failed: "\u30B9\u30AD\u30E3\u30F3\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {message}",
378
+ cli_deploy_scanned: "\u30B9\u30AD\u30E3\u30F3\u5B8C\u4E86: {name}\uFF08SvelteKit: {sveltekit}\u3001\u30B5\u30FC\u30D3\u30B9: {services}\uFF09",
379
+ cli_deploy_none: "\u306A\u3057",
380
+ cli_deploy_initializing: "\u30C7\u30D7\u30ED\u30A4\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u521D\u671F\u5316\u4E2D...",
381
+ cli_deploy_init_failed: "\u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {message}",
382
+ cli_deploy_initialized: "\u30C7\u30D7\u30ED\u30A4\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u521D\u671F\u5316\u3057\u307E\u3057\u305F",
383
+ cli_deploy_deploying: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30C7\u30D7\u30ED\u30A4\u4E2D...",
384
+ cli_deploy_failed: "\u30C7\u30D7\u30ED\u30A4\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {message}",
385
+ cli_deploy_success: "\u30C7\u30D7\u30ED\u30A4\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01",
386
+ cli_deploy_url: " URL: {url}",
387
+ cli_deploy_id: " ID: {id}",
388
+ cli_deploy_command_failed: "\u30C7\u30D7\u30ED\u30A4\u30B3\u30DE\u30F3\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
389
+ cli_adminPasswordSaved: " \u7BA1\u7406\u8005: admin\u3002\u30E9\u30F3\u30C0\u30E0\u306A\u521D\u671F\u30D1\u30B9\u30EF\u30FC\u30C9\u306F.env.local\u306EHAI_ADMIN_DEFAULT_PASSWORD\u306B\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u3059",
390
+ cli_deploy_environment: "\u30C7\u30D7\u30ED\u30A4\u74B0\u5883\uFF08test / prod / \u305D\u306E\u4ED6\uFF09",
391
+ cli_deploy_cancelled: "\u30C7\u30D7\u30ED\u30A4\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002",
392
+ cli_deploy_environment_hint: "--env <environment>\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u975E\u5BFE\u8A71\u5B9F\u884C\u306B\u306F--yes\u3082\u5FC5\u8981\u3067\u3059\u3002\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u3092\u9078\u629E\u3059\u308B\u5834\u5408\u306F\u30BF\u30FC\u30DF\u30CA\u30EB\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
393
+ cli_deploy_middleware: "{service}: \u73FE\u5728\u306E\u65E2\u5B9A\u5024{backend}\u3001{purpose}\u3002\u8A2D\u5B9A\u5143: {source}",
394
+ cli_deploy_action: "{service}\u3092\u3069\u306E\u3088\u3046\u306B\u8A2D\u5B9A\u3057\u307E\u3059\u304B\uFF1F",
395
+ cli_deploy_default: "\u65E2\u5B9A\u306E\u8A2D\u5B9A\u3092\u4F7F\u7528",
396
+ cli_deploy_custom: "\u30AB\u30B9\u30BF\u30E0\u8A2D\u5B9A\u3092\u4F7F\u7528",
397
+ cli_deploy_keep: "\u5909\u66F4\u3057\u306A\u3044",
398
+ cli_deploy_backend: "{service}\u306E\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044",
399
+ cli_deploy_field: "{description}\uFF08{constraint}\uFF09",
400
+ cli_deploy_required: "\u3053\u306E\u5024\u306F\u5FC5\u9808\u3067\u3059",
401
+ cli_deploy_invalid_value: "\u5024\u304C\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5236\u7D04\u3092\u6E80\u305F\u3057\u3066\u3044\u307E\u305B\u3093",
402
+ cli_deploy_cloud_unsupported: "{backend}\u7528\u306E\u30AF\u30E9\u30A6\u30C9\u30D7\u30ED\u30D3\u30B8\u30E7\u30CA\u30FC\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30AB\u30B9\u30BF\u30E0\u63A5\u7D9A\u307E\u305F\u306F\u5BFE\u5FDC\u3059\u308B\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
403
+ cli_deploy_saved: "{service} \u306E\u8A2D\u5B9A\u3092\u4FDD\u5B58\u3057\u307E\u3057\u305F\uFF08\u516C\u958B\u8A2D\u5B9A\u306F\u5BFE\u8C61\u306E\u74B0\u5883\u30D5\u30A1\u30A4\u30EB\u3001\u8A8D\u8A3C\u60C5\u5831\u306F .env.local \u306B\u4FDD\u5B58\uFF09",
404
+ cli_deploy_missing_keep: "\u5BFE\u8C61\u74B0\u5883\u306B\u7DAD\u6301\u3067\u304D\u308B\u5B8C\u5168\u306A{service}\u8A2D\u5B9A\u304C\u3042\u308A\u307E\u305B\u3093\u3002",
405
+ cli_deploy_s3_engine: "S3\u30B5\u30FC\u30D3\u30B9\u306E\u5B9F\u88C5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30A2\u30D7\u30EA\u306E\u578B\u306Fs3\u306E\u307E\u307E\u3067\u3059\uFF09",
406
+ cli_deploy_target_reused: "\u4FDD\u5B58\u6E08\u307F\u306E\u30C7\u30D7\u30ED\u30A4\u5148 {target} \u3092\u518D\u5229\u7528\u3057\u307E\u3059\u3002",
407
+ cli_deploy_target_missing: "\u30C7\u30D7\u30ED\u30A4\u5148\u306E\u8A2D\u5B9A\u304C\u4E0D\u5B8C\u5168\u3067\u3059\uFF1A{fields}\u3002\u30C7\u30D7\u30ED\u30A4\u5148\u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001\u5BFE\u8A71\u30E2\u30FC\u30C9\u3067\u8A2D\u5B9A\u3092\u5B8C\u4E86\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
408
+ cli_deploy_target_platform: "\u30C7\u30D7\u30ED\u30A4\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044",
409
+ cli_deploy_target_ssh: "SSH\u30B5\u30FC\u30D0\u30FC\uFF08Docker / Podman Compose\uFF09",
410
+ cli_deploy_target_field: "{name}",
411
+ cli_deploy_target_ssh_hint: "\u63A5\u7D9A\u3068\u30DD\u30FC\u30C8\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u79D8\u5BC6\u9375\u306E\u30D1\u30B9\u3092\u5165\u529B\u3059\u308B\u304B\u3001\u7A7A\u6B04\u3067ssh-agent/\u65E2\u5B9A\u306E\u9375\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002known_hosts\u3092\u7A7A\u6B04\u306B\u3059\u308B\u3068OpenSSH\u306E\u65E2\u5B9A\u5024\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u521D\u56DE\u63A5\u7D9A\u6642\u306E\u30DB\u30B9\u30C8\u6307\u7D0B\u306F\u4FE1\u983C\u3057\u3001\u5909\u66F4\u3055\u308C\u305F\u6307\u7D0B\u306F\u62D2\u5426\u3057\u307E\u3059\u3002",
412
+ cli_deploy_target_runtime: "\u30EA\u30E2\u30FC\u30C8\u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u30E9\u30F3\u30BF\u30A4\u30E0\uFF08auto\u306FPodman\u3092\u512A\u5148\uFF09",
413
+ cli_deploy_target_saved: "\u30C7\u30D7\u30ED\u30A4\u5148\u3092Git\u7BA1\u7406\u5BFE\u8C61\u5916\u306E.env.local\u306B\u4FDD\u5B58\u3057\u307E\u3057\u305F\u3002\u6B21\u56DE\u4EE5\u964D\u3082\u518D\u5229\u7528\u3057\u307E\u3059\u3002",
414
+ cli_deploy_middleware_plan: "\u3053\u306E\u30C7\u30D7\u30ED\u30A4\u3067\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u304B\uFF1F",
415
+ cli_deploy_middleware_configure: "\u5404\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u30B5\u30FC\u30D3\u30B9\u3092\u78BA\u8A8D\u3057\u3066\u8A2D\u5B9A",
416
+ cli_deploy_middleware_skip: "\u74B0\u5883\u8A2D\u5B9A\u6E08\u307F\u306E\u305F\u3081\u76F4\u63A5\u30C7\u30D7\u30ED\u30A4",
417
+ cli_deploy_middleware_skipped: "\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u306E\u8A2D\u5B9A\u3068\u6E96\u5099\u3092\u3059\u3079\u3066\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002\u73FE\u5728\u306E\u74B0\u5883\u8A2D\u5B9A\u3068\u65E2\u5B58\u30B5\u30FC\u30D3\u30B9\u3067\u30C7\u30D7\u30ED\u30A4\u3057\u307E\u3059\u3002",
418
+ cli_build_failed: "\u30D3\u30EB\u30C9\u30B3\u30DE\u30F3\u30C9{command}\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9{code}\uFF09\u3002",
419
+ cli_build_use_pnpm: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306Epnpm\u5B9F\u884C\u30D5\u30A1\u30A4\u30EB\u3092\u4F7F\u7528\u3059\u308B\u305F\u3081\u3001pnpm build\u3067\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
420
+ cli_build_target_invalid: "target\u306B\u306Fcompile\u3001docker\u3001desktop\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
421
+ cli_build_options_invalid: "runtime\u3001network\u3001sqlite-prebuild-mirror\u3001no-http-proxy\u306B\u306Fdocker\u304C\u5FC5\u8981\u3067\u3059\u3002platform\u3068arch\u306B\u306Fdesktop\u304C\u5FC5\u8981\u3067\u3059\u3002",
422
+ cli_build_version_invalid: "\u30A2\u30D7\u30EA\u30EB\u30FC\u30C8\u306Epackage.json\u306B\u6709\u52B9\u306A3\u90E8\u69CB\u6210\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\uFF08\u4F8B: 1.2.3\u307E\u305F\u306F1.2.3-beta.1\u300180\u6587\u5B57\u4EE5\u5185\uFF09\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
423
+ cli_build_native_host: "\u5BFE\u5FDC\u3059\u308BOS\uFF08windows/linux/macos\uFF09\u3068x64\u307E\u305F\u306Farm64\u3067Tauri\u3092\u30D3\u30EB\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u5148\u306BRust\u30BF\u30FC\u30B2\u30C3\u30C8\u3001\u30B7\u30B9\u30C6\u30E0SDK\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u30C4\u30FC\u30EB\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
424
+ cli_build_desktop_missing: "hai.build.json\u306Bdesktop\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u3042\u308A\u307E\u305B\u3093\u3002desktop\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u3092\u751F\u6210\u3059\u308B\u304B\u3001\u65E2\u5B58\u306ETauri\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
425
+ cli_build_images_missing: "hai.build.json\u306B\u306Fapp\u30A4\u30E1\u30FC\u30B8\u304C1\u3064\u5FC5\u8981\u3067\u3059\u3002web\u30A4\u30E1\u30FC\u30B8\u306F\u6700\u59271\u3064\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002",
426
+ cli_build_runtime_missing: "Podman\u307E\u305F\u306FDocker\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002auto\u306F\u63A5\u7D9A\u53EF\u80FD\u306APodman\u3092\u512A\u5148\u3057\u307E\u3059\u3002",
427
+ cli_build_mirror_invalid: "SQLite\u30DF\u30E9\u30FC\u306B\u306F\u3001\u8A8D\u8A3C\u60C5\u5831\u3001\u30AF\u30A8\u30EA\u3001\u30D5\u30E9\u30B0\u30E1\u30F3\u30C8\u3092\u542B\u307E\u306A\u3044HTTP(S)\u306EURL\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
428
+ cli_build_ready: "\u30D3\u30EB\u30C9\u306E\u6E96\u5099\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF08{runtime}\uFF09: {path}\u3002\u3053\u308C\u3089\u306E\u30A4\u30E1\u30FC\u30B8\u306F\u30C7\u30D7\u30ED\u30A4\u74B0\u5883\u9593\u3067\u518D\u5229\u7528\u3067\u304D\u307E\u3059\u3002",
429
+ cli_build_native_ready: "Tauri\u30D3\u30EB\u30C9\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F: {target}\u3002\u5404\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306Esrc-tauri/target/{target}/release/bundle\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002",
430
+ cli_deploy_bundle_provider: "\u30AA\u30D5\u30E9\u30A4\u30F3\u30D1\u30C3\u30B1\u30FC\u30B8\u5316\u3001\u7D44\u307F\u8FBC\u307F\u306E\u30A4\u30E1\u30FC\u30B8\u30D3\u30EB\u30C9\u3001\u30B5\u30FC\u30D3\u30B9\u3092\u9078\u629E\u3057\u305F\u30C7\u30D7\u30ED\u30A4\u306B\u306F docker-ssh Compose \u306E\u30C7\u30D7\u30ED\u30A4\u5148\u304C\u5FC5\u8981\u3067\u3059\u3002",
431
+ cli_deploy_bundle_target: "\u30B5\u30FC\u30D0\u30FC\u306B\u63A5\u7D9A\u305B\u305A\u30D0\u30F3\u30C9\u30EB\u3092\u751F\u6210\u3057\u307E\u3059\u3002\u30C7\u30D7\u30ED\u30A4\u524D\u306B\u64CD\u4F5C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E deploy-target.json \u3092\u78BA\u8A8D\u3057\u3001\u7DE8\u96C6\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
432
+ cli_deploy_bundle_ready: "\u30C7\u30D7\u30ED\u30A4\u30D0\u30F3\u30C9\u30EB\u306E\u6E96\u5099\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002\u30B5\u30FC\u30D0\u30FC\u3078\u306E\u30C7\u30D7\u30ED\u30A4\u306F\u5B9F\u884C\u3057\u3066\u3044\u307E\u305B\u3093\u3002",
433
+ cli_deploy_bundle_path: "\u30C7\u30D7\u30ED\u30A4\u30D0\u30F3\u30C9\u30EB: {path}",
434
+ cli_build_selection_invalid: "hai.build.json \u306B\u5B9A\u7FA9\u3055\u308C\u305F\u30A4\u30E1\u30FC\u30B8\u540D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF1Aapp\u3001web\u3001\u307E\u305F\u306F app,web\u3002",
435
+ cli_build_dockerfile_missing: "Dockerfile \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF1A{path}\u3002hai.build.json \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
436
+ cli_deploy_yaml_node: "{path} \u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\uFF1A{field} \u306F\u6587\u5B57\u5217\u3084\u914D\u5217\u3067\u306F\u306A\u304F\u3001\u8A2D\u5B9A\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
437
+ cli_deploy_inputHOST: "\u30B5\u30FC\u30D0\u30FC\u30A2\u30C9\u30EC\u30B9",
438
+ cli_deploy_services_invalid: "\u30B5\u30FC\u30D3\u30B9\u306E\u9078\u629E\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u9078\u629E\u53EF\u80FD\uFF1A{services}\u3002",
439
+ cli_deploy_build_artifact_conflict: "\u65B0\u3057\u3044\u6210\u679C\u7269\u3092\u30D3\u30EB\u30C9\u3059\u308B --build \u3068\u65E2\u5B58\u306E\u6210\u679C\u7269\u3092\u4F7F\u7528\u3059\u308B --artifact-dir \u306F\u4F75\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u3069\u3061\u3089\u304B\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
440
+ cli_deploy_build_options_required: "\u30D3\u30EB\u30C9\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3001\u30D7\u30ED\u30AD\u30B7\u3001SQLite \u30D0\u30A4\u30CA\u30EA\u30FC\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F --build \u304C\u5FC5\u8981\u3067\u3059\u3002",
441
+ cli_deploy_artifact_invalid: "\u30A4\u30E1\u30FC\u30B8\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u307E\u305F\u306F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u691C\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u30D3\u30EB\u30C9\u3059\u308B\u304B\u3001--artifact-dir \u3067\u6709\u52B9\u306A\u6210\u679C\u7269\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
442
+ cli_deploy_inputPORT: "SSH \u30DD\u30FC\u30C8\uFF08\u65E2\u5B9A\u502422\uFF09",
443
+ cli_deploy_inputUSERNAME: "SSH \u30E6\u30FC\u30B6\u30FC\u540D",
444
+ cli_deploy_inputIDENTITYFILE: "SSH \u79D8\u5BC6\u9375\u30D5\u30A1\u30A4\u30EB\uFF08\u7701\u7565\u6642\u306F\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u307E\u305F\u306F\u65E2\u5B9A\u306E\u9375\u3092\u4F7F\u7528\uFF09",
445
+ cli_deploy_inputKNOWNHOSTSFILE: "\u30B5\u30FC\u30D0\u30FC\u30D5\u30A3\u30F3\u30AC\u30FC\u30D7\u30EA\u30F3\u30C8\u30D5\u30A1\u30A4\u30EB\uFF08\u7701\u7565\u6642\u306F OpenSSH \u306E\u65E2\u5B9A\u5024\u3092\u4F7F\u7528\uFF09",
446
+ cli_deploy_inputBASEDIR: "\u30B5\u30FC\u30D0\u30FC\u306E\u30C7\u30D7\u30ED\u30A4\u30EB\u30FC\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA",
447
+ cli_deploy_inputHOSTPORT: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u516C\u958B\u30DD\u30FC\u30C8",
448
+ cli_deploy_inputCONTAINERPORT: "API \u30B3\u30F3\u30C6\u30CA\u30FC\u306E\u30DD\u30FC\u30C8",
449
+ cli_deploy_inputTOKEN: "Vercel \u30A2\u30AF\u30BB\u30B9\u30C8\u30FC\u30AF\u30F3",
450
+ cli_deploy_cloud_input_apiKey: "API \u30A2\u30AF\u30BB\u30B9\u30AD\u30FC",
451
+ cli_deploy_cloud_input_email: "\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
452
+ cli_deploy_cloud_input_accountId: "\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306E\u30A2\u30AB\u30A6\u30F3\u30C8 ID",
453
+ cli_deploy_cloud_input_apiToken: "API \u30A2\u30AF\u30BB\u30B9\u30C8\u30FC\u30AF\u30F3",
454
+ cli_deploy_cloud_input_accessKeyId: "\u30A2\u30AF\u30BB\u30B9\u30AD\u30FC ID",
455
+ cli_deploy_cloud_input_secretAccessKey: "\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30A2\u30AF\u30BB\u30B9\u30AD\u30FC",
456
+ cli_deploy_cloud_input_accessKeySecret: "\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30A2\u30AF\u30BB\u30B9\u30AD\u30FC",
457
+ cli_deploy_cloud_input_signName: "\u627F\u8A8D\u6E08\u307F\u306E SMS \u7F72\u540D",
458
+ cli_deploy_cloud_input_from: "\u9001\u4FE1\u5143\u30A2\u30C9\u30EC\u30B9\uFF08\u691C\u8A3C\u6E08\u307F\u30C9\u30E1\u30A4\u30F3\uFF09",
459
+ cli_deploy_port_invalid: "1\u301C65535\u306E\u6574\u6570\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
460
+ cli_deploy_build_started: "\u5148\u306B\u9078\u629E\u3057\u305F\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30A4\u30E1\u30FC\u30B8\u3092\u30D3\u30EB\u30C9\u3057\u3066\u3044\u307E\u3059\u2026",
461
+ cli_deploy_services: "\u9078\u629E\u3055\u308C\u305F\u30B5\u30FC\u30D3\u30B9\uFF1A{services}",
462
+ cli_deploy_stage_packaging: "\u9078\u629E\u3057\u305F\u30A4\u30E1\u30FC\u30B8\u3068\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u3092\u30D1\u30C3\u30B1\u30FC\u30B8\u5316\u3057\u3066\u3044\u307E\u3059",
463
+ cli_deploy_stage_preflight: "\u30B5\u30FC\u30D0\u30FC\u3068\u30C7\u30D7\u30ED\u30A4\u57FA\u6E96\u3092\u78BA\u8A8D\u3057\u3066\u3044\u307E\u3059",
464
+ cli_deploy_stage_images: "\u30AA\u30D5\u30E9\u30A4\u30F3\u30A4\u30E1\u30FC\u30B8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059",
465
+ cli_deploy_stage_dependencies: "\u65E2\u5B58\u306E\u4F9D\u5B58\u30B5\u30FC\u30D3\u30B9\u3092\u78BA\u8A8D\u3057\u3066\u3044\u307E\u3059",
466
+ cli_deploy_stage_start: "\u9078\u629E\u3057\u305F\u30B5\u30FC\u30D3\u30B9\u3092\u66F4\u65B0\u3057\u3066\u3044\u307E\u3059",
467
+ cli_deploy_stage_health: "HTTP \u30A2\u30AF\u30BB\u30B9\u3092\u691C\u8A3C\u3057\u3066\u3044\u307E\u3059",
468
+ cli_deploy_stage_complete: "\u30B5\u30FC\u30D0\u30FC\u306E\u30C7\u30D7\u30ED\u30A4\u691C\u8A3C\u306B\u5408\u683C\u3057\u307E\u3057\u305F",
469
+ cli_deploy_choose_services: "\u66F4\u65B0\u3059\u308B\u30B5\u30FC\u30D3\u30B9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u521D\u671F\u72B6\u614B\u306F\u5168\u9078\u629E\u3001Space \u3067\u5207\u308A\u66FF\u3048\uFF09",
470
+ cli_deploy_config_invalid: "\u30C7\u30D7\u30ED\u30A4\u8A2D\u5B9A\u304C\u4E0D\u5B8C\u5168\u307E\u305F\u306F\u7121\u52B9\u3067\u3059\u3002\u30D5\u30A1\u30A4\u30EB\uFF1A{path}\u3002\u6B21\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A{fields}\u3002",
471
+ cli_help_verbose: "\u8A73\u7D30\u306A\u51FA\u529B\u3092\u8868\u793A",
472
+ cli_help_cwd: "\u4F5C\u696D\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA",
473
+ cli_help_create: "hai \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u4F5C\u6210",
474
+ cli_help_appType: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u7A2E\u5225\uFF08admin\u3001website\u3001h5\u3001api\u3001mobile-app\u3001fullstack\uFF09",
475
+ cli_help_frontends: "fullstack \u306E\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u3092\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u6307\u5B9A\uFF1Aweb,app,miniapp,desktop",
476
+ cli_help_template: "\u30E2\u30B8\u30E5\u30FC\u30EB\u30D7\u30EA\u30BB\u30C3\u30C8\uFF08minimal\u3001default\u3001full\u3001custom\uFF09",
477
+ cli_help_features: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u6307\u5B9A\uFF1Aiam,db,cache,ai,storage,crypto",
478
+ cli_help_examples: "\u30B5\u30F3\u30D7\u30EB\u30B3\u30FC\u30C9\u3092\u542B\u3081\u308B",
479
+ cli_help_noExamples: "\u30B5\u30F3\u30D7\u30EB\u30B3\u30FC\u30C9\u3092\u7701\u7565",
480
+ cli_help_noInstall: "\u4F9D\u5B58\u95A2\u4FC2\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3092\u30B9\u30AD\u30C3\u30D7",
481
+ cli_help_noDeploy: "\u30C7\u30D7\u30ED\u30A4\u30C4\u30FC\u30EB\u3068\u30B3\u30DE\u30F3\u30C9\u3092\u7701\u7565",
482
+ cli_help_packageManager: "\u30D1\u30C3\u30B1\u30FC\u30B8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\uFF08pnpm\u3001npm\u3001yarn\uFF09",
483
+ cli_help_noGit: "Git \u306E\u521D\u671F\u5316\u3092\u30B9\u30AD\u30C3\u30D7",
484
+ cli_help_gitRemote: "Git \u30EA\u30E2\u30FC\u30C8 URL",
485
+ cli_help_yes: "\u5BFE\u8A71\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u305B\u305A\u65E2\u5B9A\u5024\u3092\u4F7F\u7528",
486
+ cli_help_add: "\u65E2\u5B58\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8FFD\u52A0",
487
+ cli_help_init: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3001\u4E0D\u8DB3\u30D5\u30A1\u30A4\u30EB\u3092\u88DC\u5B8C",
488
+ cli_help_forceConfig: "\u30E2\u30B8\u30E5\u30FC\u30EB\u8A2D\u5B9A\u3092\u518D\u751F\u6210",
489
+ cli_help_generate: "\u3072\u306A\u5F62\u30B3\u30FC\u30C9\u3092\u751F\u6210",
490
+ cli_help_output: "\u51FA\u529B\u5148\u30D1\u30B9",
491
+ cli_help_force: "\u65E2\u5B58\u306E\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D",
492
+ cli_help_build: "\u30BD\u30FC\u30B9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3001\u30B3\u30F3\u30C6\u30CA\u30FC\u30A4\u30E1\u30FC\u30B8\u306E\u30D3\u30EB\u30C9\u3001\u307E\u305F\u306F Tauri \u30A4\u30F3\u30B9\u30C8\u30FC\u30E9\u30FC\u306E\u4F5C\u6210",
493
+ cli_help_target: "\u6210\u679C\u7269\u306E\u7A2E\u5225\uFF1Acompile\uFF08\u65E2\u5B9A\uFF09\u3001docker\u3001desktop",
494
+ cli_help_images: "\u30D3\u30EB\u30C9\u3059\u308B\u30A4\u30E1\u30FC\u30B8\u3092\u6307\u5B9A\uFF08app\u3001web\u3001app,web \u306A\u3069\uFF09",
495
+ cli_help_buildRuntime: "\u30ED\u30FC\u30AB\u30EB\u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u30A8\u30F3\u30B8\u30F3\uFF1Aauto\uFF08Podman \u3092\u512A\u5148\uFF09\u3001podman\u3001docker",
496
+ cli_help_buildNetwork: "\u30D3\u30EB\u30C9\u7528\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3002\u65E2\u5B9A\u3067\u306F\u30A8\u30F3\u30B8\u30F3\u8A2D\u5B9A\u3092\u4F7F\u7528\uFF08rootless Podman \u306E pasta \u306A\u3069\uFF09",
497
+ cli_help_platform: "Tauri \u306E OS\uFF1Awindows\u3001linux\u3001macos\u3002\u5BFE\u8C61 OS \u4E0A\u3067\u30D3\u30EB\u30C9\u3057\u3066\u304F\u3060\u3055\u3044",
498
+ cli_help_arch: "Tauri \u306E\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\uFF1Ax64\u3001arm64",
499
+ cli_help_sqliteMirror: "\u4FE1\u983C\u3067\u304D\u308B SQLite \u30D7\u30EC\u30D3\u30EB\u30C9\u30D0\u30A4\u30CA\u30EA\u30FC\u306E\u30DF\u30E9\u30FC URL",
500
+ cli_help_noHttpProxy: "\u30ED\u30FC\u30AB\u30EB\u306E\u30D7\u30ED\u30AD\u30B7\u3092 Podman \u30D3\u30EB\u30C9\u306B\u6E21\u3055\u306A\u3044",
501
+ cli_help_deploy: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30C7\u30D7\u30ED\u30A4\u3001\u307E\u305F\u306F\u30AA\u30D5\u30E9\u30A4\u30F3\u30D0\u30F3\u30C9\u30EB\u3092\u4F5C\u6210",
502
+ cli_help_environment: "\u30C7\u30D7\u30ED\u30A4\u74B0\u5883\uFF08test/prod \u306A\u3069\uFF09\u3002\u5BFE\u5FDC\u3059\u308B\u74B0\u5883\u30D5\u30A1\u30A4\u30EB\u304C\u5FC5\u8981\u3067\u3059",
503
+ cli_help_envDir: "\u74B0\u5883\u30D5\u30A1\u30A4\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u65E2\u5B9A\u3067\u306F\u81EA\u52D5\u691C\u51FA",
504
+ cli_help_deployYes: "\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u305B\u305A\u4FDD\u5B58\u6E08\u307F\u8A2D\u5B9A\u307E\u305F\u306F\u65E2\u5B9A\u5024\u3092\u4F7F\u7528\u3057\u3001\u4E0D\u8DB3\u3059\u308B\u5FC5\u9808\u9805\u76EE\u3092\u5831\u544A",
505
+ cli_help_projectName: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u3002\u65E2\u5B9A\u3067\u306F\u30B5\u30FC\u30D3\u30B9\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u540D\u306B\u74B0\u5883\u540D\u3092\u4ED8\u52A0",
506
+ cli_help_skipMiddleware: "\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u304C\u8A2D\u5B9A\u6E08\u307F\u306E\u5834\u5408\u3001\u8A2D\u5B9A\u3068\u30EA\u30BD\u30FC\u30B9\u6E96\u5099\u3092\u30B9\u30AD\u30C3\u30D7",
507
+ cli_help_artifactDir: "manifest.json \u3092\u542B\u3080\u65E2\u5B58\u30A4\u30E1\u30FC\u30B8\u6210\u679C\u7269\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA",
508
+ cli_help_services: "\u66F4\u65B0\u3059\u308B\u30B5\u30FC\u30D3\u30B9\uFF08web\u3001app\u3001app,web \u306A\u3069\uFF09\u3002\u7701\u7565\u6642\u306F\u6210\u679C\u7269\u304B\u3089\u9078\u629E",
509
+ cli_help_deployBuild: "\u30D1\u30C3\u30B1\u30FC\u30B8\u5316\u3084\u30C7\u30D7\u30ED\u30A4\u306E\u524D\u306B\u9078\u629E\u3057\u305F\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30A4\u30E1\u30FC\u30B8\u3092\u30D3\u30EB\u30C9\u3002--bundle-only \u3068\u4F75\u7528\u53EF\u80FD",
510
+ cli_help_deployNetwork: "--build \u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3002\u65E2\u5B9A\u3067\u306F\u30A8\u30F3\u30B8\u30F3\u8A2D\u5B9A\u3092\u4F7F\u7528",
511
+ cli_help_deploySqliteMirror: "--build \u7528\u306E SQLite \u30D7\u30EC\u30D3\u30EB\u30C9\u30DF\u30E9\u30FC",
512
+ cli_help_deployNoProxy: "\u7D44\u307F\u8FBC\u307F\u306E Podman \u30D3\u30EB\u30C9\u306B\u30ED\u30FC\u30AB\u30EB\u30D7\u30ED\u30AD\u30B7\u3092\u6E21\u3055\u306A\u3044",
513
+ cli_help_deployRuntime: "\u30A4\u30E1\u30FC\u30B8\u30D3\u30EB\u30C9\u3068\u30DF\u30C9\u30EB\u30A6\u30A7\u30A2\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u7528\u30ED\u30FC\u30AB\u30EB\u30A8\u30F3\u30B8\u30F3\uFF1Aauto\u3001podman\u3001docker",
514
+ cli_help_bundleOnly: "\u63A5\u7D9A\u305B\u305A\u306B\u30AA\u30D5\u30E9\u30A4\u30F3 tar \u3068 Windows/Linux/macOS \u7528\u30C7\u30D7\u30ED\u30A4\u30B9\u30AF\u30EA\u30D7\u30C8\u3092\u4F5C\u6210",
515
+ cli_help_bundleOutput: "\u30C7\u30D7\u30ED\u30A4 tar \u306E\u51FA\u529B\u5148\u3002\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u81EA\u52D5\u3067\u4ED8\u52A0",
516
+ cli_help_generatePage: "\u30DA\u30FC\u30B8\u3092\u751F\u6210",
517
+ cli_help_generateComponent: "\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u751F\u6210",
518
+ cli_help_generateApi: "API \u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3092\u751F\u6210",
519
+ cli_help_generateModel: "\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB\u3092\u751F\u6210",
520
+ cli_generateUnsupportedProject: "\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u307E\u305F\u306F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306F\u6307\u5B9A\u3055\u308C\u305F\u751F\u6210\u6A5F\u80FD\u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093\u3002\u30DA\u30FC\u30B8\u306B\u306F SvelteKit\u3001API \u306B\u306F SvelteKit \u307E\u305F\u306F serv \u304C\u5FC5\u8981\u3067\u3059\u3002--workspace \u3067\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
521
+ cli_generateAmbiguousWorkspace: "\u8907\u6570\u306E\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u304C\u3053\u306E\u751F\u6210\u6A5F\u80FD\u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u3059\u3002--workspace \u3067\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u307E\u305F\u306F\u76F8\u5BFE\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
522
+ cli_generateUnsupportedAggregator: "\u5951\u7D04\u3068 procedure \u306E\u96C6\u7D04\u7B87\u6240\u3092\u5B89\u5168\u306B\u7279\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002CLI \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E @hai-generator \u30DE\u30FC\u30AB\u30FC\u3092\u4FDD\u6301\u3059\u308B\u304B\u3001\u65E2\u5B58\u306E\u69CB\u9020\u3092\u624B\u52D5\u3067\u62E1\u5F35\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
523
+ cli_generateInvalidRouteOutput: "\u30EB\u30FC\u30C8\u306E\u51FA\u529B\u5148\u306F SvelteKit \u306E src/routes \u5185\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002serv \u306F\u65E2\u5B58\u306E\u5951\u7D04\u3068 procedure \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F7F\u7528\u3059\u308B\u305F\u3081\u3001--output \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002",
524
+ cli_generateDomainExists: "\u5951\u7D04\u307E\u305F\u306F procedure \u306E\u30C9\u30E1\u30A4\u30F3\u304C\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\uFF1A{name}\u3002\u65E2\u5B58\u306E\u696D\u52D9\u767B\u9332\u3092\u7F6E\u304D\u63DB\u3048\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002",
525
+ cli_generateRollbackFailed: "\u751F\u6210\u306B\u5931\u6557\u3057\u3001\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u307E\u305F\u306F\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u306E\u524A\u9664\u3082\u5B8C\u4E86\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u518D\u8A66\u884C\u3059\u308B\u524D\u306B\u30A8\u30E9\u30FC\u306B\u793A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
526
+ cli_help_workspace: "\u5BFE\u8C61\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u307E\u305F\u306F\u76F8\u5BFE\u30D1\u30B9\u3002\u8A72\u5F53\u3059\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C1\u3064\u306E\u5834\u5408\u306F\u81EA\u52D5\u9078\u629E",
527
+ cli_generateCustomRoutes: "\u3053\u306E SvelteKit \u8A2D\u5B9A\u306F kit.files \u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u3066\u3044\u307E\u3059\u3002\u30EB\u30FC\u30C8\u69CB\u9020\u3092\u63A8\u6E2C\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u65E2\u5B58\u306E\u30EB\u30FC\u30C8\u3092\u624B\u52D5\u3067\u62E1\u5F35\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
528
+ cli_generatePageDescription: "SvelteKit \u30DA\u30FC\u30B8",
529
+ cli_generateComponentDescription: "Svelte \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8",
530
+ cli_generateApiDescription: "API \u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8",
531
+ cli_generateModelDescription: "\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB",
532
+ cli_generateMigrationDescription: "\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30DE\u30A4\u30B0\u30EC\u30FC\u30B7\u30E7\u30F3",
533
+ cli_generateProgress: "{description} \u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059...",
534
+ cli_generateComplete: "\u751F\u6210\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F",
535
+ cli_generateFiles: "\u751F\u6210\u307E\u305F\u306F\u66F4\u65B0\u3057\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A",
536
+ cli_generateFailed: "\u751F\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
537
+ cli_generateFailureDetail: "\u30A8\u30E9\u30FC\u306E\u8A73\u7D30\uFF1A",
538
+ cli_generateTypePrompt: "\u751F\u6210\u3059\u308B\u7A2E\u985E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A",
539
+ cli_generateNamePrompt: "\u540D\u524D\uFF1A",
540
+ cli_generateNameRequired: "\u540D\u524D\u306F\u5FC5\u9808\u3067\u3059",
541
+ cli_generateCancelled: "\u751F\u6210\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002\u30D5\u30A1\u30A4\u30EB\u306F\u66F8\u304D\u8FBC\u307E\u308C\u3066\u3044\u307E\u305B\u3093",
542
+ cli_generateUnknownType: "\u4E0D\u660E\u306A\u751F\u6210\u7A2E\u5225\uFF1A{type}",
543
+ cli_deploy_local_confirmed: "\u30ED\u30FC\u30AB\u30EB\u30B3\u30DE\u30F3\u30C9\u30C4\u30EA\u30FC\uFF1A\u7D42\u4E86\u3092\u78BA\u8A8D\u3057\u307E\u3057\u305F\u3002",
544
+ cli_deploy_local_unknown: "\u30ED\u30FC\u30AB\u30EB\u30B3\u30DE\u30F3\u30C9\u30C4\u30EA\u30FC\uFF1A\u7D42\u4E86\u306F\u672A\u78BA\u8A8D\u3067\u3059\u3002",
545
+ cli_deploy_local_not_started: "\u30ED\u30FC\u30AB\u30EB\u30B3\u30DE\u30F3\u30C9\u30C4\u30EA\u30FC\uFF1A\u8D77\u52D5\u3057\u3066\u3044\u307E\u305B\u3093\u3002",
546
+ cli_deploy_remote_unknown: "\u30EA\u30E2\u30FC\u30C8\u30C7\u30D7\u30ED\u30A4\u306E\u5B9F\u884C\u72B6\u614B\uFF1A\u4E0D\u660E\u3067\u3059\u3002\u78BA\u8A8D\u305B\u305A\u306B\u518D\u8A66\u884C\u3057\u305F\u308A\u3001\u30B5\u30FC\u30D3\u30B9\u3092\u505C\u6B62\u3057\u305F\u308A\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002",
547
+ cli_deploy_remote_finished: "\u30EA\u30E2\u30FC\u30C8\u30C7\u30D7\u30ED\u30A4\u30B9\u30AF\u30EA\u30D7\u30C8\u3068\u5FA9\u65E7\u51E6\u7406\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u30B5\u30FC\u30D3\u30B9\u306E\u7A3C\u50CD\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B3\u30F3\u30C6\u30CA\u30FC\u306E\u7A3C\u50CD\u306F\u5931\u6557\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\u306E\u5B9F\u884C\u7D99\u7D9A\u3092\u610F\u5473\u3057\u307E\u305B\u3093\u3002",
548
+ cli_deploy_result_check: "\u30C7\u30D7\u30ED\u30A4 {id}\uFF1A\u30B5\u30FC\u30D0\u30FC\u306E\u7D50\u679C\u30D5\u30A1\u30A4\u30EB {path} \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
549
+ cli_appAdminName: "\u7BA1\u7406\u30B3\u30F3\u30BD\u30FC\u30EB",
550
+ cli_appAdminDescription: "IAM\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3001UI \u3092\u5099\u3048\u305F\u30A8\u30F3\u30BF\u30FC\u30D7\u30E9\u30A4\u30BA\u7BA1\u7406\u753B\u9762",
551
+ cli_appWebsiteName: "\u4F01\u696D\u30B5\u30A4\u30C8",
552
+ cli_appWebsiteDescription: "\u30EC\u30B9\u30DD\u30F3\u30B7\u30D6\u3067 SEO \u306B\u5BFE\u5FDC\u3057\u305F SSR/SSG \u30B5\u30A4\u30C8",
553
+ cli_appH5Name: "H5 \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3",
554
+ cli_appH5Description: "\u30BF\u30C3\u30C1\u64CD\u4F5C\u3068 PWA \u306B\u5BFE\u5FDC\u3057\u305F\u30E2\u30D0\u30A4\u30EB H5 \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3",
555
+ cli_appApiName: "API \u30B5\u30FC\u30D3\u30B9",
556
+ cli_appApiDescription: "UI \u3092\u542B\u307E\u305A\u3001\u5951\u7D04\u3068\u30B5\u30FC\u30D3\u30B9\u3092\u5225\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u5206\u3051\u305F\u578B\u4ED8\u304D API \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9",
557
+ cli_appMobileName: "\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3",
558
+ cli_appMobileDescription: "Android/iOS \u5411\u3051\u306E Capacitor + Svelte 5 + Vite \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3",
559
+ cli_appFullstackName: "\u30D5\u30EB\u30B9\u30BF\u30C3\u30AF\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9",
560
+ cli_appFullstackDescription: "\u30E6\u30FC\u30B6\u30FC\u3001\u30ED\u30FC\u30EB\u3001\u76E3\u67FB\u3001\u8A2D\u5B9A\u3001\u53CC\u65B9\u5411\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u6697\u53F7\u5316\u306B\u5BFE\u5FDC\u3057\u305F\u8907\u6570\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u5411\u3051\u7BA1\u7406\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3",
561
+ cli_frontendWebDescription: "\u30D6\u30E9\u30A6\u30B6\u30FC\u5411\u3051 Web \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3",
562
+ cli_frontendAppDescription: "\u30E2\u30D0\u30A4\u30EB Capacitor \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3 / H5 \u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9",
563
+ cli_frontendMiniappName: "\u30DF\u30CB\u30A2\u30D7\u30EA",
564
+ cli_frontendMiniappDescription: "\u4E88\u7D04\u6E08\u307F\u306E\u5BFE\u8C61\u3002\u8AAC\u660E\u7528\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FC\u306E\u307F\u751F\u6210\u3057\u307E\u3059",
565
+ cli_frontendDesktopName: "\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7",
566
+ cli_frontendDesktopDescription: "Tauri \u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9",
567
+ cli_featureIamName: "\u8A8D\u8A3C\u3068\u30A2\u30AF\u30BB\u30B9\u7BA1\u7406",
568
+ cli_featureIamDescription: "\u30BB\u30C3\u30B7\u30E7\u30F3/JWT \u8A8D\u8A3C\u3068 RBAC \u8A8D\u53EF",
569
+ cli_featureDbName: "\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",
570
+ cli_featureDbDescription: "SQLite\u3001PostgreSQL\u3001MySQL \u306B\u5BFE\u5FDC",
571
+ cli_featureCacheName: "\u30AD\u30E3\u30C3\u30B7\u30E5",
572
+ cli_featureCacheDescription: "Redis / \u30E1\u30E2\u30EA\u30FC\u30AD\u30E3\u30C3\u30B7\u30E5",
573
+ cli_featureAiName: "AI \u9023\u643A",
574
+ cli_featureAiDescription: "LLM \u30A2\u30C0\u30D7\u30BF\u30FC\u3001MCP\u3001\u30B9\u30AD\u30EB\u3001\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u5FDC\u7B54",
575
+ cli_featureStorageName: "\u30D5\u30A1\u30A4\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8",
576
+ cli_featureStorageDescription: "\u30ED\u30FC\u30AB\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8\u3068 S3/OSS/COS \u30AF\u30E9\u30A6\u30C9\u30B9\u30C8\u30EC\u30FC\u30B8",
577
+ cli_featureCryptoName: "\u6697\u53F7\u5316",
578
+ cli_featureCryptoDescription: "SM2/SM3/SM4 \u3068 Argon2 \u30D1\u30B9\u30EF\u30FC\u30C9\u30CF\u30C3\u30B7\u30E5",
579
+ cli_featureAuditName: "\u76E3\u67FB\u30ED\u30B0",
580
+ cli_featureAuditDescription: "\u64CD\u4F5C\u76E3\u67FB\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8FFD\u8DE1",
581
+ cli_featureReachName: "\u901A\u77E5",
582
+ cli_featureReachDescription: "\u30E1\u30FC\u30EB\u3001SMS\u3001WeChat \u901A\u77E5",
583
+ cli_featurePaymentName: "\u6C7A\u6E08",
584
+ cli_featurePaymentDescription: "WeChat Pay\u3001Alipay\u3001Stripe \u9023\u643A",
585
+ cli_featureVecdbName: "\u30D9\u30AF\u30C8\u30EB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",
586
+ cli_featureVecdbDescription: "LanceDB\u3001pgvector\u3001Qdrant \u306B\u3088\u308B\u30D9\u30AF\u30C8\u30EB\u691C\u7D22",
587
+ cli_featureDatapipeName: "\u30C7\u30FC\u30BF\u30D1\u30A4\u30D7\u30E9\u30A4\u30F3",
588
+ cli_featureDatapipeDescription: "\u30C6\u30AD\u30B9\u30C8\u6574\u5F62\u3001\u5206\u5272\u3001\u7D44\u307F\u5408\u308F\u305B\u53EF\u80FD\u306A\u51E6\u7406\u30D1\u30A4\u30D7\u30E9\u30A4\u30F3",
589
+ cli_featureSchedulerName: "\u30BF\u30B9\u30AF\u30B9\u30B1\u30B8\u30E5\u30FC\u30E9\u30FC",
590
+ cli_featureSchedulerDescription: "Cron \u30BF\u30B9\u30AF\u306E\u767B\u9332\u3001\u5B9F\u884C\u3001\u30ED\u30B0\u7BA1\u7406",
591
+ cli_featureDeployName: "\u30C7\u30D7\u30ED\u30A4",
592
+ cli_featureDeployDescription: "\u30C7\u30D7\u30ED\u30A4\u306E\u5236\u5FA1\u3068\u8907\u6570\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3078\u306E\u30EA\u30EA\u30FC\u30B9",
593
+ cli_featureApiClientName: "HTTP \u30AF\u30E9\u30A4\u30A2\u30F3\u30C8",
594
+ cli_featureApiClientDescription: "\u578B\u4ED8\u304D API \u547C\u3073\u51FA\u3057\u3001\u30A8\u30E9\u30FC\u51E6\u7406\u3001\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u30EA\u30AF\u30A8\u30B9\u30C8",
595
+ cli_featureCapacitorName: "\u30E2\u30D0\u30A4\u30EB\u6A5F\u80FD",
596
+ cli_featureCapacitorDescription: "\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u5411\u3051 Capacitor \u30CD\u30A4\u30C6\u30A3\u30D6\u30D6\u30EA\u30C3\u30B8",
597
+ cli_templateMinimalDescription: "\u6700\u5C0F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 \u2014 \u57FA\u672C\u6A5F\u80FD\u306E\u307F",
598
+ cli_templateDefaultDescription: "\u6A19\u6E96\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 \u2014 IAM\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3001\u30AD\u30E3\u30C3\u30B7\u30E5",
599
+ cli_templateFullDescription: "\u5B8C\u5168\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 \u2014 \u3059\u3079\u3066\u306E\u6A5F\u80FD",
600
+ cli_templateCustomDescription: "\u30AB\u30B9\u30BF\u30E0 \u2014 \u5FC5\u8981\u306A\u6A5F\u80FD\u3092\u9078\u629E",
601
+ cli_createInvalidName: '\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u304C\u7121\u52B9\u3067\u3059\uFF1A"{name}"\u3002\u5C0F\u6587\u5B57\u306E\u82F1\u5B57\u3001\u6570\u5B57\u3001\u30CF\u30A4\u30D5\u30F3\u306E\u307F\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044',
602
+ cli_createOverwrite: "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {name} \u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F",
603
+ cli_cancelled: "\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F",
604
+ cli_createDirectory: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059...",
605
+ cli_createFiles: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059...",
606
+ cli_createGit: "Git \u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u521D\u671F\u5316\u3057\u3066\u3044\u307E\u3059...",
607
+ cli_createInstall: "\u4F9D\u5B58\u95A2\u4FC2\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u307E\u3059\uFF08{manager}\uFF09...",
608
+ cli_cancelledLine: "\n\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F",
609
+ cli_createNamePrompt: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\uFF1A",
610
+ cli_createNameRequired: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u306F\u5FC5\u9808\u3067\u3059",
611
+ cli_createNamePattern: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u306B\u306F\u5C0F\u6587\u5B57\u306E\u82F1\u5B57\u3001\u6570\u5B57\u3001\u30CF\u30A4\u30D5\u30F3\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059",
612
+ cli_createTypePrompt: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u7A2E\u5225\uFF1A",
613
+ cli_createTemplatePrompt: "\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A",
614
+ cli_createExamplesPrompt: "\u30B5\u30F3\u30D7\u30EB\u30B3\u30FC\u30C9\u3092\u8FFD\u52A0\u3057\u307E\u3059\u304B\uFF1F",
615
+ cli_createManagerPrompt: "\u30D1\u30C3\u30B1\u30FC\u30B8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\uFF1A",
616
+ cli_createPnpmRecommended: "pnpm\uFF08\u63A8\u5968\uFF09",
617
+ cli_createInstallPrompt: "\u4F9D\u5B58\u95A2\u4FC2\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\uFF1F",
618
+ cli_createGitPrompt: "Git \u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u521D\u671F\u5316\u3057\u307E\u3059\u304B\uFF1F",
619
+ cli_createRemotePrompt: "Git \u30EA\u30E2\u30FC\u30C8 URL\uFF08\u7701\u7565\u53EF\u3001Enter \u3067\u30B9\u30AD\u30C3\u30D7\uFF09\uFF1A",
620
+ cli_createRemoteInvalid: "\u6709\u52B9\u306A Git \u30EA\u30E2\u30FC\u30C8 URL \u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08https://... \u307E\u305F\u306F git@...:...\uFF09",
621
+ cli_createModuleConfig: " \u2699 \u30E2\u30B8\u30E5\u30FC\u30EB\u8A2D\u5B9A",
622
+ cli_createModuleConfigHint: " \u4E3B\u8981\u8A2D\u5B9A\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08Enter \u3067\u65E2\u5B9A\u5024\u3092\u4F7F\u7528\uFF09",
623
+ cli_createCoreConfig: " [core] \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u8A2D\u5B9A",
624
+ cli_createLocalePrompt: "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u65E2\u5B9A\u306E\u8A00\u8A9E\uFF1A",
625
+ cli_createChineseLocale: "\u4E2D\u56FD\u8A9E\uFF08zh-CN\uFF09",
626
+ cli_createDbConfig: " [db] \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u8A2D\u5B9A",
627
+ cli_createDbTypePrompt: "\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u7A2E\u5225\uFF1A",
628
+ cli_createSqliteOption: "SQLite\uFF08\u8A2D\u5B9A\u4E0D\u8981\u3001\u958B\u767A\u7528\uFF09",
629
+ cli_createSqlitePathPrompt: "SQLite \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30D1\u30B9\uFF1A",
630
+ cli_createDbHostPrompt: "{backend} \u30DB\u30B9\u30C8\uFF1A",
631
+ cli_createPortPrompt: "\u30DD\u30FC\u30C8\uFF1A",
632
+ cli_createDatabasePrompt: "\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D\uFF1A",
633
+ cli_createCacheConfig: " [cache] \u30AD\u30E3\u30C3\u30B7\u30E5\u8A2D\u5B9A",
634
+ cli_createCacheTypePrompt: "\u30AD\u30E3\u30C3\u30B7\u30E5\u7A2E\u5225\uFF1A",
635
+ cli_createMemoryOption: "\u30E1\u30E2\u30EA\u30FC\u30AD\u30E3\u30C3\u30B7\u30E5\uFF08\u8A2D\u5B9A\u4E0D\u8981\u3001\u958B\u767A\u7528\uFF09",
636
+ cli_createRedisHostPrompt: "Redis \u30DB\u30B9\u30C8\uFF1A",
637
+ cli_createRedisPortPrompt: "Redis \u30DD\u30FC\u30C8\uFF1A",
638
+ cli_createIamConfig: " [iam] \u8A8D\u8A3C\u3068\u8A8D\u53EF",
639
+ cli_createPasswordPrompt: "\u30D1\u30B9\u30EF\u30FC\u30C9\u30ED\u30B0\u30A4\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u304B\uFF1F",
640
+ cli_createOtpPrompt: "OTP \u30ED\u30B0\u30A4\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u304B\uFF1F",
641
+ cli_createStorageConfig: " [storage] \u30D5\u30A1\u30A4\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8\u8A2D\u5B9A",
642
+ cli_createStorageTypePrompt: "\u30B9\u30C8\u30EC\u30FC\u30B8\u7A2E\u5225\uFF1A",
643
+ cli_createLocalStorageOption: "\u30ED\u30FC\u30AB\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8\uFF08\u8A2D\u5B9A\u4E0D\u8981\u3001\u958B\u767A\u7528\uFF09",
644
+ cli_createStoragePathPrompt: "\u30B9\u30C8\u30EC\u30FC\u30B8\u30D1\u30B9\uFF1A",
645
+ cli_createAiConfig: " [ai] AI \u8A2D\u5B9A",
646
+ cli_createCompatibleAiOption: "\u305D\u306E\u4ED6\uFF08OpenAI \u4E92\u63DB\uFF09",
647
+ cli_createModelPrompt: "\u65E2\u5B9A\u306E\u30E2\u30C7\u30EB\uFF1A",
648
+ cli_createSuccess: "\u2714 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u6210\u3057\u307E\u3057\u305F\uFF01",
649
+ cli_createFeatures: "\u6709\u52B9\u306A\u6A5F\u80FD\uFF1A",
650
+ cli_nextSteps: "\u6B21\u306E\u624B\u9806\uFF1A",
651
+ cli_featureKitName: "SvelteKit \u9023\u643A",
652
+ cli_featureUiName: "UI \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8",
653
+ cli_projectNotFound: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF08package.json \u304C\u3042\u308A\u307E\u305B\u3093\uFF09",
654
+ cli_addAllInstalled: "\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u65E2\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u307E\u3059\uFF01",
655
+ cli_addModulePrompt: "\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF1A",
656
+ cli_addUnknownModule: "\u4E0D\u660E\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\uFF1A{module}",
657
+ cli_addAvailableModules: "\u5229\u7528\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\uFF1A{modules}",
658
+ cli_addSupportCompleted: "\u30E2\u30B8\u30E5\u30FC\u30EB {module} \u306F\u65E2\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u4E0D\u8DB3\u3057\u3066\u3044\u305F AI \u652F\u63F4\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F",
659
+ cli_addAlreadyInstalled: "\u30E2\u30B8\u30E5\u30FC\u30EB {module} \u306F\u65E2\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u307E\u3059",
660
+ cli_addUpdateManifest: "package.json \u3092\u66F4\u65B0\u3057\u3066\u3044\u307E\u3059...",
661
+ cli_addConfig: "\u8A2D\u5B9A config/_{config}.yml \u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059...",
662
+ cli_addConfigExists: "\u8A2D\u5B9A\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\uFF1Aconfig/_{config}.yml",
663
+ cli_addDependencyConfig: " + config/_{config}.yml\uFF08\u4F9D\u5B58\u95A2\u4FC2\uFF09",
664
+ cli_addInstall: "\u4F9D\u5B58\u95A2\u4FC2\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u307E\u3059...",
665
+ cli_addSuccess: "\u2714 \u30E2\u30B8\u30E5\u30FC\u30EB {module} \u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F\uFF01",
666
+ cli_addPackages: "\u8FFD\u52A0\u3057\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\uFF1A",
667
+ cli_addFailed: "\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u8FFD\u52A0\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A",
668
+ cli_initDetecting: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u691C\u51FA\u3057\u3066\u3044\u307E\u3059...",
669
+ cli_initDetected: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\uFF1A{name}",
670
+ cli_initStatus: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u72B6\u614B\uFF1A",
671
+ cli_initName: " \u540D\u524D\uFF1A{name}",
672
+ cli_initVersion: " \u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A{version}",
673
+ cli_none: "\u306A\u3057",
674
+ cli_initModules: " \u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u30E2\u30B8\u30E5\u30FC\u30EB\uFF1A{modules}",
675
+ cli_initExisting: "\u65E2\u5B58\u306E\u8A2D\u5B9A\uFF1A",
676
+ cli_initReady: "\u2714 \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u304C\u63C3\u3063\u3066\u3044\u307E\u3059\uFF01",
677
+ cli_initMissing: "\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u8A2D\u5B9A\uFF1A",
678
+ cli_initGenerating: "\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059...",
679
+ cli_initGenerated: "\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092 {count} \u4EF6\u751F\u6210\u3057\u307E\u3057\u305F",
680
+ cli_initRegenerating: "\u3059\u3079\u3066\u306E\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u6210\u3057\u3066\u3044\u307E\u3059...",
681
+ cli_initRegenerated: "\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092 {count} \u4EF6\u518D\u751F\u6210\u3057\u307E\u3057\u305F",
682
+ cli_initCore: "\u57FA\u672C\u8A2D\u5B9A config/_core.yml \u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059...",
683
+ cli_initSuccess: "\u2714 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u3092\u521D\u671F\u5316\u3057\u307E\u3057\u305F\uFF01",
684
+ cli_initEditConfig: " 1. config/ \u5185\u306E\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3092\u7DE8\u96C6\u3057\u3066\u304F\u3060\u3055\u3044",
685
+ cli_initStartDev: " 2. pnpm dev \u3067\u958B\u767A\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044",
686
+ cli_initFailed: "\u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A",
687
+ cli_createTagline: " AI \u30CD\u30A4\u30C6\u30A3\u30D6 \xB7 \u8A2D\u5B9A\u99C6\u52D5 \xB7 \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u512A\u5148",
688
+ cli_createRemoteFailure: "Git \u30EA\u30E2\u30FC\u30C8 URL \u304C\u7121\u52B9\u3067\u3059\uFF1A{remote}",
689
+ cli_createProviderPrompt: "AI \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\uFF1A",
690
+ cli_addSupportFile: " + {file}\uFF08AI \u652F\u63F4\uFF09",
691
+ cli_coreLabel: "\u57FA\u672C",
692
+ cli_serviceLabel: "\u30B5\u30FC\u30D3\u30B9",
693
+ cli_yes: "\u306F\u3044",
694
+ cli_no: "\u3044\u3044\u3048",
695
+ cli_createEnglishLocale: "\u82F1\u8A9E\uFF08en-US\uFF09",
696
+ cli_createJapaneseLocale: "\u65E5\u672C\u8A9E\uFF08ja-JP\uFF09"
697
+ };
698
+
699
+ // messages/zh-CN.json
700
+ var zh_CN_default = {
701
+ cli_createFailed: "\u521B\u5EFA\u9879\u76EE\u5931\u8D25:",
702
+ cli_installFailed: "\u5B89\u88C5\u4F9D\u8D56\u5931\u8D25\uFF08{pm}\uFF09\u3002",
703
+ cli_commandLabel: "\u547D\u4EE4: {command}",
704
+ cli_exitCode: "\u9000\u51FA\u7801: {code}",
705
+ cli_signal: "\u4FE1\u53F7: {signal}",
706
+ cli_selectHint: "- \u2191/\u2193 \u9009\u62E9\uFF0C\u56DE\u8F66\u786E\u8BA4",
707
+ cli_multiselectHint: "- \u7A7A\u683C\u9009\u62E9\uFF0C\u56DE\u8F66\u786E\u8BA4",
708
+ cli_featuresPrompt: "\u9009\u62E9\u529F\u80FD:",
709
+ cli_frontendsPrompt: "\u9009\u62E9\u524D\u7AEF\u76EE\u6807:",
710
+ cli_invalidGenerateName: "\u540D\u79F0\u5FC5\u987B\u4EE5\u5B57\u6BCD\u5F00\u5934\uFF0C\u4E14\u4EC5\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u77ED\u6A2A\u7EBF\u6216\u4E0B\u5212\u7EBF",
711
+ cli_generateOutsideWorkspace: "\u751F\u6210\u6587\u4EF6\u5FC5\u987B\u4F4D\u4E8E\u5DE5\u4F5C\u76EE\u5F55\u5185\uFF0C\u7B26\u53F7\u94FE\u63A5\u76EE\u6807\u4E5F\u4E0D\u5F97\u8D8A\u754C",
712
+ cli_generateExists: "\u6587\u4EF6\u5DF2\u5B58\u5728\uFF1A{path}\u3002\u4F7F\u7528 --force \u624D\u53EF\u8986\u76D6",
713
+ cli_deploy_module_missing: "\u672A\u627E\u5230\u90E8\u7F72\u6A21\u5757\uFF0C\u8BF7\u5148\u5B89\u88C5 @h-ai/deploy\uFF1A",
714
+ cli_deploy_load_credentials: "\u6B63\u5728\u52A0\u8F7D\u51ED\u8BC1\u2026",
715
+ cli_deploy_credentials_failed: "\u52A0\u8F7D\u51ED\u8BC1\u5931\u8D25\uFF1A{message}",
716
+ cli_deploy_credentials_loaded: "\u5DF2\u52A0\u8F7D {count} \u9879\u51ED\u8BC1",
717
+ cli_deploy_load_config: "\u6B63\u5728\u52A0\u8F7D\u90E8\u7F72\u914D\u7F6E\u2026",
718
+ cli_deploy_config_missing: "\u672A\u627E\u5230\u90E8\u7F72\u914D\u7F6E\uFF1A{path}",
719
+ cli_deploy_config_hint: "\u8FD0\u884C hai add deploy \u751F\u6210\u90E8\u7F72\u914D\u7F6E\u6A21\u677F",
720
+ cli_deploy_config_loaded: "\u90E8\u7F72\u914D\u7F6E\u5DF2\u52A0\u8F7D",
721
+ cli_deploy_scanning: "\u6B63\u5728\u626B\u63CF\u5E94\u7528\u2026",
722
+ cli_deploy_scan_failed: "\u626B\u63CF\u5931\u8D25\uFF1A{message}",
723
+ cli_deploy_scanned: "\u5DF2\u626B\u63CF\uFF1A{name}\uFF08SvelteKit\uFF1A{sveltekit}\uFF0C\u670D\u52A1\uFF1A{services}\uFF09",
724
+ cli_deploy_none: "\u65E0",
725
+ cli_deploy_initializing: "\u6B63\u5728\u521D\u59CB\u5316\u90E8\u7F72\u6A21\u5757\u2026",
726
+ cli_deploy_init_failed: "\u521D\u59CB\u5316\u5931\u8D25\uFF1A{message}",
727
+ cli_deploy_initialized: "\u90E8\u7F72\u6A21\u5757\u5DF2\u521D\u59CB\u5316",
728
+ cli_deploy_deploying: "\u6B63\u5728\u90E8\u7F72\u5E94\u7528\u2026",
729
+ cli_deploy_failed: "\u90E8\u7F72\u5931\u8D25\uFF1A{message}",
730
+ cli_deploy_success: "\u90E8\u7F72\u6210\u529F\uFF01",
731
+ cli_deploy_url: " \u5730\u5740\uFF1A{url}",
732
+ cli_deploy_id: " \u6807\u8BC6\uFF1A{id}",
733
+ cli_deploy_command_failed: "\u90E8\u7F72\u547D\u4EE4\u5931\u8D25",
734
+ cli_adminPasswordSaved: " \u7BA1\u7406\u5458\uFF1Aadmin\uFF1B\u968F\u673A\u521D\u59CB\u5BC6\u7801\u5DF2\u4FDD\u5B58\u5230 .env.local \u7684 HAI_ADMIN_DEFAULT_PASSWORD",
735
+ cli_deploy_environment: "\u8BF7\u8F93\u5165\u90E8\u7F72\u73AF\u5883\uFF08test / prod \u7B49\uFF09",
736
+ cli_deploy_cancelled: "\u90E8\u7F72\u5DF2\u53D6\u6D88\u3002",
737
+ cli_deploy_environment_hint: "\u8BF7\u6307\u5B9A --env <\u73AF\u5883>\uFF1B\u975E\u4EA4\u4E92\u8C03\u7528\u8FD8\u9700 --yes\uFF0C\u6216\u5728\u4EA4\u4E92\u7EC8\u7AEF\u9010\u9879\u9009\u62E9\u4E2D\u95F4\u4EF6\u3002",
738
+ cli_deploy_middleware: "{service}\uFF1A\u5F53\u524D\u9ED8\u8BA4 {backend}\uFF1B{purpose}\u3002\u6765\u6E90\uFF1A{source}",
739
+ cli_deploy_action: "\u5982\u4F55\u5904\u7406 {service}\uFF1F",
740
+ cli_deploy_default: "\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E",
741
+ cli_deploy_custom: "\u4F7F\u7528\u81EA\u5B9A\u4E49\u914D\u7F6E",
742
+ cli_deploy_keep: "\u4FDD\u6301\u4E0D\u53D8",
743
+ cli_deploy_backend: "\u8BF7\u9009\u62E9 {service} \u7684\u540E\u7AEF",
744
+ cli_deploy_field: "{description}\uFF08{constraint}\uFF09",
745
+ cli_deploy_required: "\u6B64\u9879\u5FC5\u586B",
746
+ cli_deploy_invalid_value: "\u53D6\u503C\u4E0D\u6EE1\u8DB3\u5B57\u6BB5\u7EA6\u675F",
747
+ cli_deploy_cloud_unsupported: "{backend} \u6CA1\u6709\u53EF\u7528\u7684\u4E91\u81EA\u52A8\u5F00\u901A\u5668\uFF0C\u8BF7\u9009\u62E9\u81EA\u5B9A\u4E49\u8FDE\u63A5\u6216\u5207\u6362\u53D7\u652F\u6301\u7684\u540E\u7AEF\u3002",
748
+ cli_deploy_saved: "\u5DF2\u4FDD\u5B58 {service} \u914D\u7F6E\uFF08\u516C\u5171\u503C\u5199\u76EE\u6807\u73AF\u5883\u6587\u4EF6\uFF0C\u51ED\u636E\u5199 .env.local\uFF09",
749
+ cli_deploy_missing_keep: "\u76EE\u6807\u73AF\u5883\u5C1A\u65E0 {service} \u7684\u5B8C\u6574\u914D\u7F6E\uFF0C\u4E0D\u80FD\u4FDD\u6301\u4E0D\u53D8\u3002",
750
+ cli_deploy_s3_engine: "\u9009\u62E9\u81EA\u5EFA S3 \u670D\u52A1\u5B9E\u73B0\uFF08\u5E94\u7528\u4ECD\u4F7F\u7528 type: s3\uFF09",
751
+ cli_deploy_target_reused: "\u590D\u7528\u5DF2\u4FDD\u5B58\u7684\u90E8\u7F72\u76EE\u6807 {target}\u3002",
752
+ cli_deploy_target_missing: "\u90E8\u7F72\u76EE\u6807\u914D\u7F6E\u4E0D\u5B8C\u6574\uFF1A{fields}\u3002\u8BF7\u5148\u914D\u7F6E\u90E8\u7F72\u76EE\u6807\uFF0C\u6216\u4F7F\u7528\u4EA4\u4E92\u7EC8\u7AEF\u5B8C\u6210\u5F15\u5BFC\u3002",
753
+ cli_deploy_target_platform: "\u9009\u62E9\u90E8\u7F72\u5E73\u53F0",
754
+ cli_deploy_target_ssh: "SSH \u670D\u52A1\u5668\uFF08Docker / Podman Compose\uFF09",
755
+ cli_deploy_target_field: "{name}",
756
+ cli_deploy_target_ssh_hint: "\u8F93\u5165\u670D\u52A1\u5668\u8FDE\u63A5\u53CA\u7AEF\u53E3\u53C2\u6570\u3002\u79C1\u94A5\u586B\u5199\u6587\u4EF6\u8DEF\u5F84\uFF1B\u7559\u7A7A\u4F7F\u7528 ssh-agent \u6216\u9ED8\u8BA4\u5BC6\u94A5\u3002known_hosts \u8DEF\u5F84\u7559\u7A7A\u4F7F\u7528 OpenSSH \u9ED8\u8BA4\u503C\u3002\u9996\u6B21\u8FDE\u63A5\u4FE1\u4EFB\u4E3B\u673A\u6307\u7EB9\uFF0C\u540E\u7EED\u62D2\u7EDD\u6307\u7EB9\u53D8\u66F4\u3002",
757
+ cli_deploy_target_runtime: "\u8FDC\u7A0B\u5BB9\u5668\u8FD0\u884C\u65F6\uFF08auto \u4F18\u5148\u4F7F\u7528 Podman\uFF09",
758
+ cli_deploy_target_saved: "\u90E8\u7F72\u76EE\u6807\u5DF2\u4FDD\u5B58\u5230 .env.local\uFF08\u5DF2\u52A0\u5165 Git \u5FFD\u7565\uFF09\uFF0C\u4E0B\u6B21\u81EA\u52A8\u590D\u7528\u3002",
759
+ cli_deploy_middleware_plan: "\u662F\u5426\u9700\u8981\u914D\u7F6E\u672C\u6B21\u90E8\u7F72\u7684\u4E2D\u95F4\u4EF6\uFF1F",
760
+ cli_deploy_middleware_configure: "\u9010\u9879\u68C0\u67E5\u5E76\u914D\u7F6E\u4E2D\u95F4\u4EF6",
761
+ cli_deploy_middleware_skip: "\u73AF\u5883\u914D\u7F6E\u5DF2\u5B8C\u5907\uFF0C\u76F4\u63A5\u90E8\u7F72",
762
+ cli_deploy_middleware_skipped: "\u5DF2\u8DF3\u8FC7\u5168\u90E8\u4E2D\u95F4\u4EF6\u914D\u7F6E\u4E0E\u8D44\u6E90\u5F00\u901A\uFF0C\u4F7F\u7528\u5F53\u524D\u73AF\u5883\u914D\u7F6E\u53CA\u5DF2\u6709\u670D\u52A1\u76F4\u63A5\u90E8\u7F72\u3002",
763
+ cli_build_failed: "\u6784\u5EFA\u547D\u4EE4 {command} \u5931\u8D25\uFF08\u9000\u51FA\u7801 {code}\uFF09\u3002",
764
+ cli_build_use_pnpm: "\u8BF7\u901A\u8FC7 pnpm build \u8FD0\u884C\u6784\u5EFA\uFF0C\u786E\u4FDD\u4F7F\u7528\u5F53\u524D\u9879\u76EE\u7684 pnpm\u3002",
765
+ cli_build_target_invalid: "target \u5FC5\u987B\u4E3A compile\u3001docker \u6216 desktop\u3002",
766
+ cli_build_options_invalid: "runtime\u3001network\u3001sqlite-prebuild-mirror\u3001no-http-proxy \u4EC5\u7528\u4E8E docker\uFF1Bplatform\u3001arch \u4EC5\u7528\u4E8E desktop\u3002",
767
+ cli_build_version_invalid: "\u8BF7\u5728\u5E94\u7528\u6839 package.json \u4E2D\u8BBE\u7F6E\u6709\u6548\u7684\u4E09\u6BB5\u5F0F\u7248\u672C\uFF08\u5982 1.2.3 \u6216 1.2.3-beta.1\uFF0C\u6700\u957F 80 \u5B57\u7B26\uFF09\u3002",
768
+ cli_build_native_host: "Tauri \u9700\u8981\u5728\u5BF9\u5E94\u7CFB\u7EDF\u4E0A\u6784\u5EFA\uFF08windows/linux/macos\uFF09\uFF0C\u67B6\u6784\u4E3A x64 \u6216 arm64\uFF1B\u8BF7\u5148\u5B89\u88C5\u5BF9\u5E94 Rust target\u3001\u7CFB\u7EDF SDK \u548C\u6253\u5305\u5DE5\u5177\u3002",
769
+ cli_build_desktop_missing: "hai.build.json \u672A\u914D\u7F6E desktop \u76EE\u5F55\u3002\u8BF7\u751F\u6210 desktop \u524D\u7AEF\u6216\u6DFB\u52A0\u5DF2\u6709\u7684 Tauri \u5DE5\u7A0B\u3002",
770
+ cli_build_images_missing: "hai.build.json \u5FC5\u987B\u5305\u542B\u4E00\u4E2A app \u955C\u50CF\u548C\u81F3\u591A\u4E00\u4E2A web \u955C\u50CF\u3002",
771
+ cli_build_runtime_missing: "\u8BF7\u5B89\u88C5\u5E76\u542F\u52A8 Podman \u6216 Docker\u3002auto \u4F18\u5148\u9009\u62E9\u53EF\u7528\u7684 Podman\u3002",
772
+ cli_build_mirror_invalid: "SQLite \u955C\u50CF\u5730\u5740\u5FC5\u987B\u4E3A HTTP(S)\uFF0C\u4E0D\u80FD\u5305\u542B\u51ED\u636E\u3001\u67E5\u8BE2\u6216\u7247\u6BB5\u3002",
773
+ cli_build_ready: "\u6784\u5EFA\u5B8C\u6210\uFF08{runtime}\uFF09\uFF1A{path}\u3002\u6B64\u955C\u50CF\u53EF\u7528\u4E8E\u4E0D\u540C\u90E8\u7F72\u73AF\u5883\u3002",
774
+ cli_build_native_ready: "Tauri \u6784\u5EFA\u5B8C\u6210\uFF1A{target}\uFF0C\u5B89\u88C5\u5305\u4F4D\u4E8E\u5BF9\u5E94\u5DE5\u7A0B src-tauri/target/{target}/release/bundle\u3002",
775
+ cli_deploy_bundle_provider: "\u79BB\u7EBF\u6253\u5305\u3001\u4E00\u4F53\u5316\u955C\u50CF\u6784\u5EFA\u548C\u6309\u670D\u52A1\u5C40\u90E8\u90E8\u7F72\u9700\u8981 docker-ssh Compose \u76EE\u6807\u3002",
776
+ cli_deploy_bundle_target: "\u4EC5\u751F\u6210\u90E8\u7F72\u5305\uFF0C\u4E0D\u8FDE\u63A5\u670D\u52A1\u5668\u3002\u90E8\u7F72\u524D\u8BF7\u68C0\u67E5\u5E76\u4FEE\u6539\u64CD\u4F5C\u76EE\u5F55\u4E2D\u7684 deploy-target.json\u3002",
777
+ cli_deploy_bundle_ready: "\u90E8\u7F72\u5305\u5DF2\u751F\u6210\uFF1B\u670D\u52A1\u5668\u5C1A\u672A\u90E8\u7F72\u3002",
778
+ cli_deploy_bundle_path: "\u90E8\u7F72\u5305\uFF1A{path}",
779
+ cli_build_selection_invalid: "\u8BF7\u9009\u62E9 hai.build.json \u4E2D\u5DF2\u6709\u7684\u955C\u50CF\u540D\u79F0\uFF0C\u4F8B\u5982 app\u3001web \u6216 app,web\u3002",
780
+ cli_build_dockerfile_missing: "\u627E\u4E0D\u5230\u955C\u50CF\u6784\u5EFA\u6587\u4EF6\uFF1A{path}\u3002\u8BF7\u68C0\u67E5 hai.build.json\u3002",
781
+ cli_deploy_yaml_node: "\u65E0\u6CD5\u4FEE\u6539\u914D\u7F6E {path}\uFF1A{field} \u5E94\u4E3A\u914D\u7F6E\u5BF9\u8C61\uFF0C\u4E0D\u80FD\u662F\u5B57\u7B26\u4E32\u6216\u6570\u7EC4\u3002\u8BF7\u4FEE\u6539\u540E\u91CD\u8BD5\u3002",
782
+ cli_deploy_inputHOST: "\u670D\u52A1\u5668\u5730\u5740",
783
+ cli_deploy_services_invalid: "\u670D\u52A1\u9009\u62E9\u65E0\u6548\u3002\u5F53\u524D\u9879\u76EE\u53EF\u9009\uFF1A{services}\u3002",
784
+ cli_deploy_build_artifact_conflict: "--build \u7528\u4E8E\u6784\u5EFA\u65B0\u4EA7\u7269\uFF0C--artifact-dir \u7528\u4E8E\u9009\u62E9\u5DF2\u6709\u4EA7\u7269\uFF0C\u8BF7\u4E8C\u9009\u4E00\u3002",
785
+ cli_deploy_build_options_required: "\u6784\u5EFA\u7F51\u7EDC\u3001\u4EE3\u7406\u548C SQLite \u9884\u7F16\u8BD1\u5305\u53C2\u6570\u9700\u8981\u914D\u5408 --build \u4F7F\u7528\u3002",
786
+ cli_deploy_artifact_invalid: "\u955C\u50CF\u6E05\u5355\u6216\u5F52\u6863\u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u6784\u5EFA\uFF0C\u6216\u7528 --artifact-dir \u9009\u62E9\u6709\u6548\u7684\u6784\u5EFA\u76EE\u5F55\u3002",
787
+ cli_deploy_inputPORT: "SSH \u7AEF\u53E3\uFF08\u9ED8\u8BA4 22\uFF09",
788
+ cli_deploy_inputUSERNAME: "SSH \u767B\u5F55\u7528\u6237",
789
+ cli_deploy_inputIDENTITYFILE: "SSH \u79C1\u94A5\u6587\u4EF6\uFF08\u53EF\u7559\u7A7A\uFF0C\u4F7F\u7528\u4EE3\u7406\u6216\u9ED8\u8BA4\u5BC6\u94A5\uFF09",
790
+ cli_deploy_inputKNOWNHOSTSFILE: "\u670D\u52A1\u5668\u6307\u7EB9\u8BB0\u5F55\u6587\u4EF6\uFF08\u53EF\u7559\u7A7A\uFF0C\u4F7F\u7528 OpenSSH \u9ED8\u8BA4\u4F4D\u7F6E\uFF09",
791
+ cli_deploy_inputBASEDIR: "\u670D\u52A1\u5668\u90E8\u7F72\u6839\u76EE\u5F55",
792
+ cli_deploy_inputHOSTPORT: "\u5E94\u7528\u5BF9\u5916\u8BBF\u95EE\u7AEF\u53E3",
793
+ cli_deploy_inputCONTAINERPORT: "API \u5BB9\u5668\u5185\u90E8\u7AEF\u53E3",
794
+ cli_deploy_inputTOKEN: "Vercel \u8BBF\u95EE\u4EE4\u724C",
795
+ cli_deploy_cloud_input_apiKey: "API \u8BBF\u95EE\u5BC6\u94A5",
796
+ cli_deploy_cloud_input_email: "\u5E73\u53F0\u6CE8\u518C\u90AE\u7BB1",
797
+ cli_deploy_cloud_input_accountId: "\u5E73\u53F0\u8D26\u6237\u7F16\u53F7",
798
+ cli_deploy_cloud_input_apiToken: "API \u8BBF\u95EE\u4EE4\u724C",
799
+ cli_deploy_cloud_input_accessKeyId: "\u8BBF\u95EE\u5BC6\u94A5\u7F16\u53F7",
800
+ cli_deploy_cloud_input_secretAccessKey: "\u8BBF\u95EE\u5BC6\u94A5\u5BC6\u7801",
801
+ cli_deploy_cloud_input_accessKeySecret: "\u8BBF\u95EE\u5BC6\u94A5\u5BC6\u7801",
802
+ cli_deploy_cloud_input_signName: "\u5DF2\u5BA1\u6838\u7684\u77ED\u4FE1\u7B7E\u540D",
803
+ cli_deploy_cloud_input_from: "\u53D1\u4EF6\u4EBA\u5730\u5740\uFF08\u4F7F\u7528\u5DF2\u9A8C\u8BC1\u57DF\u540D\uFF09",
804
+ cli_deploy_port_invalid: "\u8BF7\u8F93\u5165 1\uFF5E65535 \u4E4B\u95F4\u7684\u6574\u6570\u3002",
805
+ cli_deploy_build_started: "\u5148\u6784\u5EFA\u672C\u6B21\u6240\u9009\u5E94\u7528\u955C\u50CF\u2026",
806
+ cli_deploy_services: "\u672C\u6B21\u66F4\u65B0\u670D\u52A1\uFF1A{services}",
807
+ cli_deploy_stage_packaging: "\u6253\u5305\u6240\u9009\u955C\u50CF\u4E0E\u4E2D\u95F4\u4EF6",
808
+ cli_deploy_stage_preflight: "\u68C0\u67E5\u670D\u52A1\u5668\u4E0E\u90E8\u7F72\u57FA\u7EBF",
809
+ cli_deploy_stage_images: "\u5BFC\u5165\u79BB\u7EBF\u955C\u50CF",
810
+ cli_deploy_stage_dependencies: "\u68C0\u67E5\u672A\u66F4\u65B0\u7684\u4F9D\u8D56\u670D\u52A1",
811
+ cli_deploy_stage_start: "\u66F4\u65B0\u6240\u9009\u670D\u52A1",
812
+ cli_deploy_stage_health: "\u9A8C\u8BC1\u5E94\u7528\u8BBF\u95EE",
813
+ cli_deploy_stage_complete: "\u670D\u52A1\u5668\u90E8\u7F72\u68C0\u67E5\u901A\u8FC7",
814
+ cli_deploy_choose_services: "\u9009\u62E9\u672C\u6B21\u66F4\u65B0\u7684\u670D\u52A1\uFF08\u9ED8\u8BA4\u5168\u90E8\uFF0C\u7A7A\u683C\u5207\u6362\uFF09",
815
+ cli_deploy_config_invalid: "\u90E8\u7F72\u914D\u7F6E\u4E0D\u5B8C\u6574\u6216\u683C\u5F0F\u6709\u8BEF\u3002\u6587\u4EF6\uFF1A{path}\uFF1B\u8BF7\u68C0\u67E5\u8FD9\u4E9B\u5B57\u6BB5\uFF1A{fields}\u3002",
816
+ cli_help_verbose: "\u663E\u793A\u8BE6\u7EC6\u8F93\u51FA",
817
+ cli_help_cwd: "\u5DE5\u4F5C\u76EE\u5F55",
818
+ cli_help_create: "\u521B\u5EFA\u65B0\u7684 hai \u9879\u76EE",
819
+ cli_help_appType: "\u5E94\u7528\u7C7B\u578B (admin, website, h5, api, mobile-app, fullstack)",
820
+ cli_help_frontends: "\u524D\u540E\u7AEF\u5206\u79BB\u5DE5\u7A0B\u524D\u7AEF\u76EE\u6807 (\u9017\u53F7\u5206\u9694: web,app,miniapp,desktop)",
821
+ cli_help_template: "\u9879\u76EE\u6A21\u677F (minimal, default, full, custom)",
822
+ cli_help_features: "\u529F\u80FD\u5217\u8868 (\u9017\u53F7\u5206\u9694: iam,db,cache,ai,storage,crypto)",
823
+ cli_help_examples: "\u6DFB\u52A0\u793A\u4F8B\u4EE3\u7801",
824
+ cli_help_noExamples: "\u4E0D\u6DFB\u52A0\u793A\u4F8B\u4EE3\u7801",
825
+ cli_help_noInstall: "\u4E0D\u5B89\u88C5\u4F9D\u8D56",
826
+ cli_help_noDeploy: "\u4E0D\u5305\u542B\u90E8\u7F72\u5DE5\u5177\u548C\u90E8\u7F72\u547D\u4EE4",
827
+ cli_help_packageManager: "\u5305\u7BA1\u7406\u5668 (pnpm, npm, yarn)",
828
+ cli_help_noGit: "\u4E0D\u521D\u59CB\u5316 Git",
829
+ cli_help_gitRemote: "Git \u8FDC\u7A0B\u4ED3\u5E93\u5730\u5740",
830
+ cli_help_yes: "\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E\uFF0C\u8DF3\u8FC7\u4EA4\u4E92",
831
+ cli_help_add: "\u5411\u73B0\u6709\u9879\u76EE\u6DFB\u52A0\u6A21\u5757",
832
+ cli_help_init: "\u521D\u59CB\u5316/\u6821\u9A8C\u9879\u76EE\u914D\u7F6E",
833
+ cli_help_forceConfig: "\u5F3A\u5236\u91CD\u65B0\u751F\u6210\u914D\u7F6E",
834
+ cli_help_generate: "\u751F\u6210\u4EE3\u7801",
835
+ cli_help_output: "\u8F93\u51FA\u8DEF\u5F84",
836
+ cli_help_force: "\u8986\u76D6\u73B0\u6709\u6587\u4EF6",
837
+ cli_help_build: "\u6784\u5EFA\u6E90\u7801\u3001Docker \u955C\u50CF\u6216 Tauri \u5B89\u88C5\u5305\uFF08\u4E0D\u533A\u5206\u90E8\u7F72\u73AF\u5883\uFF09",
838
+ cli_help_target: "\u4EA7\u7269\u7C7B\u578B\uFF1Acompile\uFF08\u9ED8\u8BA4\uFF09/ docker / desktop",
839
+ cli_help_images: "\u53EA\u6784\u5EFA\u6307\u5B9A\u955C\u50CF\uFF0C\u4F8B\u5982 app\u3001web \u6216 app,web",
840
+ cli_help_buildRuntime: "\u672C\u5730\u5BB9\u5668\u5F15\u64CE\uFF1Aauto\uFF08\u4F18\u5148 Podman\uFF09/ podman / docker",
841
+ cli_help_buildNetwork: "\u5BB9\u5668\u6784\u5EFA\u7F51\u7EDC\uFF08\u9ED8\u8BA4\u5F15\u64CE\u8BBE\u7F6E\uFF09\uFF0C\u4F8B\u5982 rootless Podman \u7684 pasta",
842
+ cli_help_platform: "Tauri \u76EE\u6807\u7CFB\u7EDF\uFF1Awindows / linux / macos\uFF08\u5728\u5BF9\u5E94\u7CFB\u7EDF\u6784\u5EFA\uFF09",
843
+ cli_help_arch: "Tauri \u76EE\u6807\u67B6\u6784\uFF1Ax64 / arm64",
844
+ cli_help_sqliteMirror: "SQLite \u9884\u7F16\u8BD1\u4E8C\u8FDB\u5236\u955C\u50CF\u6839\u5730\u5740",
845
+ cli_help_noHttpProxy: "Podman \u6784\u5EFA\u4E0D\u7EE7\u627F\u672C\u673A\u4EE3\u7406",
846
+ cli_help_deploy: "\u90E8\u7F72\u5E94\u7528\u6216\u751F\u6210\u79BB\u7EBF\u4EA4\u4ED8\u5305",
847
+ cli_help_environment: "\u90E8\u7F72\u73AF\u5883\uFF08test / prod \u7B49\uFF0C\u5FC5\u987B\u5B58\u5728\u5BF9\u5E94\u73AF\u5883\u6587\u4EF6\uFF09",
848
+ cli_help_envDir: "\u73AF\u5883\u6587\u4EF6\u6240\u5728\u76EE\u5F55\uFF08\u9ED8\u8BA4\u81EA\u52A8\u67E5\u627E\uFF09",
849
+ cli_help_deployYes: "\u65E0\u4EA4\u4E92\u4F7F\u7528\u5DF2\u6709\u6216\u9ED8\u8BA4\u914D\u7F6E\uFF1B\u7F3A\u5C11\u5FC5\u9700\u53C2\u6570\u65F6\u8BF4\u660E\u539F\u56E0",
850
+ cli_help_projectName: "\u9879\u76EE\u540D\u79F0\uFF08\u9ED8\u8BA4\u670D\u52A1\u5305\u540D\uFF0C\u7F3A\u5931\u65F6\u4E3A\u76EE\u5F55\u540D\uFF1B\u9644\u52A0\u73AF\u5883\u540E\u7F00\uFF09",
851
+ cli_help_skipMiddleware: "\u914D\u7F6E\u5DF2\u5B8C\u5907\uFF0C\u8DF3\u8FC7\u5168\u90E8\u4E2D\u95F4\u4EF6\u5904\u7406\uFF0C\u76F4\u63A5\u90E8\u7F72",
852
+ cli_help_artifactDir: "\u5DF2\u6709\u955C\u50CF\u6784\u5EFA\u4EA7\u7269\u76EE\u5F55\uFF08\u542B manifest.json\uFF09",
853
+ cli_help_services: "\u53EA\u66F4\u65B0\u6307\u5B9A\u670D\u52A1\uFF0C\u4F8B\u5982 web\u3001app \u6216 app,web\uFF1B\u7701\u7565\u65F6\u90E8\u7F72\u5236\u54C1\u4E2D\u7684\u5168\u90E8\u670D\u52A1",
854
+ cli_help_deployBuild: "\u5148\u6784\u5EFA\u6240\u9009\u5E94\u7528\u955C\u50CF\uFF0C\u518D\u6253\u5305\u90E8\u7F72\uFF1B\u53EF\u4E0E --bundle-only \u4E00\u8D77\u4F7F\u7528",
855
+ cli_help_deployNetwork: "\u4E00\u4F53\u5316\u6784\u5EFA\u4F7F\u7528\u7684\u5BB9\u5668\u7F51\u7EDC\uFF08\u9ED8\u8BA4\u5F15\u64CE\u8BBE\u7F6E\uFF09",
856
+ cli_help_deploySqliteMirror: "\u4E00\u4F53\u5316\u6784\u5EFA\u4F7F\u7528\u7684 SQLite \u9884\u7F16\u8BD1\u5305\u955C\u50CF\u5730\u5740",
857
+ cli_help_deployNoProxy: "\u4E00\u4F53\u5316 Podman \u6784\u5EFA\u4E0D\u7EE7\u627F\u672C\u673A\u4EE3\u7406",
858
+ cli_help_deployRuntime: "\u672C\u5730\u955C\u50CF\u6784\u5EFA\u548C\u4E2D\u95F4\u4EF6\u5BFC\u51FA\u5F15\u64CE\uFF1Aauto / podman / docker",
859
+ cli_help_bundleOnly: "\u53EA\u751F\u6210\u79BB\u7EBF tar \u4E0E Windows/Linux/macOS \u90E8\u7F72\u811A\u672C\uFF1B\u4E0D\u8FDE\u63A5\u670D\u52A1\u5668",
860
+ cli_help_bundleOutput: "\u90E8\u7F72 tar \u8F93\u51FA\u8DEF\u5F84\uFF0C\u81EA\u52A8\u8865\u5E94\u7528\u7248\u672C\u540E\u7F00",
861
+ cli_help_generatePage: "\u751F\u6210\u9875\u9762",
862
+ cli_help_generateComponent: "\u751F\u6210\u7EC4\u4EF6",
863
+ cli_help_generateApi: "\u751F\u6210 API",
864
+ cli_help_generateModel: "\u751F\u6210\u6570\u636E\u6A21\u578B",
865
+ cli_generateUnsupportedProject: "\u5F53\u524D\u9879\u76EE\u6216 workspace \u4E0D\u652F\u6301\u8BE5\u751F\u6210\u7C7B\u578B\uFF1Bpage \u9700\u8981 SvelteKit\uFF0Capi \u9700\u8981 SvelteKit \u6216 serv\u3002\u8BF7\u7528 --workspace \u9009\u62E9\u5B9E\u9645\u5E94\u7528\u5305\u3002",
866
+ cli_generateAmbiguousWorkspace: "\u6709\u591A\u4E2A\u9002\u7528 workspace\uFF0C\u8BF7\u4F7F\u7528 --workspace \u6307\u5B9A\u76EE\u6807\u5305\u540D\u6216\u76F8\u5BF9\u8DEF\u5F84\u3002",
867
+ cli_generateUnsupportedAggregator: "\u65E0\u6CD5\u5B89\u5168\u8BC6\u522B\u73B0\u6709 contract/procedure \u805A\u5408\u5165\u53E3\uFF1B\u8BF7\u4FDD\u7559 CLI \u6A21\u677F\u4E2D\u7684 @hai-generator \u6807\u8BB0\uFF0C\u6216\u624B\u52A8\u6269\u5C55\u73B0\u6709\u67B6\u6784\u3002",
868
+ cli_generateInvalidRouteOutput: "\u8DEF\u7531\u8F93\u51FA\u5FC5\u987B\u4F4D\u4E8E SvelteKit src/routes \u5185\uFF1Bserv \u4F7F\u7528\u73B0\u6709 contract/procedure \u76EE\u5F55\uFF0C\u4E0D\u63A5\u53D7 --output\u3002",
869
+ cli_generateDomainExists: "\u5951\u7EA6\u6216\u8FC7\u7A0B\u5DF2\u5305\u542B\u540C\u540D\u9886\u57DF\uFF1A{name}\uFF0C\u62D2\u7EDD\u66FF\u6362\u5DF2\u6709\u4E1A\u52A1\u6CE8\u518C\u3002",
870
+ cli_generateRollbackFailed: "\u751F\u6210\u5931\u8D25\uFF0C\u90E8\u5206\u56DE\u6EDA\u6216\u4E34\u65F6\u6587\u4EF6\u6E05\u7406\u672A\u5B8C\u6210\uFF1B\u8BF7\u68C0\u67E5\u9519\u8BEF\u4E2D\u7684\u6587\u4EF6\uFF0C\u786E\u8BA4\u540E\u518D\u91CD\u8BD5\u3002",
871
+ cli_help_workspace: "\u76EE\u6807 workspace \u5305\u540D\u6216\u76F8\u5BF9\u8DEF\u5F84\uFF1B\u7701\u7565\u65F6\u9009\u62E9\u552F\u4E00\u9002\u7528\u5E94\u7528",
872
+ cli_generateCustomRoutes: "\u5F53\u524D SvelteKit \u914D\u7F6E\u5B9A\u5236\u4E86 kit.files\uFF0C\u751F\u6210\u5668\u4E0D\u731C\u6D4B\u8DEF\u7531\u76EE\u5F55\uFF1B\u8BF7\u624B\u52A8\u6CBF\u73B0\u6709\u8DEF\u7531\u5E03\u5C40\u6269\u5C55\u3002",
873
+ cli_generatePageDescription: "SvelteKit \u9875\u9762",
874
+ cli_generateComponentDescription: "Svelte \u7EC4\u4EF6",
875
+ cli_generateApiDescription: "API \u7AEF\u70B9",
876
+ cli_generateModelDescription: "\u6570\u636E\u6A21\u578B",
877
+ cli_generateMigrationDescription: "\u6570\u636E\u5E93\u8FC1\u79FB",
878
+ cli_generateProgress: "\u6B63\u5728\u751F\u6210 {description}...",
879
+ cli_generateComplete: "\u751F\u6210\u5B8C\u6210",
880
+ cli_generateFiles: "\u751F\u6210\u6216\u66F4\u65B0\u7684\u6587\u4EF6\uFF1A",
881
+ cli_generateFailed: "\u751F\u6210\u5931\u8D25",
882
+ cli_generateFailureDetail: "\u9519\u8BEF\u8BE6\u60C5\uFF1A",
883
+ cli_generateTypePrompt: "\u9009\u62E9\u751F\u6210\u7C7B\u578B\uFF1A",
884
+ cli_generateNamePrompt: "\u540D\u79F0\uFF1A",
885
+ cli_generateNameRequired: "\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",
886
+ cli_generateCancelled: "\u5DF2\u53D6\u6D88\u751F\u6210\uFF0C\u672A\u5199\u5165\u6587\u4EF6",
887
+ cli_generateUnknownType: "\u672A\u77E5\u7684\u751F\u6210\u5668\u7C7B\u578B\uFF1A{type}",
888
+ cli_deploy_local_confirmed: "\u672C\u5730\u547D\u4EE4\u8FDB\u7A0B\u6811\uFF1A\u5DF2\u786E\u8BA4\u5168\u90E8\u9000\u51FA\u3002",
889
+ cli_deploy_local_unknown: "\u672C\u5730\u547D\u4EE4\u8FDB\u7A0B\u6811\uFF1A\u9000\u51FA\u672A\u786E\u8BA4\u3002",
890
+ cli_deploy_local_not_started: "\u672C\u5730\u547D\u4EE4\u8FDB\u7A0B\u6811\uFF1A\u672A\u542F\u52A8\u3002",
891
+ cli_deploy_remote_unknown: "\u8FDC\u7AEF\u90E8\u7F72\u6267\u884C\u72B6\u6001\uFF1A\u672A\u77E5\uFF1B\u4E0D\u8981\u76F4\u63A5\u91CD\u8BD5\u6216\u505C\u6B62\u670D\u52A1\u3002",
892
+ cli_deploy_remote_finished: "\u8FDC\u7AEF\u90E8\u7F72\u811A\u672C\u4E0E\u6062\u590D\u5DF2\u7ED3\u675F\uFF1B\u8BF7\u6838\u5BF9\u670D\u52A1\u5065\u5EB7\uFF0C\u8FD0\u884C\u4E2D\u7684\u5BB9\u5668\u4E0D\u8868\u793A\u5931\u8D25\u8FDB\u7A0B\u4ECD\u5728\u6267\u884C\u3002",
893
+ cli_deploy_result_check: "\u90E8\u7F72 {id}\uFF1A\u6838\u5BF9\u670D\u52A1\u5668\u7ED3\u679C\u6587\u4EF6 {path}\u3002",
894
+ cli_appAdminName: "\u7BA1\u7406\u540E\u53F0",
895
+ cli_appAdminDescription: "\u4F01\u4E1A\u7EA7\u7BA1\u7406\u7CFB\u7EDF\uFF0C\u542B IAM\u3001\u6570\u636E\u5E93\u3001\u5B8C\u6574 UI",
896
+ cli_appWebsiteName: "\u4F01\u4E1A\u5B98\u7F51",
897
+ cli_appWebsiteDescription: "SSR/SSG \u4F01\u4E1A\u5B98\u7F51\uFF0CSEO \u53CB\u597D\u3001\u54CD\u5E94\u5F0F\u5E03\u5C40",
898
+ cli_appH5Name: "H5 \u5E94\u7528",
899
+ cli_appH5Description: "\u79FB\u52A8\u7AEF H5 \u5E94\u7528\uFF0C\u89E6\u6478\u4F18\u5316\u3001PWA \u652F\u6301",
900
+ cli_appApiName: "API \u670D\u52A1",
901
+ cli_appApiDescription: "typed API workspace\uFF0C\u542B contract + service \u53CC\u5DE5\u7A0B\u3001\u65E0 UI",
902
+ cli_appMobileName: "\u79FB\u52A8\u5E94\u7528",
903
+ cli_appMobileDescription: "\u79FB\u52A8\u7AEF\u5E94\u7528\uFF08Capacitor + Svelte 5 + Vite\uFF09\uFF0C\u53EF\u6253\u5305\u4E3A Android/iOS",
904
+ cli_appFullstackName: "\u524D\u540E\u7AEF\u5206\u79BB\u5DE5\u7A0B",
905
+ cli_appFullstackDescription: "\u591A\u7AEF mini \u7BA1\u7406\u7CFB\u7EDF\uFF0C\u5305\u542B\u7528\u6237\u3001\u89D2\u8272\u3001\u5BA1\u8BA1\u3001\u4E2A\u4EBA\u8BBE\u7F6E\u4E0E\u53CC\u5411\u4F20\u8F93\u52A0\u5BC6",
906
+ cli_frontendWebDescription: "\u6D4F\u89C8\u5668 Web \u5E94\u7528",
907
+ cli_frontendAppDescription: "\u79FB\u52A8\u7AEF Capacitor App / H5 \u524D\u7AEF",
908
+ cli_frontendMiniappName: "\u5C0F\u7A0B\u5E8F",
909
+ cli_frontendMiniappDescription: "\u9884\u7559\u76EE\u6807\uFF0C\u5F53\u524D\u53EA\u751F\u6210\u8BF4\u660E\u5360\u4F4D",
910
+ cli_frontendDesktopName: "\u684C\u9762\u7AEF",
911
+ cli_frontendDesktopDescription: "Tauri \u684C\u9762\u7AEF\u524D\u7AEF\u5DE5\u7A0B",
912
+ cli_featureIamName: "\u8EAB\u4EFD\u4E0E\u8BBF\u95EE\u7BA1\u7406",
913
+ cli_featureIamDescription: "Session/JWT \u4F1A\u8BDD\u7BA1\u7406\u3001RBAC \u6743\u9650\u63A7\u5236",
914
+ cli_featureDbName: "\u6570\u636E\u5E93",
915
+ cli_featureDbDescription: "\u591A\u6570\u636E\u5E93\u652F\u6301 (SQLite/PostgreSQL/MySQL)",
916
+ cli_featureCacheName: "\u7F13\u5B58",
917
+ cli_featureCacheDescription: "Redis / \u5185\u5B58\u7F13\u5B58",
918
+ cli_featureAiName: "AI \u96C6\u6210",
919
+ cli_featureAiDescription: "LLM \u9002\u914D\u5668\u3001MCP \u534F\u8BAE\u3001\u6280\u80FD\u7CFB\u7EDF\u3001\u6D41\u5F0F\u54CD\u5E94",
920
+ cli_featureStorageName: "\u6587\u4EF6\u5B58\u50A8",
921
+ cli_featureStorageDescription: "\u672C\u5730\u5B58\u50A8\u3001S3/OSS/COS \u4E91\u5B58\u50A8",
922
+ cli_featureCryptoName: "\u52A0\u5BC6\u6A21\u5757",
923
+ cli_featureCryptoDescription: "\u56FD\u5BC6 SM2/SM3/SM4\u3001Argon2 \u5BC6\u7801\u54C8\u5E0C",
924
+ cli_featureAuditName: "\u5BA1\u8BA1\u65E5\u5FD7",
925
+ cli_featureAuditDescription: "\u64CD\u4F5C\u5BA1\u8BA1\u3001\u5B89\u5168\u8FFD\u8E2A",
926
+ cli_featureReachName: "\u89E6\u8FBE\u670D\u52A1",
927
+ cli_featureReachDescription: "\u90AE\u4EF6\u3001\u77ED\u4FE1\u3001\u5FAE\u4FE1\u7B49\u6D88\u606F\u89E6\u8FBE",
928
+ cli_featurePaymentName: "\u7EDF\u4E00\u652F\u4ED8",
929
+ cli_featurePaymentDescription: "\u5FAE\u4FE1\u652F\u4ED8\u3001\u652F\u4ED8\u5B9D\u3001Stripe \u7EDF\u4E00\u63A5\u5165",
930
+ cli_featureVecdbName: "\u5411\u91CF\u6570\u636E\u5E93",
931
+ cli_featureVecdbDescription: "\u5411\u91CF\u68C0\u7D22\u4E0E\u76F8\u4F3C\u5EA6\u641C\u7D22\uFF08LanceDB / pgvector / Qdrant\uFF09",
932
+ cli_featureDatapipeName: "\u6570\u636E\u5904\u7406\u7BA1\u9053",
933
+ cli_featureDatapipeDescription: "\u6587\u672C\u6E05\u6D17\u3001\u5206\u5757\u4E0E\u53EF\u7EC4\u5408\u5904\u7406\u6D41\u6C34\u7EBF",
934
+ cli_featureSchedulerName: "\u4EFB\u52A1\u8C03\u5EA6",
935
+ cli_featureSchedulerDescription: "Cron \u4EFB\u52A1\u6CE8\u518C\u3001\u6267\u884C\u4E0E\u65E5\u5FD7\u8FFD\u8E2A",
936
+ cli_featureDeployName: "\u81EA\u52A8\u5316\u90E8\u7F72",
937
+ cli_featureDeployDescription: "\u7EDF\u4E00\u90E8\u7F72\u7F16\u6392\u4E0E\u591A\u5E73\u53F0\u53D1\u5E03\u652F\u6301",
938
+ cli_featureApiClientName: "HTTP \u5BA2\u6237\u7AEF",
939
+ cli_featureApiClientDescription: "\u7EDF\u4E00 API \u8C03\u7528\u3001\u9519\u8BEF\u5904\u7406\u4E0E\u6D41\u5F0F\u8BF7\u6C42\u652F\u6301",
940
+ cli_featureCapacitorName: "\u79FB\u52A8\u7AEF\u80FD\u529B",
941
+ cli_featureCapacitorDescription: "Capacitor \u539F\u751F\u6865\u63A5\u80FD\u529B\uFF08\u504F\u79FB\u52A8\u5E94\u7528\uFF09",
942
+ cli_templateMinimalDescription: "\u6700\u5C0F\u6A21\u677F \u2014 \u4EC5\u6838\u5FC3\u529F\u80FD",
943
+ cli_templateDefaultDescription: "\u6807\u51C6\u6A21\u677F \u2014 IAM + \u6570\u636E\u5E93 + \u7F13\u5B58",
944
+ cli_templateFullDescription: "\u5B8C\u6574\u6A21\u677F \u2014 \u6240\u6709\u529F\u80FD",
945
+ cli_templateCustomDescription: "\u81EA\u5B9A\u4E49 \u2014 \u9009\u62E9\u9700\u8981\u7684\u529F\u80FD",
946
+ cli_createInvalidName: '\u9879\u76EE\u540D\u79F0\u4E0D\u5408\u6CD5: "{name}"\uFF0C\u53EA\u80FD\u5305\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u8FDE\u5B57\u7B26',
947
+ cli_createOverwrite: "\u76EE\u5F55 {name} \u5DF2\u5B58\u5728\uFF0C\u662F\u5426\u8986\u76D6\uFF1F",
948
+ cli_cancelled: "\u5DF2\u53D6\u6D88",
949
+ cli_createDirectory: "\u521B\u5EFA\u9879\u76EE\u76EE\u5F55...",
950
+ cli_createFiles: "\u751F\u6210\u9879\u76EE\u6587\u4EF6...",
951
+ cli_createGit: "\u521D\u59CB\u5316 Git \u4ED3\u5E93...",
952
+ cli_createInstall: "\u5B89\u88C5\u4F9D\u8D56 ({manager})...",
953
+ cli_cancelledLine: "\n\u5DF2\u53D6\u6D88",
954
+ cli_createNamePrompt: "\u9879\u76EE\u540D\u79F0:",
955
+ cli_createNameRequired: "\u9879\u76EE\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",
956
+ cli_createNamePattern: "\u9879\u76EE\u540D\u79F0\u53EA\u80FD\u5305\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u8FDE\u5B57\u7B26",
957
+ cli_createTypePrompt: "\u5E94\u7528\u7C7B\u578B:",
958
+ cli_createTemplatePrompt: "\u9009\u62E9\u6A21\u677F:",
959
+ cli_createExamplesPrompt: "\u662F\u5426\u6DFB\u52A0\u793A\u4F8B\u4EE3\u7801?",
960
+ cli_createManagerPrompt: "\u5305\u7BA1\u7406\u5668:",
961
+ cli_createPnpmRecommended: "pnpm (\u63A8\u8350)",
962
+ cli_createInstallPrompt: "\u662F\u5426\u5B89\u88C5\u4F9D\u8D56?",
963
+ cli_createGitPrompt: "\u662F\u5426\u521D\u59CB\u5316 Git?",
964
+ cli_createRemotePrompt: "Git \u4ED3\u5E93\u5730\u5740 (\u53EF\u9009\uFF0C\u56DE\u8F66\u8DF3\u8FC7):",
965
+ cli_createRemoteInvalid: "\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 Git \u4ED3\u5E93\u5730\u5740 (https://... \u6216 git@...:...)",
966
+ cli_createModuleConfig: " \u2699 \u6A21\u5757\u914D\u7F6E",
967
+ cli_createModuleConfigHint: " \u8BBE\u7F6E\u5173\u952E\u914D\u7F6E\u9879\uFF08\u56DE\u8F66\u4F7F\u7528\u9ED8\u8BA4\u503C\uFF09",
968
+ cli_createCoreConfig: " [core] \u5E94\u7528\u57FA\u7840\u914D\u7F6E",
969
+ cli_createLocalePrompt: "\u9ED8\u8BA4\u8BED\u8A00:",
970
+ cli_createChineseLocale: "\u4E2D\u6587 (zh-CN)",
971
+ cli_createDbConfig: " [db] \u6570\u636E\u5E93\u914D\u7F6E",
972
+ cli_createDbTypePrompt: "\u6570\u636E\u5E93\u7C7B\u578B:",
973
+ cli_createSqliteOption: "SQLite (\u96F6\u914D\u7F6E\uFF0C\u9002\u5408\u5F00\u53D1)",
974
+ cli_createSqlitePathPrompt: "SQLite \u6570\u636E\u5E93\u8DEF\u5F84:",
975
+ cli_createDbHostPrompt: "{backend} \u4E3B\u673A:",
976
+ cli_createPortPrompt: "\u7AEF\u53E3:",
977
+ cli_createDatabasePrompt: "\u6570\u636E\u5E93\u540D\u79F0:",
978
+ cli_createCacheConfig: " [cache] \u7F13\u5B58\u914D\u7F6E",
979
+ cli_createCacheTypePrompt: "\u7F13\u5B58\u7C7B\u578B:",
980
+ cli_createMemoryOption: "\u5185\u5B58\u7F13\u5B58 (\u96F6\u914D\u7F6E\uFF0C\u9002\u5408\u5F00\u53D1)",
981
+ cli_createRedisHostPrompt: "Redis \u4E3B\u673A:",
982
+ cli_createRedisPortPrompt: "Redis \u7AEF\u53E3:",
983
+ cli_createIamConfig: " [iam] \u8BA4\u8BC1\u6388\u6743\u914D\u7F6E",
984
+ cli_createPasswordPrompt: "\u542F\u7528\u5BC6\u7801\u767B\u5F55?",
985
+ cli_createOtpPrompt: "\u542F\u7528 OTP \u9A8C\u8BC1\u7801\u767B\u5F55?",
986
+ cli_createStorageConfig: " [storage] \u6587\u4EF6\u5B58\u50A8\u914D\u7F6E",
987
+ cli_createStorageTypePrompt: "\u5B58\u50A8\u7C7B\u578B:",
988
+ cli_createLocalStorageOption: "\u672C\u5730\u5B58\u50A8 (\u96F6\u914D\u7F6E\uFF0C\u9002\u5408\u5F00\u53D1)",
989
+ cli_createStoragePathPrompt: "\u5B58\u50A8\u8DEF\u5F84:",
990
+ cli_createAiConfig: " [ai] AI \u96C6\u6210\u914D\u7F6E",
991
+ cli_createCompatibleAiOption: "\u5176\u4ED6 (OpenAI \u517C\u5BB9)",
992
+ cli_createModelPrompt: "\u9ED8\u8BA4\u6A21\u578B:",
993
+ cli_createSuccess: "\u2714 \u9879\u76EE\u521B\u5EFA\u6210\u529F\uFF01",
994
+ cli_createFeatures: "\u5DF2\u542F\u7528\u529F\u80FD:",
995
+ cli_nextSteps: "\u4E0B\u4E00\u6B65\uFF1A",
996
+ cli_featureKitName: "SvelteKit \u96C6\u6210\u5DE5\u5177",
997
+ cli_featureUiName: "UI \u7EC4\u4EF6\u5E93",
998
+ cli_projectNotFound: "\u672A\u68C0\u6D4B\u5230\u9879\u76EE\uFF08\u627E\u4E0D\u5230 package.json\uFF09",
999
+ cli_addAllInstalled: "\u6240\u6709\u6A21\u5757\u5DF2\u5B89\u88C5\uFF01",
1000
+ cli_addModulePrompt: "\u9009\u62E9\u8981\u6DFB\u52A0\u7684\u6A21\u5757:",
1001
+ cli_addUnknownModule: "\u672A\u77E5\u6A21\u5757: {module}",
1002
+ cli_addAvailableModules: "\u53EF\u7528\u6A21\u5757: {modules}",
1003
+ cli_addSupportCompleted: "\u6A21\u5757 {module} \u5DF2\u5B89\u88C5\uFF0C\u5DF2\u8865\u5168 AI \u652F\u6301\u6587\u4EF6",
1004
+ cli_addAlreadyInstalled: "\u6A21\u5757 {module} \u5DF2\u5B89\u88C5",
1005
+ cli_addUpdateManifest: "\u66F4\u65B0 package.json...",
1006
+ cli_addConfig: "\u751F\u6210\u914D\u7F6E\u6587\u4EF6 config/_{config}.yml...",
1007
+ cli_addConfigExists: "\u914D\u7F6E\u6587\u4EF6\u5DF2\u5B58\u5728: config/_{config}.yml",
1008
+ cli_addDependencyConfig: " + config/_{config}.yml (\u4F9D\u8D56)",
1009
+ cli_addInstall: "\u5B89\u88C5\u4F9D\u8D56...",
1010
+ cli_addSuccess: "\u2714 \u6A21\u5757 {module} \u6DFB\u52A0\u6210\u529F\uFF01",
1011
+ cli_addPackages: "\u5DF2\u6DFB\u52A0\u7684\u5305:",
1012
+ cli_addFailed: "\u6DFB\u52A0\u6A21\u5757\u5931\u8D25:",
1013
+ cli_initDetecting: "\u68C0\u6D4B\u9879\u76EE...",
1014
+ cli_initDetected: "\u68C0\u6D4B\u5230\u9879\u76EE: {name}",
1015
+ cli_initStatus: "\u9879\u76EE\u72B6\u6001:",
1016
+ cli_initName: " \u540D\u79F0: {name}",
1017
+ cli_initVersion: " \u7248\u672C: {version}",
1018
+ cli_none: "\u65E0",
1019
+ cli_initModules: " \u5DF2\u5B89\u88C5\u6A21\u5757: {modules}",
1020
+ cli_initExisting: "\u5DF2\u6709\u914D\u7F6E:",
1021
+ cli_initReady: "\u2714 \u6240\u6709\u914D\u7F6E\u6587\u4EF6\u5DF2\u5C31\u7EEA\uFF01",
1022
+ cli_initMissing: "\u7F3A\u5931\u914D\u7F6E:",
1023
+ cli_initGenerating: "\u751F\u6210\u7F3A\u5931\u914D\u7F6E\u6587\u4EF6...",
1024
+ cli_initGenerated: "\u5DF2\u751F\u6210 {count} \u4E2A\u914D\u7F6E\u6587\u4EF6",
1025
+ cli_initRegenerating: "\u5F3A\u5236\u91CD\u65B0\u751F\u6210\u6240\u6709\u914D\u7F6E\u6587\u4EF6...",
1026
+ cli_initRegenerated: "\u5DF2\u91CD\u65B0\u751F\u6210 {count} \u4E2A\u914D\u7F6E\u6587\u4EF6",
1027
+ cli_initCore: "\u751F\u6210\u6838\u5FC3\u914D\u7F6E config/_core.yml...",
1028
+ cli_initSuccess: "\u2714 \u9879\u76EE\u914D\u7F6E\u521D\u59CB\u5316\u5B8C\u6210\uFF01",
1029
+ cli_initEditConfig: " 1. \u7F16\u8F91 config/ \u4E2D\u7684\u914D\u7F6E\u6587\u4EF6",
1030
+ cli_initStartDev: " 2. \u8FD0\u884C pnpm dev \u542F\u52A8\u5F00\u53D1\u670D\u52A1",
1031
+ cli_initFailed: "\u521D\u59CB\u5316\u5931\u8D25:",
1032
+ cli_createTagline: " AI \u539F\u751F \xB7 \u914D\u7F6E\u9A71\u52A8 \xB7 \u5B89\u5168\u4F18\u5148",
1033
+ cli_createRemoteFailure: "Git \u8FDC\u7A0B\u5730\u5740\u4E0D\u5408\u6CD5\uFF1A{remote}",
1034
+ cli_createProviderPrompt: "AI Provider:",
1035
+ cli_addSupportFile: " + {file} (AI \u652F\u6301)",
1036
+ cli_coreLabel: "\u6838\u5FC3",
1037
+ cli_serviceLabel: "\u670D\u52A1",
1038
+ cli_yes: "\u662F",
1039
+ cli_no: "\u5426",
1040
+ cli_createEnglishLocale: "\u82F1\u8BED (en-US)",
1041
+ cli_createJapaneseLocale: "\u65E5\u8BED (ja-JP)"
1042
+ };
1043
+
1044
+ // src/cli-i18n.ts
1045
+ var environmentLocale = [process.env.HAI_CORE_DEFAULTLOCALE, process.env.LC_ALL, process.env.LC_MESSAGES, process.env.LANG].find((value) => value?.trim())?.trim();
1046
+ var language = environmentLocale?.split(/[_.-]/)[0]?.toLowerCase();
1047
+ if (language === "en" || language === "c" || language === "posix")
1048
+ core.i18n.setGlobalLocale("en-US");
1049
+ else if (language === "ja")
1050
+ core.i18n.setGlobalLocale("ja-JP");
1051
+ else if (language === "zh")
1052
+ core.i18n.setGlobalLocale("zh-CN");
1053
+ var cliM = core.i18n.createMessageGetter({ "en-US": en_US_default, "ja-JP": ja_JP_default, "zh-CN": zh_CN_default });
1054
+
1055
+ // src/commands/cli-skill-templates.ts
1056
+ var MODULE_SKILL_MAP = {
1057
+ "db": "hai-reldb",
1058
+ "reldb": "hai-reldb",
1059
+ "cache": "hai-cache",
1060
+ "iam": "hai-iam",
1061
+ "storage": "hai-storage",
1062
+ "ai": "hai-ai",
1063
+ "crypto": "hai-crypto",
1064
+ "payment": "hai-payment",
1065
+ "vecdb": "hai-vecdb",
1066
+ "datapipe": "hai-datapipe",
1067
+ "reach": "hai-reach",
1068
+ "scheduler": "hai-scheduler",
1069
+ "audit": "hai-audit",
1070
+ "deploy": "hai-deploy",
1071
+ "kit": "hai-kit",
1072
+ "ui": "hai-ui",
1073
+ "api-client": "hai-api-client",
1074
+ "capacitor": "hai-capacitor"
1075
+ };
1076
+ var SKILL_EXCLUSIONS_BY_APP_TYPE = {
1077
+ "admin": ["hai-serv", "hai-api-contract", "hai-api-client", "hai-capacitor"],
1078
+ "website": ["hai-serv", "hai-api-contract", "hai-api-client", "hai-capacitor"],
1079
+ "h5": ["hai-serv", "hai-api-contract", "hai-api-client", "hai-capacitor"],
1080
+ "api": ["hai-ui", "hai-ui-design", "hai-ui-review", "hai-kit", "hai-capacitor"],
1081
+ "mobile-app": ["hai-core", "hai-kit", "hai-serv", "hai-api-contract"],
1082
+ "fullstack": ["hai-kit"]
1083
+ };
1084
+ var WORKFLOW_SKILLS = [
1085
+ "hai-build",
1086
+ "hai-spec-review",
1087
+ "hai-spec-implement",
1088
+ "hai-app-create",
1089
+ "hai-app-review",
1090
+ "hai-app-tests",
1091
+ "hai-framework-sync",
1092
+ "hai-ci",
1093
+ "hai-pr-review"
1094
+ ];
1095
+ var PACKAGE_SKILL_MAP = {
1096
+ "@h-ai/api-contract": "hai-api-contract",
1097
+ "@h-ai/api-client": "hai-api-client",
1098
+ "@h-ai/core": "hai-core",
1099
+ "@h-ai/serv": "hai-serv",
1100
+ "@h-ai/kit": "hai-kit",
1101
+ "@h-ai/ui": "hai-ui",
1102
+ "@h-ai/reldb": "hai-reldb",
1103
+ "@h-ai/cache": "hai-cache",
1104
+ "@h-ai/iam": "hai-iam",
1105
+ "@h-ai/storage": "hai-storage",
1106
+ "@h-ai/ai": "hai-ai",
1107
+ "@h-ai/crypto": "hai-crypto",
1108
+ "@h-ai/payment": "hai-payment",
1109
+ "@h-ai/vecdb": "hai-vecdb",
1110
+ "@h-ai/datapipe": "hai-datapipe",
1111
+ "@h-ai/reach": "hai-reach",
1112
+ "@h-ai/scheduler": "hai-scheduler",
1113
+ "@h-ai/audit": "hai-audit",
1114
+ "@h-ai/deploy": "hai-deploy",
1115
+ "@h-ai/capacitor": "hai-capacitor"
1116
+ };
1117
+ var SKILL_TARGET_DIRS = [".agents/skills"];
1118
+ var BRIDGE_FILES = [
1119
+ {
1120
+ source: "copilot-instructions.md",
1121
+ destination: ".github/copilot-instructions.md"
1122
+ },
1123
+ {
1124
+ source: "CLAUDE.md",
1125
+ destination: "CLAUDE.md"
1126
+ },
1127
+ {
1128
+ source: "AGENTS.md",
1129
+ destination: "AGENTS.md"
1130
+ },
1131
+ {
1132
+ source: "opencode.json",
1133
+ destination: "opencode.json"
1134
+ }
1135
+ ];
1136
+ var BRIDGE_PROFILE_REGEX = /^[a-z0-9-]+$/;
1137
+ async function detectBridgeContext(projectPath) {
1138
+ const packagePath = path.join(projectPath, "package.json");
1139
+ if (!await fse.pathExists(packagePath)) {
1140
+ return {};
1141
+ }
1142
+ let metadata;
1143
+ try {
1144
+ metadata = await fse.readJson(packagePath);
1145
+ } catch {
1146
+ return {};
1147
+ }
1148
+ if (!metadata || typeof metadata !== "object" || !("name" in metadata) || typeof metadata.name !== "string" || !BRIDGE_PROFILE_REGEX.test(metadata.name)) {
1149
+ return {};
1150
+ }
1151
+ const projectName = metadata.name;
1152
+ for (const [appType, directory, suffixes] of [
1153
+ ["fullstack", "packages", ["contract", "serv", "shared"]],
1154
+ ["api", "apps", ["contract", "service"]]
1155
+ ]) {
1156
+ const manifests = await Promise.all(suffixes.map((suffix) => fse.pathExists(
1157
+ path.join(projectPath, directory, `${projectName}-${suffix}`, "package.json")
1158
+ )));
1159
+ if (manifests.every(Boolean)) {
1160
+ return { appType, projectName };
1161
+ }
1162
+ }
1163
+ if ("keywords" in metadata && Array.isArray(metadata.keywords) && metadata.keywords.includes("hai")) {
1164
+ for (const appType of ["admin", "website", "h5", "mobile-app"]) {
1165
+ if (metadata.keywords.includes(appType)) {
1166
+ return { appType, projectName };
1167
+ }
1168
+ }
1169
+ }
1170
+ return { projectName };
1171
+ }
1172
+ async function listTemplateSkillNames(templatesDir) {
1173
+ const entries = await fse.readdir(templatesDir, { withFileTypes: true });
1174
+ const skillNames = [];
1175
+ for (const entry of entries) {
1176
+ if (!entry.isDirectory() || !entry.name.startsWith("hai-")) {
1177
+ continue;
1178
+ }
1179
+ const skillFilePath = path.join(templatesDir, entry.name, "SKILL.md");
1180
+ if (await fse.pathExists(skillFilePath)) {
1181
+ skillNames.push(entry.name);
1182
+ }
1183
+ }
1184
+ return skillNames.sort((a, b) => a.localeCompare(b));
1185
+ }
1186
+ function resolveCompatibleSkillNames(skillNames, appType) {
1187
+ const excludedSkills = new Set(appType ? SKILL_EXCLUSIONS_BY_APP_TYPE[appType] ?? [] : []);
1188
+ return skillNames.filter((skillName) => !excludedSkills.has(skillName));
1189
+ }
1190
+ function getSkillTemplatesDir() {
1191
+ const currentDir = path.dirname(fileURLToPath(import.meta.url));
1192
+ const distPath = path.resolve(currentDir, "..", "templates", "skills");
1193
+ if (fse.pathExistsSync(distPath)) {
1194
+ return distPath;
1195
+ }
1196
+ return path.resolve(currentDir, "..", "..", "templates", "skills");
1197
+ }
1198
+ async function copySkill(templatesDir, skillName, projectPath, targetDirs = SKILL_TARGET_DIRS, overwrite = true) {
1199
+ const src = path.join(templatesDir, skillName);
1200
+ if (!await fse.pathExists(src)) {
1201
+ return [];
1202
+ }
1203
+ const copiedFiles = [];
1204
+ const resources = await fse.readdir(src, { recursive: true, withFileTypes: true });
1205
+ const relativeFiles = resources.filter((resource) => resource.isFile()).map((resource) => path.relative(src, path.join(resource.parentPath, resource.name)));
1206
+ for (const targetDir of targetDirs) {
1207
+ const dest = path.join(projectPath, targetDir, skillName);
1208
+ await assertProjectOutputPath(projectPath, dest);
1209
+ if (!overwrite) {
1210
+ const missingFiles = [];
1211
+ for (const relativeFile of relativeFiles) {
1212
+ if (!await fse.pathExists(path.join(dest, relativeFile))) {
1213
+ missingFiles.push(relativeFile);
1214
+ }
1215
+ }
1216
+ if (missingFiles.length === 0) {
1217
+ continue;
1218
+ }
1219
+ for (const relativeFile of missingFiles)
1220
+ await assertProjectOutputPath(projectPath, path.join(dest, relativeFile));
1221
+ await fse.copy(src, dest, { overwrite: false });
1222
+ copiedFiles.push(...missingFiles.map((relativeFile) => `${targetDir}/${skillName}/${relativeFile.replaceAll(path.sep, "/")}`));
1223
+ } else {
1224
+ for (const relativeFile of relativeFiles)
1225
+ await assertProjectOutputPath(projectPath, path.join(dest, relativeFile));
1226
+ await fse.copy(src, dest, { overwrite: true });
1227
+ copiedFiles.push(`${targetDir}/${skillName}/SKILL.md`);
1228
+ }
1229
+ }
1230
+ return copiedFiles;
1231
+ }
1232
+ async function assertProjectOutputPath(projectPath, destination) {
1233
+ let ancestor = destination;
1234
+ while (!await fse.pathExists(ancestor)) {
1235
+ const parent = path.dirname(ancestor);
1236
+ if (parent === ancestor)
1237
+ throw new Error(cliM("cli_generateOutsideWorkspace"));
1238
+ ancestor = parent;
1239
+ }
1240
+ const relativeAncestor = path.relative(await fse.realpath(projectPath), await fse.realpath(ancestor));
1241
+ if (relativeAncestor === ".." || relativeAncestor.startsWith(`..${path.sep}`) || path.isAbsolute(relativeAncestor))
1242
+ throw new Error(cliM("cli_generateOutsideWorkspace"));
1243
+ }
1244
+ async function copySkills(templatesDir, skillNames, projectPath, targetDirs = SKILL_TARGET_DIRS, overwrite = true) {
1245
+ const copiedFiles = [];
1246
+ const selectedNames = skillNames.includes("hai-ui") ? [...skillNames, "hai-ui-design", "hai-ui-review"] : skillNames;
1247
+ for (const skillName of new Set(selectedNames)) {
1248
+ copiedFiles.push(...await copySkill(templatesDir, skillName, projectPath, targetDirs, overwrite));
1249
+ }
1250
+ return copiedFiles;
1251
+ }
1252
+ async function copyBridgeFiles(templatesDir, projectPath, overwrite = true, appType, projectName) {
1253
+ const copiedFiles = [];
1254
+ for (const file of BRIDGE_FILES) {
1255
+ const src = await resolveBridgeSource(templatesDir, file.source, appType, projectName !== void 0);
1256
+ const dest = path.join(projectPath, file.destination);
1257
+ if (!src) {
1258
+ continue;
1259
+ }
1260
+ if (!overwrite && await fse.pathExists(dest)) {
1261
+ continue;
1262
+ }
1263
+ await assertProjectOutputPath(projectPath, dest);
1264
+ await fse.ensureDir(path.dirname(dest));
1265
+ if (src.endsWith(".hbs")) {
1266
+ const template = await fse.readFile(src, "utf8");
1267
+ const rendered = Handlebars.compile(template, { noEscape: true })({ projectName });
1268
+ await fse.writeFile(dest, rendered, "utf8");
1269
+ } else {
1270
+ await fse.copy(src, dest, { overwrite });
1271
+ }
1272
+ copiedFiles.push(file.destination);
1273
+ }
1274
+ return copiedFiles;
1275
+ }
1276
+ async function resolveBridgeSource(templatesDir, source, appType, allowTemplate = false) {
1277
+ const profile = appType && BRIDGE_PROFILE_REGEX.test(appType) ? appType : "generic";
1278
+ const candidates = [
1279
+ ...allowTemplate ? [path.join(templatesDir, "bridges", profile, `${source}.hbs`)] : [],
1280
+ path.join(templatesDir, "bridges", profile, source),
1281
+ path.join(templatesDir, "bridges", "generic", source),
1282
+ path.join(templatesDir, source)
1283
+ ];
1284
+ for (const candidate of candidates) {
1285
+ if (await fse.pathExists(candidate)) {
1286
+ return candidate;
1287
+ }
1288
+ }
1289
+ return null;
1290
+ }
1291
+ async function generateSkillFiles(projectPath, _features, appType, projectName) {
1292
+ const templatesDir = getSkillTemplatesDir();
1293
+ if (!await fse.pathExists(templatesDir)) {
1294
+ return [];
1295
+ }
1296
+ const copiedFiles = [];
1297
+ const templateSkillNames = await listTemplateSkillNames(templatesDir);
1298
+ const compatibleSkillNames = resolveCompatibleSkillNames(templateSkillNames, appType);
1299
+ copiedFiles.push(...await copySkills(templatesDir, compatibleSkillNames, projectPath));
1300
+ copiedFiles.push(...await copyBridgeFiles(templatesDir, projectPath, true, appType, projectName));
1301
+ return copiedFiles;
1302
+ }
1303
+ async function generateModuleSkillFile(projectPath, moduleId) {
1304
+ const skillName = MODULE_SKILL_MAP[moduleId];
1305
+ if (!skillName) {
1306
+ return null;
1307
+ }
1308
+ const copiedFiles = await generateProjectAiSupport(projectPath, [skillName], {
1309
+ overwriteSkills: false,
1310
+ overwriteBridgeFiles: false
1311
+ });
1312
+ return copiedFiles.length > 0 ? copiedFiles : null;
1313
+ }
1314
+ function resolveSkillNamesForPackages(packageNames) {
1315
+ const skillNames = [...WORKFLOW_SKILLS];
1316
+ for (const packageName of packageNames) {
1317
+ const skillName = PACKAGE_SKILL_MAP[packageName];
1318
+ if (skillName) {
1319
+ skillNames.push(skillName);
1320
+ }
1321
+ }
1322
+ if (skillNames.includes("hai-ui"))
1323
+ skillNames.push("hai-ui-design", "hai-ui-review");
1324
+ return [...new Set(skillNames)];
1325
+ }
1326
+ async function generateProjectAiSupport(projectPath, skillNames, options = {}) {
1327
+ const templatesDir = getSkillTemplatesDir();
1328
+ if (!await fse.pathExists(templatesDir)) {
1329
+ return [];
1330
+ }
1331
+ const {
1332
+ overwriteSkills = true,
1333
+ overwriteBridgeFiles = true
1334
+ } = options;
1335
+ const detected = await detectBridgeContext(projectPath);
1336
+ const appType = options.appType ?? detected.appType;
1337
+ const projectName = options.projectName ?? detected.projectName;
1338
+ const requestedSkillNames = appType ? [...resolveCompatibleSkillNames(await listTemplateSkillNames(templatesDir), appType), ...WORKFLOW_SKILLS, ...skillNames] : [...WORKFLOW_SKILLS, ...skillNames];
1339
+ const selectedSkillNames = resolveCompatibleSkillNames(requestedSkillNames, appType);
1340
+ const copiedFiles = [];
1341
+ copiedFiles.push(...await copySkills(templatesDir, selectedSkillNames, projectPath, SKILL_TARGET_DIRS, overwriteSkills));
1342
+ copiedFiles.push(...await copyBridgeFiles(templatesDir, projectPath, overwriteBridgeFiles, appType, projectName));
1343
+ return copiedFiles;
1344
+ }
1345
+
1346
+ export { cliM, generateModuleSkillFile, generateProjectAiSupport, generateSkillFiles, resolveCompatibleSkillNames, resolveSkillNamesForPackages };
1347
+ //# sourceMappingURL=chunk-MBPB37FR.js.map
1348
+ //# sourceMappingURL=chunk-MBPB37FR.js.map