@66rpg/lumimaker 0.1.31
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.
- package/README.md +29 -0
- package/bin/lumimaker.js +7 -0
- package/dist/index.js +45 -0
- package/dist/validate.js +1 -0
- package/package.json +42 -0
- package/share/find-rust-bin.mjs +1 -0
- package/share/run-logic.mjs +2 -0
- package/skill/lumimaker/SKILL.md +94 -0
- package/skill/lumimaker/references/common-commands.md +54 -0
- package/skill/lumimaker/references/publish-game.md +50 -0
- package/skill/lumimaker/references/publish-project.md +36 -0
- package/skill/lumimaker/references/publish-template.md +56 -0
- package/skill/lumimaker-play-sdk/SKILL.md +170 -0
- package/skill/lumimaker-play-sdk/references/api.md +100 -0
- package/skill/lumimaker-template-spec/SKILL.md +53 -0
- package/skill/lumimaker-template-spec/references/protocol.md +113 -0
- package/skill-targets.json +14 -0
package/dist/validate.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import l from"node:fs";import _ from"node:path";import{spawn as P}from"node:child_process";import{createRequire as G}from"node:module";import{pathToFileURL as F}from"node:url";var S={$schema:"http://json-schema.org/draft-07/schema#",description:"lumimaker CLI \u8FD4\u56DE\u6587\u6848\u5B57\u5178\uFF08\u5305\u542B code \u7801\u4E0E\u6CE8\u91CA\u6587\u6848\uFF09",whoami:{title_logged_in:{code:"",text:"\u8D26\u53F7\u767B\u5F55\u4FE1\u606F",comment:"whoami \u67E5\u770B\u5DF2\u767B\u5F55\u8D26\u53F7\u4FE1\u606F\u65F6\u7684\u5361\u7247\u4E3B\u6807\u9898"},title_expired:{code:"2003",text:"\u767B\u5F55\u5DF2\u5931\u6548",comment:"whoami \u672C\u5730\u51ED\u636E\u8FC7\u671F\u65F6\u7684\u8B66\u544A\u5361\u7247\u6807\u9898"},title_offline:{code:"9000",text:"\u79BB\u7EBF\u6A21\u5F0F",comment:"whoami \u672C\u5730\u6709\u51ED\u636E\u4F46\u7F51\u7EDC\u4E0D\u53EF\u8FBE\u65F6\u7684\u5361\u7247\u6807\u9898"},title_not_logged_in:{code:"2001",text:"\u672A\u767B\u5F55",comment:"whoami \u5C1A\u672A\u767B\u5F55\u65F6\u7684\u63D0\u793A\u5361\u7247\u6807\u9898"},status_expired:{code:"2003",text:"\u51ED\u8BC1\u5DF2\u8FC7\u671F",comment:"\u51ED\u8BC1\u8FC7\u671F\u72B6\u6001\u63CF\u8FF0"},hint_relogin:{code:"2001",text:"\u8BF7\u6267\u884C npx lumimaker login \u91CD\u65B0\u767B\u5F55",comment:"\u91CD\u65B0\u767B\u5F55\u5F15\u5BFC\u5EFA\u8BAE"},status_offline:{code:"9000",text:"\u672C\u5730\u6709\u767B\u5F55\u51ED\u8BC1\uFF0C\u4F46\u5F53\u524D\u8FDE\u4E0D\u4E0A\u5E73\u53F0",comment:"\u79BB\u7EBF\u72B6\u6001\u539F\u56E0\u63CF\u8FF0"},hint_check_network:{code:"9000",text:"\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\u540E\u91CD\u8BD5",comment:"\u79BB\u7EBF\u72B6\u6001\u89E3\u51B3\u5EFA\u8BAE"},status_not_logged_in:{code:"2001",text:"\u5C1A\u672A\u767B\u5F55\u6258\u7BA1\u5E73\u53F0",comment:"\u672A\u767B\u5F55\u72B6\u6001\u63CF\u8FF0"},hint_login_now:{code:"2001",text:"\u8BF7\u6267\u884C npx lumimaker login \u5F00\u59CB\u767B\u5F55\u6388\u6743",comment:"\u672A\u767B\u5F55\u65F6\u7684\u767B\u5F55\u5F15\u5BFC\u5EFA\u8BAE"},label_nickname:{code:"",text:"\u7528\u6237\u6635\u79F0",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_uid:{code:"",text:"\u7528\u6237 ID",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_verified:{code:"",text:"\u5B9E\u540D\u8BA4\u8BC1",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},val_verified_yes:{code:"",text:"\u5DF2\u5B9E\u540D\u8BA4\u8BC1",comment:"\u5DF2\u5B8C\u6210\u5B9E\u540D\u8BA4\u8BC1\u72B6\u6001"},val_verified_no:{code:"",text:"\u672A\u8BA4\u8BC1 (\u90E8\u5206\u6743\u9650\u53D7\u9650)",comment:"\u672A\u5B8C\u6210\u5B9E\u540D\u8BA4\u8BC1\u72B6\u6001"},label_vip:{code:"",text:"\u4F1A\u5458\u7B49\u7EA7",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_admin:{code:"",text:"\u7BA1\u7406\u5458",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_sauthor:{code:"",text:"\u7B7E\u7EA6\u4F5C\u8005",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},val_yes:{code:"",text:"\u662F",comment:"\u5E03\u5C14\u771F\u503C\u6587\u6848"},label_lumi_username:{code:"",text:"\u7528\u6237\u540D",comment:"\u5E7B\u5149 profile.username"},label_display_role:{code:"",text:"\u8EAB\u4EFD",comment:"\u5E7B\u5149 profile.display_role_name"},label_lumi_roles:{code:"",text:"\u89D2\u8272",comment:"\u5E7B\u5149 profile.roles \u7684\u5C55\u793A\u540D"},role_user:{code:"",text:"\u666E\u901A\u7528\u6237",comment:"lumi \u89D2\u8272 user \u7684\u4E2D\u6587\u540D"},role_unknown:{code:"",text:"\u672A\u77E5",comment:"\u672A\u8BC6\u522B\u7684 lumi \u89D2\u8272"},role_author:{code:"",text:"\u4F5C\u8005",comment:"lumi \u89D2\u8272 author \u7684\u4E2D\u6587\u540D"},role_signed_author:{code:"",text:"\u7B7E\u7EA6\u4F5C\u8005",comment:"lumi \u89D2\u8272 signed_author \u7684\u4E2D\u6587\u540D"},role_signed_template_author:{code:"",text:"\u7B7E\u7EA6\u6A21\u677F\u4F5C\u8005",comment:"lumi \u89D2\u8272 signed_template_author \u7684\u4E2D\u6587\u540D"},role_moderator:{code:"",text:"\u7248\u4E3B",comment:"lumi \u89D2\u8272 moderator \u7684\u4E2D\u6587\u540D"},lumi_not_ready:{code:"",text:"\u53D1\u5E03\u5E73\u53F0\u672A\u5C31\u7EEA\uFF1A\u8BF7\u8FD0\u884C npx lumimaker login \u540E\u518D\u53D1\u5E03",comment:"SSO \u5DF2\u767B\u5F55\u4F46 Lumi profile \u5931\u8D25"},label_expires_at:{code:"",text:"\u51ED\u8BC1\u6709\u6548\u671F\u81F3",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},footer_logged_in:{code:"",text:"\u63D0\u793A\uFF1A\u767B\u5F55\u51ED\u636E\u5DF2\u5B89\u5168\u5B58\u50A8\u4E8E\u7CFB\u7EDF\u672C\u5730\u5BC6\u94A5\u73AF\u4E2D\u3002",comment:"\u767B\u5F55\u5361\u7247\u5E95\u90E8\u5B89\u5168\u63D0\u793A"}},publish:{title_success:{code:"",text:"\u6E38\u620F\u53D1\u7248\u6210\u529F",comment:"\u6E38\u620F\u53D1\u5E03\u6210\u529F\u5361\u7247\u6807\u9898"},label_game_id:{code:"",text:"\u6E38\u620FID",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E\uFF08\u5217\u8868\u6DF7\u6392\u65F6\u7528\uFF09"},label_game_id_official:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620FID",comment:"\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09\u6210\u529F\u5361\u7247"},label_game_id_demo:{code:"",text:"\u8BD5\u73A9ID",comment:"demo \u7248\u6E38\u620F\u6210\u529F\u5361\u7247"},label_release_version:{code:"",text:"\u53D1\u5E03\u7248\u672C",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_version_id:{code:"",text:"\u7248\u672C ID",comment:"\u6E38\u620F\u53D1\u7248\u6210\u529F\u5361\u7247"},label_version_no:{code:"",text:"\u7248\u672C\u5E8F\u53F7",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_variant_type:{code:"",text:"\u7C7B\u578B",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},val_demo:{code:"",text:"demo\u7248\u6E38\u620F\uFF08demo\uFF09",comment:"demo \u7C7B\u578B"},val_official:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09",comment:"\u6B63\u5F0F\u7248\u7C7B\u578B"},val_derived:{code:"",text:"\u884D\u751F",comment:"\u884D\u751F\u53D8\u4F53\u7C7B\u578B"},label_parent_game_id:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620FID",comment:"demo \u6302\u63A5\u7684\u6B63\u5F0F\u7248"},label_package_size:{code:"",text:"\u4F5C\u54C1\u5305\u5927\u5C0F",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_post_id:{code:"",text:"\u4F5C\u54C1\u5E16\u5B50ID",comment:"versions/create \u56DE\u5305\u7684\u5E16\u5B50 id"},label_page:{code:"",text:"\u5E16\u5B50",comment:"post_status === 4 \u5DF2\u516C\u5F00\u5E16"},label_page_draft:{code:"",text:"\u5E16\u5B50\u8349\u7A3F\uFF08\u786E\u8BA4\u540E\u624D\u4F1A\u516C\u5F00\uFF09",comment:"post_status \u975E 4"},footer_success:{code:"",text:"dist/ \u9759\u6001\u5305\u5DF2\u6210\u529F\u6253\u5305\u8F6C\u7801\u5E76\u4E0A\u4F20\u81F3\u6258\u7BA1\u5E73\u53F0\u3002",comment:"\u6E38\u620F\u53D1\u5E03\u6210\u529F\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},title_passed:{code:"",text:"\u6E38\u620F\u53D1\u7248\u6210\u529F",comment:"\u6E38\u620F\u53D1\u5E03\u4E14\u5BA1\u6838\u5DF2\u901A\u8FC7\u5361\u7247\u6807\u9898"},title_reviewing:{code:"",text:"\u6E38\u620F\u5DF2\u63D0\u4EA4\u5BA1\u6838",comment:"\u6E38\u620F\u53D1\u5E03\u4F46\u5BA1\u6838\u4E2D\u5361\u7247\u6807\u9898"},title_rejected:{code:"",text:"\u6E38\u620F\u5BA1\u6838\u88AB\u62D2\u7EDD",comment:"\u6E38\u620F\u53D1\u5E03\u4F46\u5BA1\u6838\u88AB\u62D2\u7EDD\u5361\u7247\u6807\u9898"},footer_passed:{code:"",text:"\u7248\u672C\u5DF2\u901A\u8FC7\u5BA1\u6838\u3002\u5E16\u5B50\u662F\u5426\u516C\u5F00\u3001\u4F5C\u54C1\u662F\u5426\u4E0A\u67B6\uFF0C\u8BF7\u4EE5\u7F51\u9875\u72B6\u6001\u4E3A\u51C6\u3002",comment:"\u6E38\u620F\u53D1\u5E03\u4E14\u5BA1\u6838\u5DF2\u901A\u8FC7\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},footer_reviewing:{code:"",text:"\u5BA1\u6838\u4E2D\uFF0C\u8BF7\u5230\u7F51\u9875\u67E5\u770B\u5BA1\u6838\u7ED3\u679C\u3002",comment:"\u6E38\u620F\u53D1\u5E03\u4F46\u5BA1\u6838\u4E2D\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},footer_rejected:{code:"",text:"\u5BA1\u6838\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5230\u7F51\u9875\u67E5\u770B\u8BE6\u60C5\u3002",comment:"\u6E38\u620F\u53D1\u5E03\u4F46\u5BA1\u6838\u88AB\u62D2\u7EDD\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"}},publish_template:{title_success:{code:"",text:"\u6A21\u677F\u53D1\u7248\u6210\u529F",comment:"\u6A21\u677F\u53D1\u5E03\u6210\u529F\u5361\u7247\u6807\u9898"},label_template_id:{code:"",text:"\u6A21\u677F ID",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_template_name:{code:"",text:"\u6A21\u677F\u540D\u79F0",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_slug:{code:"",text:"\u82F1\u6587\u77ED\u540D",comment:"\u5F00\u5DE5\u7A0B\u5F15\u7528\u540E\u534A\u6BB5\uFF0C\u4E0D\u662F\u5E73\u53F0\u6A21\u677F\u540D name"},label_create_pull:{code:"",text:"\u4ED6\u4EBA\u62C9\u53D6",comment:"\u53D1\u7248\u540E\u7ED9\u51FA lumimaker-create \u547D\u4EE4\uFF0C\u987B\u7528 \u7528\u6237\u540D/slug"},label_version:{code:"",text:"\u7248\u672C\u53F7",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_revision_id:{code:"",text:"\u6A21\u677F\u7248\u672C ID",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_data_ver:{code:"",text:"\u6570\u636E\u5305\u7248\u672C",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_data_id:{code:"",text:"\u6570\u636E\u5305 ID",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_data_summary:{code:"",text:"\u8D44\u6E90\u8BF4\u660E",comment:"\u6570\u636E\u5305 summary \u5361\u7247\u6807\u7B7E"},label_post_id:{code:"",text:"\u5173\u8054\u5E16",comment:"versions/create \u56DE\u5305\u7684\u5E16\u5B50 id"},label_page:{code:"",text:"\u5E16\u5B50",comment:"post_status === 4 \u5DF2\u516C\u5F00\u5E16"},label_page_draft:{code:"",text:"\u5E16\u5B50\u8349\u7A3F\uFF08\u786E\u8BA4\u540E\u624D\u4F1A\u516C\u5F00\uFF09",comment:"post_status \u975E 4"},footer_success:{code:"",text:"\u6A21\u677F\u5DF2\u4E0A\u4F20\u5230\u5E73\u53F0\u3002\u8BF7\u628A .lumimaker/ \u4E00\u5E76\u63D0\u4EA4\u5230 git\u3002",comment:"\u6A21\u677F\u53D1\u7248\u6210\u529F\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},title_passed:{code:"",text:"\u6A21\u677F\u53D1\u7248\u6210\u529F",comment:"\u6A21\u677F\u53D1\u5E03\u4E14\u5BA1\u6838\u5DF2\u901A\u8FC7\u5361\u7247\u6807\u9898"},title_reviewing:{code:"",text:"\u6A21\u677F\u5DF2\u63D0\u4EA4\u5BA1\u6838",comment:"\u6A21\u677F\u53D1\u5E03\u4F46\u5BA1\u6838\u4E2D\u5361\u7247\u6807\u9898"},title_rejected:{code:"",text:"\u6A21\u677F\u5BA1\u6838\u88AB\u62D2\u7EDD",comment:"\u6A21\u677F\u53D1\u5E03\u4F46\u5BA1\u6838\u88AB\u62D2\u7EDD\u5361\u7247\u6807\u9898"},footer_passed:{code:"",text:"\u7248\u672C\u5DF2\u901A\u8FC7\u5BA1\u6838\u3002\u5E16\u5B50\u662F\u5426\u516C\u5F00\u3001\u6A21\u677F\u662F\u5426\u4E0A\u67B6\uFF0C\u8BF7\u4EE5\u7F51\u9875\u72B6\u6001\u4E3A\u51C6\u3002",comment:"\u6A21\u677F\u53D1\u5E03\u4E14\u5BA1\u6838\u5DF2\u901A\u8FC7\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},footer_reviewing:{code:"",text:"\u5BA1\u6838\u4E2D\uFF0C\u8BF7\u5230\u7F51\u9875\u67E5\u770B\u5BA1\u6838\u7ED3\u679C\u3002",comment:"\u6A21\u677F\u53D1\u5E03\u4F46\u5BA1\u6838\u4E2D\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},footer_rejected:{code:"",text:"\u5BA1\u6838\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5230\u7F51\u9875\u67E5\u770B\u8BE6\u60C5\u3002",comment:"\u6A21\u677F\u53D1\u5E03\u4F46\u5BA1\u6838\u88AB\u62D2\u7EDD\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},title_data_success:{code:"",text:"\u6570\u636E\u5305\u5DF2\u4E0A\u4F20",comment:"\u53EA\u53D1\u6570\u636E\u5305\u6210\u529F\u5361\u7247\u6807\u9898"},footer_data_success:{code:"",text:"\u8FD9\u6B21\u53EA\u4E0A\u4F20\u4E86\u6570\u636E\u5305\uFF0C\u6CA1\u6709\u53D1\u5E03\u65B0\u6A21\u677F\u7248\u672C\uFF0C\u4E5F\u6CA1\u6709\u4FEE\u6539\u5DF2\u6709\u6A21\u677F\u7248\u672C\u7684\u7ED1\u5B9A\u3002\u5F00\u5DE5\u7A0B\u65F6\u52A0\u4E0A --with-assets \u548C\u6570\u636E\u5305 ID\uFF0C\u5373\u53EF\u4E0B\u8F7D\u8FD9\u4EFD\u5305\u3002\u82E5\u8981\u8BA9\u65B0\u7684\u6A21\u677F\u7248\u672C\u7ED1\u5B9A\u8FD9\u4EFD\u5305\uFF0C\u8BF7\u5148\u4FEE\u6539 package.json.version\uFF0C\u518D\u53D1\u5E03\u6A21\u677F\u3002",comment:"\u53EA\u53D1\u6570\u636E\u5305\u6210\u529F\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"}},publish_project:{title_success:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u7248\u6210\u529F",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u7248\u6210\u529F\u5361\u7247\u6807\u9898"},label_project_id:{code:"",text:"\u5DE5\u7A0B ID",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_project_name:{code:"",text:"\u5DE5\u7A0B\u540D\u79F0",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_release_version:{code:"",text:"\u53D1\u5E03\u7248\u672C",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_version_id:{code:"",text:"\u7248\u672C ID",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u7248\u6210\u529F\u5361\u7247"},label_post_id:{code:"",text:"\u5173\u8054\u5E16",comment:"versions/create \u56DE\u5305\u7684\u5E16\u5B50 id"},label_package_size:{code:"",text:"\u6E90\u7801\u5305\u5927\u5C0F",comment:"\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_page:{code:"",text:"\u5E16\u5B50",comment:"\u5DF2\u516C\u5F00\u5E16"},label_page_draft:{code:"",text:"\u5E16\u5B50\u8349\u7A3F\uFF08\u786E\u8BA4\u540E\u624D\u4F1A\u516C\u5F00\uFF09",comment:"post_status \u975E 4"},footer_success:{code:"",text:"\u6E90\u7801\u5305\u5DF2\u4E0A\u4F20\uFF0C\u7248\u672C\u5DF2\u81EA\u52A8\u63D0\u4EA4\u5BA1\u6838\uFF1B\u5DF2\u540C\u6B65\u66F4\u65B0 .lumimaker/project.json\u3002",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u7248\u6210\u529F\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},title_passed:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u7248\u6210\u529F",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u5E03\u4E14\u5BA1\u6838\u5DF2\u901A\u8FC7\u5361\u7247\u6807\u9898"},title_reviewing:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u5DF2\u63D0\u4EA4\u5BA1\u6838",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u5E03\u4F46\u5BA1\u6838\u4E2D\u5361\u7247\u6807\u9898"},title_rejected:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u5BA1\u6838\u88AB\u62D2\u7EDD",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u5E03\u4F46\u5BA1\u6838\u88AB\u62D2\u7EDD\u5361\u7247\u6807\u9898"},footer_passed:{code:"",text:"\u7248\u672C\u5DF2\u901A\u8FC7\u5BA1\u6838\u3002\u5E16\u5B50\u662F\u5426\u516C\u5F00\u3001\u5DE5\u7A0B\u662F\u5426\u4E0A\u67B6\uFF0C\u8BF7\u4EE5\u7F51\u9875\u72B6\u6001\u4E3A\u51C6\u3002",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u5E03\u4E14\u5BA1\u6838\u5DF2\u901A\u8FC7\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},footer_reviewing:{code:"",text:"\u5BA1\u6838\u4E2D\uFF0C\u8BF7\u5230\u7F51\u9875\u67E5\u770B\u5BA1\u6838\u7ED3\u679C\u3002",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u5E03\u4F46\u5BA1\u6838\u4E2D\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"},footer_rejected:{code:"",text:"\u5BA1\u6838\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5230\u7F51\u9875\u67E5\u770B\u8BE6\u60C5\u3002",comment:"\u5F00\u6E90\u5DE5\u7A0B\u53D1\u5E03\u4F46\u5BA1\u6838\u88AB\u62D2\u7EDD\u5361\u7247\u5E95\u90E8\u6CE8\u91CA"}},templates:{table_title:{code:"",text:"\u6211\u7684\u6A21\u677F\u5E16\u5B50\u5217\u8868\uFF1A",comment:"\u6A21\u677F\u5217\u8868\u8868\u683C\u4E3B\u6807\u9898"},empty_list:{code:"",text:"\u6682\u65E0\u6A21\u677F\u6570\u636E",comment:"\u5217\u8868\u4E3A\u7A7A\u65F6\u7684\u5360\u4F4D\u8BF4\u660E"},col_template_id:{code:"",text:"\u6A21\u677F ID",comment:"\u8868\u683C\u5217\u540D"},col_template_name:{code:"",text:"\u6A21\u677F\u540D\u79F0",comment:"\u8868\u683C\u5217\u540D"},col_latest_version:{code:"",text:"\u6700\u65B0\u7248\u672C",comment:"\u8868\u683C\u5217\u540D"},query_card_title:{code:"",text:"\u6A21\u677F\u8BE6\u60C5",comment:"\u67E5\u8BE2\u6A21\u677F\u8BE6\u60C5\u5361\u7247\u6807\u9898"},versions_title:{code:"",text:"\u6A21\u677F\u53D1\u5E03\u7248\u672C\u5386\u53F2",comment:"\u6A21\u677F\u7248\u672C\u5217\u8868\u6807\u9898"},data_packages_title:{code:"",text:"\u6A21\u677F\u7ED1\u5B9A\u7684\u6570\u636E\u5305\u5217\u8868",comment:"\u6A21\u677F\u6570\u636E\u5305\u5217\u8868\u6807\u9898"},col_data_id:{code:"",text:"\u6570\u636E\u5305 ID",comment:"\u6A21\u677F\u6570\u636E\u5305\u8868\u683C\u5217\u540D"},col_data_ver:{code:"",text:"\u6570\u636E\u5305\u7248\u672C",comment:"\u6A21\u677F\u6570\u636E\u5305\u8868\u683C\u5217\u540D"},col_data_summary:{code:"",text:"\u8BF4\u660E",comment:"\u6A21\u677F\u6570\u636E\u5305 summary \u5217\u540D"},empty_data:{code:"",text:"\u6682\u65E0\u6570\u636E\u5305",comment:"\u6A21\u677F\u6570\u636E\u5305\u5217\u8868\u4E3A\u7A7A\u65F6\u7684\u5360\u4F4D\u8BF4\u660E"}},games:{table_title:{code:"",text:"\u6211\u7684\u6E38\u620F\u5E16\u5B50\u5217\u8868\uFF1A",comment:"\u6E38\u620F\u5217\u8868\u8868\u683C\u4E3B\u6807\u9898"},empty_list:{code:"",text:"\u6682\u65E0\u6E38\u620F\u6570\u636E",comment:"\u5217\u8868\u4E3A\u7A7A\u65F6\u7684\u5360\u4F4D\u8BF4\u660E"},col_game_id:{code:"",text:"\u6E38\u620FID",comment:"\u8868\u683C\u5217\u540D"},col_game_name:{code:"",text:"\u6E38\u620F\u540D\u79F0",comment:"\u8868\u683C\u5217\u540D"},col_variant:{code:"",text:"\u7C7B\u578B",comment:"\u8868\u683C\u5217\u540D"},col_latest_version:{code:"",text:"\u6700\u65B0\u7248\u672C",comment:"\u8868\u683C\u5217\u540D"},val_demo:{code:"",text:"demo",comment:"\u8868\u683C\u5217\u5355\u5143\u683C\u5185\u6587\u672C"},val_official:{code:"",text:"\u4F5C\u54C1",comment:"\u8868\u683C\u5217\u5355\u5143\u683C\u5185\u6587\u672C"},val_derived:{code:"",text:"\u884D\u751F",comment:"\u8868\u683C\u5217\u5355\u5143\u683C\u5185\u6587\u672C"},query_card_title:{code:"",text:"\u6E38\u620F\u8BE6\u60C5",comment:"\u67E5\u8BE2\u6E38\u620F\u8BE6\u60C5\u5361\u7247\u6807\u9898"},versions_title:{code:"",text:"\u6E38\u620F\u53D1\u5E03\u7248\u672C\u5386\u53F2",comment:"\u6E38\u620F\u7248\u672C\u5217\u8868\u6807\u9898"}},projects:{table_title:{code:"",text:"\u6211\u7684\u5F00\u6E90\u5DE5\u7A0B\u5217\u8868\uFF1A",comment:"\u5F00\u6E90\u5DE5\u7A0B\u5217\u8868\u8868\u683C\u4E3B\u6807\u9898"},empty_list:{code:"",text:"\u6682\u65E0\u5F00\u6E90\u5DE5\u7A0B\u6570\u636E",comment:"\u5217\u8868\u4E3A\u7A7A\u65F6\u7684\u5360\u4F4D\u8BF4\u660E"},col_project_id:{code:"",text:"\u5DE5\u7A0B ID",comment:"\u8868\u683C\u5217\u540D"},col_project_name:{code:"",text:"\u5DE5\u7A0B\u540D\u79F0",comment:"\u8868\u683C\u5217\u540D"},col_latest_version:{code:"",text:"\u6700\u65B0\u7248\u672C",comment:"\u8868\u683C\u5217\u540D"},query_card_title:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u8BE6\u60C5",comment:"\u67E5\u8BE2\u5F00\u6E90\u5DE5\u7A0B\u8BE6\u60C5\u5361\u7247\u6807\u9898"},versions_title:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u7248\u672C\u5386\u53F2",comment:"\u5F00\u6E90\u5DE5\u7A0B\u7248\u672C\u5217\u8868\u6807\u9898"}},versions:{col_version_id:{code:"",text:"\u7248\u672C ID",comment:"\u7248\u672C\u5386\u53F2\u8868\u683C\u5217\u540D"},col_version:{code:"",text:"\u7248\u672C\u53F7",comment:"\u7248\u672C\u5386\u53F2\u8868\u683C\u5217\u540D"},col_status:{code:"",text:"\u5BA1\u6838",comment:"\u7248\u672C\u5386\u53F2\u8868\u683C\u5217\u540D"},col_published_at:{code:"",text:"\u901A\u8FC7\u65F6\u95F4",comment:"\u7248\u672C\u901A\u8FC7\u65F6\u95F4\uFF08published_at\uFF0C\u672A\u901A\u8FC7\u663E\u793A -\uFF09"},col_changelog:{code:"",text:"\u66F4\u65B0\u8BF4\u660E",comment:"\u7248\u672C\u5386\u53F2\u8868\u683C\u5217\u540D"},col_post:{code:"",text:"\u5173\u8054\u5E16",comment:"\u7248\u672C\u5386\u53F2\u8868\u683C\uFF1Apost_id \u4E0E\u516C\u5F00\u72B6\u6001"},post_public:{code:"",text:"\u5DF2\u516C\u5F00",comment:"post_status === 4"},post_draft:{code:"",text:"\u672A\u516C\u5F00",comment:"post_status \u975E 4"},status_draft:{code:"",text:"\u8349\u7A3F",comment:"\u7248\u672C status=1"},status_machine:{code:"",text:"\u673A\u5BA1\u4E2D",comment:"\u7248\u672C status=2"},status_human:{code:"",text:"\u4EBA\u5BA1\u4E2D",comment:"\u7248\u672C status=3"},status_passed:{code:"",text:"\u5DF2\u901A\u8FC7",comment:"\u7248\u672C status=4"},status_rejected:{code:"",text:"\u5DF2\u62D2\u7EDD",comment:"\u7248\u672C status=5"},status_unknown:{code:"",text:"\u672A\u77E5",comment:"\u7248\u672C status \u975E 1\u20135"},empty_versions:{code:"",text:"\u6682\u65E0\u7248\u672C\u8BB0\u5F55",comment:"\u7248\u672C\u5386\u53F2\u4E3A\u7A7A\u65F6\u7684\u5360\u4F4D\u8BF4\u660E"}},shelf:{action_update:{code:"",text:"\u66F4\u65B0",comment:"\u5E16\u5B50\u64CD\u4F5C\u884C\u4E3A\u63CF\u8FF0"},type_template:{code:"",text:"\u6A21\u677F",comment:"\u5E16\u5B50\u5B9E\u4F53\u7C7B\u578B"},type_game:{code:"",text:"\u6E38\u620F",comment:"\u5E16\u5B50\u5B9E\u4F53\u7C7B\u578B"},type_project:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B",comment:"\u5E16\u5B50\u5B9E\u4F53\u7C7B\u578B"},label_community_post:{code:"",text:"\u5173\u8054\u5E16",comment:"\u5E16\u5B50\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},card_title_shelf_updated:{code:"",text:"\u5E16\u5B50\u66F4\u65B0\u6210\u529F",comment:"\u5E16\u5B50\u66F4\u65B0\u6210\u529F\u5361\u7247\u6807\u9898\u540E\u7F00"},label_shelf:{code:"",text:"\u4E0A\u4E0B\u67B6",comment:"shelf_status \u4E0A\u67B6/\u4E0B\u67B6\uFF0C\u4E0D\u8981\u548C\u793E\u533A\u5E16 post_url \u6DF7\u6807\u6210\u5E16\u5B50"},val_shelf_on:{code:"",text:"\u4E0A\u67B6",comment:"shelf_status=1"},val_shelf_off:{code:"",text:"\u4E0B\u67B6",comment:"shelf_status=2"},label_changelog:{code:"",text:"\u66F4\u65B0\u8BF4\u660E",comment:"\u5E16\u5B50\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"},label_version_id:{code:"",text:"\u7248\u672C ID",comment:"\u5E16\u5B50\u5361\u7247\u5C55\u793A\u5B57\u6BB5\u6807\u7B7E"}},error:{title:{code:"",text:"\u64CD\u4F5C\u672A\u5B8C\u6210",comment:"\u9519\u8BEF\u5361\u7247\u901A\u7528\u4E3B\u6807\u9898"},label_code:{code:"",text:"\u9519\u8BEF\u4EE3\u7801",comment:"\u9519\u8BEF\u5361\u7247\u5B57\u6BB5\u6807\u7B7E"},label_detail:{code:"",text:"\u9519\u8BEF\u8BE6\u60C5",comment:"\u9519\u8BEF\u5361\u7247\u5B57\u6BB5\u6807\u7B7E"},label_hint:{code:"",text:"\u89E3\u51B3\u5EFA\u8BAE",comment:"\u9519\u8BEF\u5361\u7247\u5B57\u6BB5\u6807\u7B7E"},label_log_path:{code:"",text:"\u8BE6\u7EC6\u65E5\u5FD7",comment:"\u9519\u8BEF\u5361\u7247\u5B57\u6BB5\u6807\u7B7E"},footer:{code:"",text:"\u5982\u9700\u8FDB\u4E00\u6B65\u5E2E\u52A9\uFF0C\u8BF7\u8054\u7CFB\u5BA2\u670D{contact}\u3002",comment:"\u9519\u8BEF\u5361\u7247\u5E95\u90E8\u6CE8\u91CA\uFF1B{contact} \u4E3A\u90AE\u7BB1/QQ \u6216\u7A7A"},default_message:{code:"",text:"\u672A\u77E5\u9519\u8BEF",comment:"\u7F3A\u7701\u9519\u8BEF\u6587\u6848"}},error_codes:{"1001":{code:"1001",text:"\u8F93\u5165\u53C2\u6570\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u547D\u4EE4\u53C2\u6570\u3002",comment:"\u547D\u4EE4\u884C\u53C2\u6570\u4E0D\u7B26\u5408\u89C4\u8303"},"1001_missing_dist":{code:"1001",text:"\u8BF7\u5148\u5728\u5DE5\u7A0B\u76EE\u5F55\u8FD0\u884C npm run build \u751F\u6210 dist/index.html\u3002",comment:"\u53D1\u5E03\u6E38\u620F\u7F3A\u5C11 dist/ \u4EA7\u7269\u65F6\u7684\u89E3\u51B3\u5EFA\u8BAE"},"1001_missing_script":{code:"1001",text:"\u5F53\u524D\u5DE5\u7A0B\u7684 package.json \u7F3A\u5C11\u5FC5\u8981\u811A\u672C\uFF08\u5982 scripts.validate\u3001scripts.dev:demo\u3001scripts.build:demo\uFF09\u3002\u8BF7\u8865\u4E0A\u540E\u518D\u53D1\u5E03\u3002",comment:"\u53D1\u5E03\u6A21\u677F\u7F3A\u5C11\u89C4\u8303\u811A\u672C\u65F6\u7684\u89E3\u51B3\u5EFA\u8BAE"},"1001_no_approved":{code:"1001",text:"\u8FD9\u4E2A\u6A21\u677F\u8FD8\u6CA1\u6709\u5BA1\u6838\u901A\u8FC7\u7684\u7248\u672C\uFF0C\u4E0D\u80FD\u5F00\u5DE5\u7A0B\u3002\u8BF7\u6362\u5DF2\u8FC7\u5BA1\u7684\u6A21\u677F\uFF0C\u6216\u7B49\u5BA1\u6838\u901A\u8FC7\u540E\u518D\u8BD5\u3002\u672C\u5730\u76EE\u5F55\u53EF\u7528 --from-dir\u3002",comment:"\u5B89\u88C5\u6A21\u677F\u65F6\u6CA1\u6709\u5DF2\u901A\u8FC7\u5BA1\u6838\u7684\u7248\u672C"},"1003_checksum":{code:"1003",text:"\u6A21\u677F\u5305\u6821\u9A8C\u4E0D\u5339\u914D\uFF0C\u53EF\u80FD\u662F\u4E91\u7AEF\u6587\u4EF6\u5F02\u5E38\u6216\u7F51\u7EDC\u4E0B\u8F7D\u53D7\u635F\uFF0C\u8BF7\u91CD\u8BD5\u6216\u8054\u7CFB\u5BA2\u670D{contact}\u91CD\u65B0\u53D1\u7248\u3002",comment:"\u6A21\u677F\u5B89\u88C5\u5305\u54C8\u5E0C\u6821\u9A8C\u5931\u8D25\u65F6\u7684\u89E3\u51B3\u5EFA\u8BAE"},"1002":{code:"1002",text:"\u6587\u4EF6\u8BFB\u53D6\u6216\u5199\u5165\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6216\u76EE\u5F55\u6743\u9650\u3002",comment:"\u672C\u5730\u78C1\u76D8\u8BFB\u5199\u5F02\u5E38"},"2001":{code:"2001",text:"\u8BF7\u5148\u8FD0\u884C npx lumimaker login \u5B8C\u6210\u8D26\u53F7\u6388\u6743\u3002",comment:"\u5C1A\u672A\u767B\u5F55\u6216\u767B\u5F55\u6001\u5DF2\u88AB\u670D\u52A1\u7AEF\u540A\u9500"},"2002":{code:"2002",text:"\u767B\u5F55\u6388\u6743\u6D41\u7A0B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002",comment:"OAuth \u767B\u5F55\u672A\u6210\u529F\u5B8C\u6210"},"2003":{code:"2003",text:"\u767B\u5F55\u51ED\u8BC1\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\u3002",comment:"\u7528\u6237 refresh_token \u8D85\u8FC7\u6709\u6548\u671F"},"2004":{code:"2004",text:"\u6388\u6743\u8F6E\u8BE2\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u53D1\u8D77\u767B\u5F55\u3002",comment:"\u6253\u5F00\u6D4F\u89C8\u5668\u8D85\u8FC7 5 \u5206\u949F\u672A\u5B8C\u6210\u767B\u5F55"},"8000":{code:"8000",text:"\u5E73\u53F0\u670D\u52A1\u7EF4\u62A4\u4E2D\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",comment:"\u670D\u52A1\u7AEF\u7EF4\u62A4\u505C\u673A"},"8001":{code:"8001",text:"\u8BF7\u6C42\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u3002",comment:"\u670D\u52A1\u7AEF\u7F3A\u5C11\u5FC5\u4F20\u5B57\u6BB5"},"8002":{code:"8002",text:"\u8BF7\u6C42\u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u3002",comment:"\u670D\u52A1\u7AEF\u53C2\u6570\u6821\u9A8C\u672A\u901A\u8FC7"},"8004":{code:"8004",text:"\u5F53\u524D\u64CD\u4F5C\u9700\u8981\u5BF9\u5E94\u4F5C\u8005\u6216\u7B7E\u7EA6\u89D2\u8272\u6743\u9650\uFF0C\u8BF7\u786E\u8BA4\u8D26\u53F7\u6743\u9650\u540E\u91CD\u8BD5\u3002",comment:"\u8D26\u53F7\u89D2\u8272\u6743\u9650\u4E0D\u8DB3\uFF08\u5982\u672A\u7B7E\u7EA6\uFF09"},"8005":{code:"8005",text:"\u5E73\u53F0\u670D\u52A1\u51FA\u73B0\u5185\u90E8\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",comment:"\u670D\u52A1\u7AEF\u7CFB\u7EDF\u5185\u90E8\u5F02\u5E38"},"8006":{code:"8006",text:"\u4F1A\u8BDD\u521B\u5EFA\u5931\u8D25\uFF0C\u8BF7\u5C1D\u8BD5\u91CD\u65B0\u767B\u5F55\u3002",comment:"\u6362\u53D6 session \u5931\u8D25"},"8007":{code:"8007",text:"\u767B\u5F55\u4F1A\u8BDD\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\u3002",comment:"\u5F53\u524D session \u65E0\u6548"},"8400":{code:"8400",text:"\u670D\u52A1\u5668\u6846\u67B6\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",comment:"\u7F51\u5173\u6216\u5E95\u5C42\u6846\u67B6\u9519\u8BEF"},"8999":{code:"8999",text:"\u670D\u52A1\u5668\u8FD4\u56DE\u672A\u77E5\u4E1A\u52A1\u9519\u8BEF\u3002",comment:"\u672A\u5F52\u7C7B\u7684\u4E1A\u52A1\u9519\u8BEF"},"9000":{code:"9000",text:"\u7F51\u7EDC\u65E0\u6CD5\u8FDE\u63A5\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8BBE\u7F6E\u6216\u4EE3\u7406\u3002",comment:"\u672C\u5730\u65E0\u6CD5\u8FDE\u901A\u670D\u52A1\u5668"},"9001":{code:"9001",text:"\u7F51\u7EDC\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u72B6\u51B5\u540E\u91CD\u8BD5\u3002",comment:"\u7F51\u7EDC\u8FDE\u63A5\u6216\u8BFB\u53D6\u8D85\u65F6"},"9002":{code:"9002",text:"\u670D\u52A1\u5668\u8FD4\u56DE\u5F02\u5E38\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",comment:"HTTP 4xx/5xx \u72B6\u6001\u54CD\u5E94"},"9003":{code:"9003",text:"\u8FD9\u6B21\u64CD\u4F5C\u6CA1\u80FD\u5B8C\u6210\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\uFF1B\u82E5\u63D0\u793A\u7248\u672C\u540D\u5DF2\u5B58\u5728\uFF0C\u8BF7\u6539 package.json \u7684 version \u540E\u518D\u53D1\u3002\u6301\u7EED\u51FA\u73B0\u8BF7\u8054\u7CFB\u5BA2\u670D\u3002",comment:"Lumi \u4E1A\u52A1\u5931\u8D25\u3001\u9650\u9891\u6216\u54CD\u5E94\u65E0\u6CD5\u89E3\u6790\u65F6\u7684\u515C\u5E95 hint\uFF1B\u7248\u672C\u540D\u51B2\u7A81\u65F6\u670D\u52A1\u7AEF\u539F\u6587\u4F1A\u6620\u5C04\u4E3A\u66F4\u660E\u786E\u7684\u6587\u6848"},"9999":{code:"9999",text:"\u670D\u52A1\u5668\u8FD4\u56DE\u5185\u5BB9\u4E3A\u7A7A\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",comment:"\u4E0A\u6E38\u672A\u8FD4\u56DE\u6709\u6548\u6570\u636E"}},skill:{card_title:{code:"",text:"\u5DF2\u628A AI \u8BF4\u660E\u540C\u6B65\u5230\u7F16\u8F91\u5668",comment:"lumimaker skill \u6210\u529F\u5361\u7247\u6807\u9898"},label_kit:{code:"",text:"\u6E90",comment:"kit \u8DEF\u5F84"},label_copied:{code:"",text:"\u62F7\u8D1D",comment:"\u5DF2\u62F7\u8D1D\u7684 skill \u540D"},label_targets:{code:"",text:"\u76EE\u5F55",comment:"\u5B89\u88C5\u76EE\u6807\u76F8\u5BF9\u8DEF\u5F84"}},common:{success_default:{code:"",text:"\u64CD\u4F5C\u6267\u884C\u6210\u529F\u3002",comment:"\u547D\u4EE4\u6267\u884C\u6210\u529F\u9ED8\u8BA4\u8BF4\u660E"},page_info_pattern:{code:"",text:"\u7B2C {page} \u9875\uFF0C\u672C\u9875 {count} \u6761\uFF0C\u5171 {total} \u6761",comment:"\u5217\u8868\u5E95\u90E8\u5206\u9875\u8BF4\u660E\u6A21\u677F"},login_required_confirm:{code:"2001",text:"\u5F53\u524D\u672A\u767B\u5F55\u5E73\u53F0\uFF0C\u662F\u5426\u73B0\u5728\u6253\u5F00\u6D4F\u89C8\u5668\u5B8C\u6210\u6388\u6743\uFF1F",comment:"\u4EFB\u610F\u547D\u4EE4\u9047\u5230\u672A\u767B\u5F55\u65F6\u7684\u786E\u8BA4\u63D0\u95EE"},login_cancelled:{code:"2001",text:"\u5DF2\u53D6\u6D88\u767B\u5F55\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u5F53\u524D\u64CD\u4F5C\u3002",comment:"\u7528\u6237\u62D2\u7EDD\u767B\u5F55\u5F15\u5BFC\u540E\u7684\u63D0\u793A"},login_retrying:{code:"",text:"\u767B\u5F55\u6210\u529F\uFF0C\u6B63\u5728\u7EE7\u7EED\u521A\u624D\u7684\u64CD\u4F5C\u2026",comment:"\u767B\u5F55\u5B8C\u6210\u540E\u81EA\u52A8\u91CD\u8BD5\u539F\u547D\u4EE4"},login_failed:{code:"2002",text:"\u767B\u5F55\u672A\u5B8C\u6210\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u5F53\u524D\u64CD\u4F5C\u3002",comment:"\u5F15\u5BFC\u767B\u5F55\u5931\u8D25\u540E\u7684\u63D0\u793A"}}};var D={_comment:"kit \u7528\u6237\u53EF\u89C1\u6587\u6848\uFF08\u5E2E\u52A9\u3001\u4EA4\u4E92\u3001\u6821\u9A8C\u3001\u901A\u7528\u6807\u7B7E\uFF09\u3002\u5360\u4F4D\u7B26 {name}\u3002\u4E0E cli-messages.json \u4E00\u5E76\u52A0\u8F7D\u3002",help:{tagline:{code:"",text:"\u5E7B\u5149\u9759\u6001\u6E38\u620F\u5E73\u53F0\u5DE5\u5177",comment:"lumimaker --help \u6807\u9898\u526F\u6587\u6848"},usage_heading:{code:"",text:"\u7528\u6CD5:",comment:"\u5E2E\u52A9\u5206\u6BB5"},usage_line:{code:"",text:"lumimaker <command> [options]",comment:"\u7528\u6CD5\u793A\u4F8B"},section_publish:{code:"",text:"\u53D1\u5E03\u4E0E\u9274\u6743:",comment:"\u5E2E\u52A9\u5206\u6BB5"},section_shelf:{code:"",text:"\u5E16\u5B50\u7BA1\u7406:",comment:"\u5E2E\u52A9\u5206\u6BB5"},section_check:{code:"",text:"\u89C4\u8303\u6821\u9A8C:",comment:"\u5E2E\u52A9\u5206\u6BB5"},section_global:{code:"",text:"\u5168\u5C40\u9009\u9879:",comment:"\u5E2E\u52A9\u5206\u6BB5"},cmd_publish:{code:"",text:"\u53D1\u5E03\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09\uFF1A\u4E0A\u4F20 dist/",comment:"publish"},cmd_publish_demo:{code:"",text:"\u53D1\u5E03 demo \u7248\u6E38\u620F\uFF08demo\uFF09\uFF1B\u53EF\u4EE5\u8FD8\u6CA1\u6709\u6B63\u5F0F\u7248\u6E38\u620F\uFF1B\u4E4B\u540E\u53D1\u6B63\u5F0F\u7248\u4F1A\u81EA\u52A8\u8FDE\u4E0A",comment:"publish --demo"},cmd_publish_template:{code:"",text:"\u53D1\u5E03\u6A21\u677F\u3002\u9996\u53D1\u987B\u6709 assets/ \u5E76\u81EA\u52A8\u4E0A\u4F20\u6570\u636E\u5305\uFF1B\u7EED\u53D1\u8BE5\u6570\u636E\u5305\u7248\u672C\u8FD8\u6CA1\u6709\u5305\u65F6\u4E5F\u4F1A\u81EA\u52A8\u4F20\uFF1B\u518D\u4F20\u4E00\u5305\u7528 --with-assets",comment:"publish-template"},cmd_publish_template_data:{code:"",text:"\u53EA\u53D1\u6570\u636E\u5305\uFF0C\u4E0D\u53D1\u65B0\u6A21\u677F\u7248\u672C\u3002\u7248\u672C\u548C\u8BF4\u660E\u8BFB package.json\uFF0C\u6587\u4EF6\u653E\u5728 assets/",comment:"publish-template-data"},cmd_publish_project:{code:"",text:"\u53D1\u5E03\u5F00\u6E90\u5DE5\u7A0B\uFF1B\u65E0 project.json \u65F6\u540C\u65F6\u5EFA\u5DE5\u7A0B",comment:"publish-project"},cmd_login:{code:"",text:"\u767B\u5F55\uFF08\u5DF2\u6709\u6709\u6548\u767B\u5F55\u5219\u8DF3\u8FC7\uFF1B--force \u5F3A\u5236\u91CD\u65B0\u6388\u6743\uFF09",comment:"login"},cmd_logout:{code:"",text:"\u9000\u51FA\u767B\u5F55\uFF0C\u6E05\u9664\u672C\u5730\u51ED\u8BC1",comment:"logout"},cmd_whoami:{code:"",text:"\u67E5\u770B\u5F53\u524D\u767B\u5F55\u72B6\u6001\u4E0E\u8D26\u53F7\u4FE1\u606F",comment:"whoami"},cmd_games_update:{code:"",text:"\u4FEE\u6539\u6E38\u620F\u5E16\u5B50",comment:"games update"},cmd_templates_update:{code:"",text:"\u4FEE\u6539\u6A21\u677F\u5E16\u5B50\u540D\u79F0",comment:"templates update"},cmd_projects_update:{code:"",text:"\u4FEE\u6539\u5F00\u6E90\u5DE5\u7A0B\u5E16\u5B50",comment:"projects update"},cmd_validate_template:{code:"",text:"\u9A8C\u8BC1\u5F53\u524D\u5DE5\u7A0B\u662F\u5426\u7B26\u5408\u6A21\u677F\u89C4\u8303",comment:"validate-template"},cmd_validate:{code:"",text:"\u8F6C\u8C03 npm run validate\uFF08\u6A21\u677F\u5FC5\u987B\u63D0\u4F9B\uFF1B\u6709\u8BD5\u73A9\u6570\u636E\u65F6\u540C\u4E00\u6761\u68C0\u67E5\u4E24\u4EFD\uFF09",comment:"validate"},cmd_skill:{code:"",text:"\u5B89\u88C5 AI \u8BF4\u660E\u5230\u7F16\u8F91\u5668\uFF1A--platform cursor \u6216 --all",comment:"skill"},opt_json:{code:"",text:"\u811A\u672C\u8981\u673A\u5668\u53EF\u8BFB JSON \u65F6\u4F7F\u7528\uFF1B\u4EBA\u5728\u7EC8\u7AEF\u548C\u7F16\u8F91\u5668\u91CC\u4E0D\u5FC5\u52A0\uFF0C\u6210\u529F\u7ED3\u679C\u5DF2\u662F\u4E2D\u6587",comment:"--json"},opt_verbose:{code:"",text:"\u8F93\u51FA\u8C03\u8BD5\u65E5\u5FD7",comment:"--verbose"},opt_no_interactive:{code:"",text:"\u7981\u7528\u4EA4\u4E92\u5F0F\u5F15\u5BFC\uFF0C\u7F3A\u53C2\u65F6\u76F4\u63A5\u62A5\u9519",comment:"--no-interactive"},opt_yes:{code:"",text:"\u53D1\u5E03\u6E38\u620F\u65F6\u8DF3\u8FC7\u53D1\u5E03\u524D\u786E\u8BA4\uFF08\u811A\u672C / \u5DF2\u4EBA\u5DE5\u786E\u8BA4\uFF09",comment:"--yes"},opt_agent:{code:"",text:"\u5F3A\u5236\u6309 AI \u52A9\u624B\u534F\u8BAE\uFF08\u7F3A\u53C2\u5148\u95EE\u4EBA\uFF09\u3002\u9ED8\u8BA4\u53EF\u7701\u7565\uFF1A\u4EBA\u5728\u7EC8\u7AEF\u8D70\u4EA4\u4E92\uFF0C\u7F16\u8F91\u5668\u91CC\u975E TTY \u4F1A\u81EA\u52A8\u5F00\u542F",comment:"--agent"},opt_apply_update:{code:"",text:"\u628A\u5F53\u524D\u5DE5\u7A0B\u7684 lumimaker \u76F8\u5173\u5305\u5347\u5230\u5DF2\u68C0\u6D4B\u5230\u7684\u6700\u65B0\u7248",comment:"--apply-update"},opt_skip_update:{code:"",text:"\u672C\u6B21\u8DF3\u8FC7 npm \u66F4\u65B0\u63D0\u793A\uFF08\u540C\u4E00 latest 24 \u5C0F\u65F6\u5185\u4E0D\u518D\u6253\u65AD\uFF09",comment:"--skip-update"},opt_help:{code:"",text:"\u67E5\u770B\u5E2E\u52A9",comment:"--help"},contact:{code:"",text:"\u9700\u8981\u8054\u7CFB\u5BA2\u670D{contact}",comment:"\u5E2E\u52A9\u9875\u5E95\u90E8\uFF1A\u65E0\u72EC\u7ACB\u8054\u7CFB\u6E20\u9053\u9875\uFF0C\u5F15\u5BFC\u8054\u7CFB\u5BA2\u670D"}},prompt:{cancel:{code:"",text:"\u5DF2\u53D6\u6D88\u64CD\u4F5C\u3002",comment:"Ctrl+C \u53D6\u6D88\u4EA4\u4E92"},intro:{code:"",text:"\u5E7B\u5149 lumimaker \u5E73\u53F0\u5DE5\u5177",comment:"\u4E3B\u83DC\u5355\u6807\u9898"},main_message:{code:"",text:"\u8BF7\u9009\u62E9\u8981\u6267\u884C\u7684\u64CD\u4F5C\uFF1A",comment:"\u4E3B\u83DC\u5355\u63D0\u95EE"},main_publish_label:{code:"",text:"\u53D1\u5E03\u6E38\u620F (publish)",comment:"\u4E3B\u83DC\u5355"},main_publish_hint:{code:"",text:"\u4E0A\u4F20 dist/ \u5230\u5E73\u53F0\uFF08\u6B63\u5F0F\u7248\u6E38\u620F\u6216 demo\uFF09",comment:"\u4E3B\u83DC\u5355"},main_publish_template_label:{code:"",text:"\u53D1\u5E03\u6A21\u677F (publish-template)",comment:"\u4E3B\u83DC\u5355"},main_publish_template_hint:{code:"",text:"\u4E0A\u4F20\u6A21\u677F\u7248\u672C",comment:"\u4E3B\u83DC\u5355"},main_publish_template_data_label:{code:"",text:"\u53EA\u53D1\u6570\u636E\u5305 (publish-template-data)",comment:"\u4E3B\u83DC\u5355"},main_publish_template_data_hint:{code:"",text:"\u4E0D\u53D1\u65B0\u6A21\u677F\u7248\u672C\uFF1B\u6E38\u620F\u4F5C\u8005\u7528 --with-assets \u4E0B\u8F7D",comment:"\u4E3B\u83DC\u5355"},main_publish_project_label:{code:"",text:"\u53D1\u5E03\u5F00\u6E90\u5DE5\u7A0B (publish-project)",comment:"\u4E3B\u83DC\u5355"},main_publish_project_hint:{code:"",text:"\u6253\u5305\u4E0A\u4F20\u6E90\u7801\u5DE5\u7A0B",comment:"\u4E3B\u83DC\u5355"},main_games_label:{code:"",text:"\u6E38\u620F\u5E16\u5B50\u7BA1\u7406 (games)",comment:"\u4E3B\u83DC\u5355"},main_games_hint:{code:"",text:"\u6539\u6E38\u620F\u5E16\u5B50\u540D\u79F0\u6216\u4E0A\u4E0B\u67B6",comment:"\u4E3B\u83DC\u5355"},main_templates_label:{code:"",text:"\u6A21\u677F\u5E16\u5B50\u7BA1\u7406 (templates)",comment:"\u4E3B\u83DC\u5355"},main_templates_hint:{code:"",text:"\u6539\u6A21\u677F\u5E16\u5B50\u540D\u79F0\u6216\u4E0A\u4E0B\u67B6",comment:"\u4E3B\u83DC\u5355"},main_projects_label:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B\u5E16\u5B50\u7BA1\u7406 (projects)",comment:"\u4E3B\u83DC\u5355"},main_projects_hint:{code:"",text:"\u6539\u5F00\u6E90\u5DE5\u7A0B\u5E16\u5B50\u540D\u79F0\u6216\u4E0A\u4E0B\u67B6",comment:"\u4E3B\u83DC\u5355"},main_login_label:{code:"",text:"\u8D26\u53F7\u767B\u5F55 (login)",comment:"\u4E3B\u83DC\u5355"},main_login_hint:{code:"",text:"\u5DF2\u767B\u5F55\u5219\u8DF3\u8FC7\uFF1B--force \u5F3A\u5236\u91CD\u767B",comment:"\u4E3B\u83DC\u5355"},main_whoami_label:{code:"",text:"\u67E5\u770B\u5F53\u524D\u8D26\u53F7 (whoami)",comment:"\u4E3B\u83DC\u5355"},main_whoami_hint:{code:"",text:"\u68C0\u67E5\u5F53\u524D\u767B\u5F55\u72B6\u6001",comment:"\u4E3B\u83DC\u5355"},main_validate_template_label:{code:"",text:"\u6821\u9A8C\u6A21\u677F\u89C4\u8303 (validate-template)",comment:"\u4E3B\u83DC\u5355"},main_validate_template_hint:{code:"",text:"\u68C0\u67E5\u672C\u5730\u76EE\u5F55\u4E0E\u6587\u4EF6",comment:"\u4E3B\u83DC\u5355"},main_skill_label:{code:"",text:"\u5B89\u88C5 AI \u8BF4\u660E\u5230\u7F16\u8F91\u5668 (skill)",comment:"\u4E3B\u83DC\u5355"},main_skill_hint:{code:"",text:"--platform cursor \u6216 --all",comment:"\u4E3B\u83DC\u5355"},main_logout_label:{code:"",text:"\u9000\u51FA\u767B\u5F55 (logout)",comment:"\u4E3B\u83DC\u5355"},main_logout_hint:{code:"",text:"\u6E05\u9664\u672C\u5730\u51ED\u636E",comment:"\u4E3B\u83DC\u5355"},version_empty:{code:"",text:"\u7248\u672C\u53F7\u4E0D\u80FD\u4E3A\u7A7A",comment:"\u6821\u9A8C"},version_invalid:{code:"",text:"\u987B 1\u201316 \u4F4D\uFF0C\u4EC5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001`.` \u548C `-`\uFF1B\u5FC5\u987B\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934\u548C\u7ED3\u5C3E\uFF0C\u4E14\u4E0D\u80FD\u8FDE\u7EED\u4F7F\u7528\u7B26\u53F7\u3002\u793A\u4F8B\uFF1A1.0.0",comment:"publish-template \u6821\u9A8C"},version_invalid_log:{code:"",text:"\u6A21\u677F\u7248\u672C\u53F7\u683C\u5F0F\u65E0\u6548\uFF08{version}\uFF09",comment:"publish-template \u6821\u9A8C"},version_invalid_hint:{code:"",text:"\u987B 1\u201316 \u4F4D\uFF0C\u4EC5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u82F1\u6587\u70B9 . \u548C\u77ED\u6A2A\u7EBF -\uFF1B\u5FC5\u987B\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934\u548C\u7ED3\u5C3E\uFF1B\u4E0D\u80FD\u51FA\u73B0\u8FDE\u7EED\u7684 . \u6216 -\u3002\u793A\u4F8B\uFF1A1.0.0\u30010.1.0\u30011.0.0-a",comment:"publish-template \u6821\u9A8C"},publish_version:{code:"",text:"\u8BF7\u8F93\u5165\u8FD9\u6B21\u53D1\u5E03\u7684\u7248\u672C\u53F7\uFF1A",comment:"publish"},publish_name:{code:"",text:"\u8BF7\u8F93\u5165\u6E38\u620F\u5C55\u793A\u540D\u79F0\uFF1A",comment:"publish"},publish_variant:{code:"",text:"\u8FD9\u6B21\u53D1\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09\u8FD8\u662F demo \u7248\u6E38\u620F\uFF08demo\uFF09\uFF1F",comment:"publish"},publish_have_none:{code:"",text:"\u8FD8\u6CA1\u6709\u6B63\u5F0F\u7248\u6E38\u620F\uFF0C\u4E5F\u8FD8\u6CA1\u6709 demo\u3002",comment:"publish \u53D8\u4F53\u8BE2\u95EE"},publish_have_official:{code:"",text:"\u5DF2\u7ECF\u6709\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u6B63\u5F0F\u7248\u6E38\u620FID {id}\uFF09\u3002",comment:"publish \u53D8\u4F53\u8BE2\u95EE"},publish_have_demo:{code:"",text:"\u5DF2\u7ECF\u6709 demo \u7248\u6E38\u620F\uFF08\u8BD5\u73A9ID {id}\uFF09\u3002",comment:"publish \u53D8\u4F53\u8BE2\u95EE"},publish_have_both:{code:"",text:"\u5DF2\u7ECF\u6709\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u6B63\u5F0F\u7248\u6E38\u620FID {official}\uFF09\u548C demo \u7248\u6E38\u620F\uFF08\u8BD5\u73A9ID {demo}\uFF09\u3002",comment:"publish \u53D8\u4F53\u8BE2\u95EE"},publish_official_label:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09",comment:"publish"},publish_official_hint:{code:"",text:"\u9762\u5411\u73A9\u5BB6\u7684\u4E3B\u7248\u672C",comment:"publish"},publish_demo_label:{code:"",text:"demo\u7248\u6E38\u620F\uFF08demo\uFF09",comment:"publish"},publish_demo_hint:{code:"",text:"\u5355\u72EC\u7684 demo\uFF0C\u53EF\u4EE5\u8FD8\u6CA1\u6709\u6B63\u5F0F\u7248\u6E38\u620F",comment:"publish"},publish_parent:{code:"",text:"\u5982\u679C\u5DF2\u7ECF\u6709\u6B63\u5F0F\u7248\u6E38\u620F\uFF0C\u586B\u6B63\u5F0F\u7248\u6E38\u620FID\uFF08\u6CA1\u6709\u5C31\u56DE\u8F66\uFF0C\u5148\u53D1 demo\uFF09\uFF1A",comment:"publish"},publish_parent_placeholder:{code:"",text:"\u7559\u7A7A\u5219\u5148\u53D1 demo",comment:"publish"},publish_changelog:{code:"",text:"\u8BF7\u8F93\u5165\u7248\u672C\u66F4\u65B0\u8BF4\u660E\uFF08changelog\uFF0C\u53EF\u9009\u76F4\u63A5\u56DE\u8F66\uFF09\uFF1A",comment:"publish"},publish_changelog_placeholder:{code:"",text:"\u4FEE\u590D\u4E86\u4E00\u4E9B\u5DF2\u77E5\u95EE\u9898",comment:"publish"},publish_demo_scope:{code:"",text:"\u8BD5\u73A9\u8303\u56F4\u8BF4\u660E\uFF08\u4EC5\u65B0\u5EFA\u6E38\u620F\u65F6\u6709\u6548\uFF0C\u53EF\u9009\u76F4\u63A5\u56DE\u8F66\uFF09\uFF1A",comment:"publish"},publish_play_duration:{code:"",text:"\u9884\u8BA1\u6E38\u620F\u65F6\u957F\uFF08\u4EC5\u65B0\u5EFA\u6E38\u620F\u65F6\u6709\u6548\uFF0C\u53EF\u9009\u76F4\u63A5\u56DE\u8F66\uFF09\uFF1A",comment:"publish"},publish_confirm:{code:"",text:"\u5373\u5C06\u53D1\u5E03\u6E38\u620F\uFF0C\u8BF7\u786E\u8BA4\u4EE5\u4E0B\u4FE1\u606F\uFF1A",comment:"publish"},publish_confirm_name:{code:"",text:"\u540D\u79F0\uFF1A{name}",comment:"publish"},publish_confirm_version:{code:"",text:"\u7248\u672C\uFF1A{version}",comment:"publish"},publish_confirm_variant:{code:"",text:"\u7C7B\u578B\uFF1A{variant}",comment:"publish"},publish_confirm_official:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09",comment:"publish"},publish_confirm_demo:{code:"",text:"demo\u7248\u6E38\u620F\uFF08demo\uFF09",comment:"publish"},publish_confirm_parent:{code:"",text:"\u6302\u63A5\u6B63\u5F0F\u7248\u6E38\u620F\uFF1A{id}",comment:"publish"},publish_confirm_changelog:{code:"",text:"\u66F4\u65B0\u8BF4\u660E\uFF1A{text}",comment:"publish"},publish_confirm_none:{code:"",text:"\u65E0",comment:"publish"},publish_confirm_unnamed:{code:"",text:"\u672A\u586B\u5199",comment:"publish"},tpl_version:{code:"",text:"\u8BF7\u8F93\u5165\u6A21\u677F\u7248\u672C\u53F7\uFF081\u201316 \u4F4D\uFF0C\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u70B9\u3001\u77ED\u6A2A\u7EBF\uFF09\uFF1A",comment:"publish-template"},tpl_name:{code:"",text:"\u8BF7\u8F93\u5165\u6A21\u677F\u5728\u5E73\u53F0\u4E0A\u663E\u793A\u7684\u540D\u79F0\uFF08\u4E0D\u80FD\u542B / \u6216 @\uFF09\uFF1A",comment:"publish-template"},tpl_name_placeholder:{code:"",text:"\u4F8B\u5982 \u95EE\u7B54",comment:"publish-template"},tpl_name_empty:{code:"",text:"\u6A21\u677F\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",comment:"publish-template"},tpl_name_invalid:{code:"",text:"\u6A21\u677F\u540D\u79F0\u4E0D\u80FD\u5305\u542B / \u6216 @",comment:"publish-template"},tpl_name_invalid_log:{code:"",text:"\u6A21\u677F\u540D\u79F0\u4E0D\u5408\u6CD5\uFF1A{name}\uFF08\u4E0D\u80FD\u542B / \u6216 @\uFF09",comment:"publish-template"},tpl_changelog:{code:"",text:"\u8BF7\u8F93\u5165\u7248\u672C\u66F4\u65B0\u8BF4\u660E\uFF08changelog\uFF0C\u53EF\u9009\u76F4\u63A5\u56DE\u8F66\uFF09\uFF1A",comment:"publish-template"},tpl_mode:{code:"",text:"\u672C\u5730\u5C1A\u65E0 origin.json \u8EAB\u4EFD\uFF0C\u8BF7\u9009\u62E9\u53D1\u5E03\u65B9\u5F0F\uFF1A",comment:"publish-template"},tpl_publish_label:{code:"",text:"\u53D1\u5E03\u9996\u7248\uFF08\u81EA\u52A8\u5E26\u6570\u636E\u5305\uFF09",comment:"publish-template"},tpl_publish_hint:{code:"",text:"\u65B0\u5EFA\u6A21\u677F\uFF1A\u4E0A\u4F20\u6A21\u677F\uFF0C\u5E76\u628A\u5DE5\u7A0B assets/ \u505A\u6210\u6570\u636E\u5305",comment:"publish-template"},tpl_fork_label:{code:"",text:"Fork \u73B0\u6709\u6A21\u677F (--fork)",comment:"publish-template"},tpl_fork_hint:{code:"",text:"\u57FA\u4E8E\u6E90\u6A21\u677F\u7248\u672C\u884D\u751F",comment:"publish-template"},tpl_fork_id:{code:"",text:"\u8BF7\u8F93\u5165 Fork \u6E90\u6A21\u677F\u7248\u672C ID\uFF1A",comment:"publish-template"},tpl_fork_placeholder:{code:"",text:"\u4F8B\u5982 4p7dlg00utc0",comment:"publish-template"},tpl_fork_empty:{code:"",text:"Fork \u5FC5\u987B\u63D0\u4F9B\u6E90\u6A21\u677F\u7248\u672C ID",comment:"publish-template"},tpl_data_id:{code:"",text:"\u8981\u6362\u7ED1\u5DF2\u6709\u6570\u636E\u5305\u7684\u8BDD\uFF0C\u8F93\u5165\u6570\u636E\u5305 ID\uFF08\u56DE\u8F66\u8DF3\u8FC7\uFF09\uFF1A",comment:"publish-template --fork \u53EF\u9009 --data-id"},data_ver_reuse:{code:"",text:"\u6570\u636E\u5305\u7248\u672C\u6CBF\u7528\u4E0A\u6B21\u7684 {ver}\uFF1F",comment:"data-ver"},data_ver_new:{code:"",text:"\u8BF7\u8F93\u5165\u65B0\u7684\u6570\u636E\u5305\u7248\u672C\u53F7\uFF1A",comment:"data-ver"},data_ver_ask:{code:"",text:"\u8BF7\u8F93\u5165\u6570\u636E\u5305\u7248\u672C\u53F7\uFF08\u4E0D\u4F1A\u81EA\u52A8\u52A0 1\uFF09\uFF1A",comment:"data-ver"},data_ver_placeholder_last:{code:"",text:"\u4E0A\u6B21 {ver}",comment:"data-ver"},data_ver_placeholder:{code:"",text:"\u4F8B\u5982 1",comment:"data-ver"},data_ver_empty:{code:"",text:"\u6570\u636E\u5305\u7248\u672C\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u7A0B\u5E8F\u4E0D\u4F1A\u81EA\u52A8\u9012\u589E",comment:"data-ver"},data_summary:{code:"",text:"\u8BF7\u8F93\u5165\u8FD9\u4EFD\u6570\u636E\u5305\u7684\u8BF4\u660E\uFF08\u56DE\u8F66\u8DF3\u8FC7\uFF09\uFF1A",comment:"data-summary"},data_summary_placeholder:{code:"",text:"\u540C\u4E00\u6570\u636E\u5305\u7248\u672C\u4E0B\u7528\u6765\u533A\u5206\u672C\u5305",comment:"data-summary"},data_assets:{code:"",text:"\u8BF7\u628A\u6570\u636E\u5305\u6587\u4EF6\u653E\u5230\u5DE5\u7A0B\u7684 assets \u6587\u4EF6\u5939\u3002\u5DF2\u7ECF\u653E\u597D\u4E86\u5417\uFF1F",comment:"publish-template / publish-template-data"},data_assets_placeholder:{code:"",text:"\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u4F8B\u5982 C:\\path\\to\\assets",comment:"publish-template / publish-template-data --assets"},data_assets_not_absolute:{code:"",text:"--assets \u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84",comment:"publish-template / publish-template-data --assets"},data_assets_not_dir:{code:"",text:"\u8BE5\u8DEF\u5F84\u4E0D\u662F\u6709\u6548\u76EE\u5F55",comment:"publish-template / publish-template-data --assets"},proj_version:{code:"",text:"\u8BF7\u8F93\u5165\u8FD9\u6B21\u53D1\u5E03\u7684\u7248\u672C\u53F7\uFF1A",comment:"publish-project"},proj_name:{code:"",text:"\u8BF7\u8F93\u5165\u5DE5\u7A0B\u5C55\u793A\u540D\u79F0\uFF1A",comment:"publish-project"},proj_summary:{code:"",text:"\u8BF7\u8F93\u5165\u5DE5\u7A0B\u7B80\u4ECB (\u53EF\u9009)\uFF1A",comment:"publish-project"},proj_summary_placeholder:{code:"",text:"\u57FA\u4E8E\u5E7B\u5149\u5F00\u53D1\u7684\u6E38\u620F/\u6A21\u677F\u5DE5\u7A0B",comment:"publish-project"},proj_cover:{code:"",text:"\u8BF7\u8F93\u5165\u5C01\u9762\u56FE\u8DEF\u5F84 (\u53EF\u9009\uFF0C\u76F4\u63A5\u56DE\u8F66\u8DF3\u8FC7)\uFF1A",comment:"publish-project"},proj_changelog:{code:"",text:"\u8BF7\u8F93\u5165\u7248\u672C\u66F4\u65B0\u8BF4\u660E (\u53EF\u9009)\uFF1A",comment:"publish-project"},id_empty:{code:"",text:"ID \u4E0D\u80FD\u4E3A\u7A7A",comment:"\u6821\u9A8C"},name_empty:{code:"",text:"\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",comment:"\u6821\u9A8C"},games_action:{code:"",text:"\u8BF7\u9009\u62E9\u6E38\u620F\u5E16\u5B50\u64CD\u4F5C\uFF1A",comment:"games"},games_list_label:{code:"",text:"\u5217\u51FA\u6211\u7684\u6E38\u620F\u5217\u8868",comment:"games"},games_list_hint:{code:"",text:"\u6309\u9875\u62C9\u53D6\u5E73\u53F0\u6E38\u620F",comment:"games"},games_query_label:{code:"",text:"\u67E5\u8BE2\u6307\u5B9A\u6E38\u620F\u8BE6\u60C5 (--query)",comment:"games"},games_query_hint:{code:"",text:"\u6309\u6B63\u5F0F\u7248\u6E38\u620FID\u6216\u8BD5\u73A9ID\u67E5\u770B",comment:"games"},games_versions_label:{code:"",text:"\u67E5\u770B\u6E38\u620F\u5168\u90E8\u53D1\u5E03\u7248\u672C (--versions)",comment:"games"},games_versions_hint:{code:"",text:"\u67E5\u770B\u5DF2\u53D1\u5E03\u7684\u5404\u7248\u672C",comment:"games"},games_update_label:{code:"",text:"\u4FEE\u6539\u6E38\u620F\u5E16\u5B50 (update)",comment:"games"},games_update_hint:{code:"",text:"\u6539\u540D\u79F0/\u7B80\u4ECB/\u4E0A\u4E0B\u67B6/\u7248\u672C\u8BF4\u660E",comment:"games"},games_id:{code:"",text:"\u8BF7\u8F93\u5165\u6E38\u620FID\uFF08\u6B63\u5F0F\u7248\u6E38\u620FID\u6216\u8BD5\u73A9ID\uFF09\uFF1A",comment:"games"},games_name:{code:"",text:"\u8BF7\u8F93\u5165\u6E38\u620F\u540D\u79F0\uFF1A",comment:"games"},games_name_placeholder:{code:"",text:"\u6211\u7684\u6E38\u620F",comment:"games"},games_summary:{code:"",text:"\u8BF7\u8F93\u5165\u6E38\u620F\u7B80\u4ECB (\u53EF\u9009)\uFF1A",comment:"games"},games_update_id:{code:"",text:"\u8BF7\u8F93\u5165\u9700\u8981\u4FEE\u6539\u7684\u6E38\u620FID\uFF08\u6B63\u5F0F\u7248\u6E38\u620FID\u6216\u8BD5\u73A9ID\uFF0C--game-id\uFF09\uFF1A",comment:"games"},games_update_name:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u66F4\u65B0\u7684\u6E38\u620F\u540D\u79F0 (\u56DE\u8F66\u8DF3\u8FC7)\uFF1A",comment:"games"},games_update_summary:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u66F4\u65B0\u7684\u6E38\u620F\u7B80\u4ECB (\u56DE\u8F66\u8DF3\u8FC7)\uFF1A",comment:"games"},games_update_variant:{code:"",text:"\u8981\u6539\u6B63\u5F0F\u7248\u6E38\u620F\u8FD8\u662F demo\uFF1F",comment:"games update\uFF0C\u672C\u5730\u540C\u65F6\u6709\u6B63\u5F0F\u4E0E demo"},games_update_official:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09",comment:"games update"},games_update_demo:{code:"",text:"demo\u7248\u6E38\u620F\uFF08demo\uFF09",comment:"games update"},update_status:{code:"",text:"\u4E0A\u4E0B\u67B6\uFF08\u53EF\u9009\uFF0C\u4E0D\u6539\u8BF7\u56DE\u8F66\uFF09\uFF1A",comment:"update"},update_status_skip:{code:"",text:"\u4E0D\u6539\u4E0A\u4E0B\u67B6",comment:"update"},update_status_on:{code:"",text:"\u4E0A\u67B6",comment:"update"},update_status_off:{code:"",text:"\u4E0B\u67B6",comment:"update"},update_changelog:{code:"",text:"\u6539\u5DF2\u6709\u7248\u672C\u7684\u66F4\u65B0\u8BF4\u660E\uFF08\u53EF\u9009\u76F4\u63A5\u56DE\u8F66\uFF09\uFF1A",comment:"update"},update_version_id:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u6539\u8BF4\u660E\u7684\u7248\u672C ID\uFF08--version-id\uFF09\uFF1A",comment:"update"},tpls_action:{code:"",text:"\u8BF7\u9009\u62E9\u6A21\u677F\u5E16\u5B50\u64CD\u4F5C\uFF1A",comment:"templates"},tpls_list_label:{code:"",text:"\u5217\u51FA\u6211\u7684\u6A21\u677F\u5217\u8868",comment:"templates"},tpls_list_hint:{code:"",text:"\u6309\u9875\u67E5\u770B\u5E73\u53F0\u6A21\u677F",comment:"templates"},tpls_query_label:{code:"",text:"\u67E5\u8BE2\u6A21\u677F\u8BE6\u60C5 (--query)",comment:"templates"},tpls_query_hint:{code:"",text:"\u6309\u6A21\u677F ID \u67E5\u770B",comment:"templates"},tpls_versions_label:{code:"",text:"\u67E5\u770B\u6A21\u677F\u7248\u672C\u5217\u8868 (--versions)",comment:"templates"},tpls_versions_hint:{code:"",text:"\u67E5\u770B\u5DF2\u53D1\u7248\u672C",comment:"templates"},tpls_data_label:{code:"",text:"\u67E5\u770B\u6A21\u677F\u6570\u636E\u5305 (--data)",comment:"templates"},tpls_data_hint:{code:"",text:"\u67E5\u770B\u7ED1\u5B9A\u7684 assets \u5305",comment:"templates"},tpls_update_label:{code:"",text:"\u4FEE\u6539\u6A21\u677F\u540D\u79F0 (update)",comment:"templates"},tpls_update_hint:{code:"",text:"\u6539\u540D\u79F0/\u4E0A\u4E0B\u67B6/\u7248\u672C\u8BF4\u660E",comment:"templates"},tpls_id:{code:"",text:"\u8BF7\u8F93\u5165\u6A21\u677F ID\uFF1A",comment:"templates"},tpls_name:{code:"",text:"\u8BF7\u8F93\u5165\u6A21\u677F\u540D\u79F0\uFF1A",comment:"templates"},tpls_name_placeholder:{code:"",text:"\u6211\u7684\u6A21\u677F",comment:"templates"},tpls_update_id:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u4FEE\u6539\u7684\u6A21\u677F ID (--template-id)\uFF1A",comment:"templates"},tpls_update_name:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u66F4\u65B0\u7684\u6A21\u677F\u540D\u79F0 (\u56DE\u8F66\u8DF3\u8FC7)\uFF1A",comment:"templates"},projs_action:{code:"",text:"\u8BF7\u9009\u62E9\u5F00\u6E90\u5DE5\u7A0B\u5E16\u5B50\u64CD\u4F5C\uFF1A",comment:"projects"},projs_list_label:{code:"",text:"\u5217\u51FA\u5F00\u6E90\u5DE5\u7A0B\u5217\u8868",comment:"projects"},projs_list_hint:{code:"",text:"\u6309\u9875\u67E5\u770B",comment:"projects"},projs_query_label:{code:"",text:"\u67E5\u8BE2\u5F00\u6E90\u5DE5\u7A0B\u8BE6\u60C5 (--query)",comment:"projects"},projs_query_hint:{code:"",text:"\u6309\u5DE5\u7A0B ID \u67E5\u770B",comment:"projects"},projs_versions_label:{code:"",text:"\u67E5\u770B\u5DE5\u7A0B\u53D1\u5E03\u7248\u672C (--versions)",comment:"projects"},projs_versions_hint:{code:"",text:"\u67E5\u770B\u7248\u672C\u8BB0\u5F55",comment:"projects"},projs_update_label:{code:"",text:"\u4FEE\u6539\u5DE5\u7A0B\u5E16\u5B50 (update)",comment:"projects"},projs_update_hint:{code:"",text:"\u6539\u540D\u79F0/\u7B80\u4ECB/\u5C01\u9762/\u4E0A\u4E0B\u67B6/\u7248\u672C\u8BF4\u660E",comment:"projects"},projs_id:{code:"",text:"\u8BF7\u8F93\u5165\u5F00\u6E90\u5DE5\u7A0B ID\uFF1A",comment:"projects"},projs_name:{code:"",text:"\u8BF7\u8F93\u5165\u5F00\u6E90\u5DE5\u7A0B\u540D\u79F0\uFF1A",comment:"projects"},projs_update_id:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u4FEE\u6539\u7684\u5F00\u6E90\u5DE5\u7A0B ID (--project-id)\uFF1A",comment:"projects"},projs_update_name:{code:"",text:"\u8BF7\u8F93\u5165\u8981\u66F4\u65B0\u7684\u5DE5\u7A0B\u540D\u79F0 (\u56DE\u8F66\u8DF3\u8FC7)\uFF1A",comment:"projects"},login_mode:{code:"",text:"\u8BF7\u9009\u62E9\u767B\u5F55\u65B9\u5F0F\uFF1A",comment:"login"},login_skip_label:{code:"",text:"\u5DF2\u6709\u6709\u6548\u767B\u5F55\u5219\u8DF3\u8FC7",comment:"login"},login_skip_hint:{code:"",text:"\u63A8\u8350",comment:"login"},login_force_label:{code:"",text:"\u5F3A\u5236\u91CD\u65B0\u767B\u5F55\u5E76\u6253\u5F00\u6D4F\u89C8\u5668\u6388\u6743 (--force)",comment:"login"},login_force_hint:{code:"",text:"\u6362\u53F7\u6216\u5237\u65B0\u51ED\u8BC1",comment:"login"},skill_platform:{code:"",text:"\u8BF7\u9009\u62E9\u8981\u628A AI \u8BF4\u660E\u5B89\u88C5\u5230\u54EA\u4E2A\u7F16\u8F91\u5668\uFF1A",comment:"skill"},skill_platform_detected:{code:"",text:"\u68C0\u6D4B\u5230\u5F53\u524D\u4F7F\u7528\u7684\u7F16\u8F91\u5668\u662F {id}\u3002\u8BF7\u9009\u62E9\u8981\u628A AI \u8BF4\u660E\u5B89\u88C5\u5230\u54EA\u4E2A\u7F16\u8F91\u5668\uFF1A",comment:"skill\uFF0C\u5DF2\u63A2\u6D4B\u5230\u5BBF\u4E3B"},skill_current_suffix:{code:"",text:"\uFF08\u5F53\u524D\uFF09",comment:"skill \u9009\u9879\uFF1A\u63A2\u6D4B\u5230\u7684\u7F16\u8F91\u5668"},skill_all_label:{code:"",text:"\u5168\u90E8\u7F16\u8F91\u5668",comment:"skill"},skill_all_hint:{code:"",text:"--all",comment:"skill"}},kit:{validate_template_ok:{code:"",text:"\u6A21\u677F\u76EE\u5F55\u89C4\u8303\u6821\u9A8C\u901A\u8FC7\uFF01",comment:"validate-template \u6210\u529F"},validate_ok:{code:"",text:"\u5DE5\u7A0B\u6821\u9A8C\u901A\u8FC7\uFF01",comment:"validate \u6210\u529F"},validate_need_script:{code:"",text:"\u5F53\u524D\u5DE5\u7A0B\u6CA1\u6709 scripts.validate\u3002\u6A21\u677F\u89C4\u8303\u8981\u6C42\u5FC5\u987B\u63D0\u4F9B\u8FD9\u6761\u6570\u636E\u68C0\u67E5\u811A\u672C\u3002",comment:"validate \u7F3A\u811A\u672C"},validate_script_loops:{code:"",text:"scripts.validate \u4E0D\u80FD\u518D\u8C03\u7528 lumimaker validate\u3002\u8BF7\u5199\u6210\u6A21\u677F\u81EA\u5DF1\u7684\u68C0\u67E5\uFF08\u4F8B\u5982 node schema/check.mjs\uFF09\u3002npx lumimaker validate \u4F1A\u8F6C\u8C03 npm run validate\u3002",comment:"validate \u5FAA\u73AF\u8C03\u7528"},bin_missing:{code:"",text:"\u627E\u4E0D\u5230\u9002\u7528\u4E8E\u5F53\u524D\u7CFB\u7EDF\u7684 lumimaker \u539F\u751F\u4E8C\u8FDB\u5236\u3002\u8BF7\u786E\u8BA4\u5DF2\u6B63\u786E\u5B89\u88C5 @66rpg/lumimaker \u53CA\u5BF9\u5E94\u5E73\u53F0\u5305\uFF1B\u4ED3\u5E93\u5F00\u53D1\u8005\u53EF\u5728 npm/ \u8FD0\u884C make ensure-cli\u3002",comment:"\u672A\u627E\u5230\u539F\u751F CLI"},unexpected_positional:{code:"",text:"{command} \u4E0D\u63A5\u53D7\u4F4D\u7F6E\u53C2\u6570\u300C{args}\u300D\u3002\u6307\u5B9A\u6570\u636E\u5305\u76EE\u5F55\u8BF7\u7528 --assets <\u7EDD\u5BF9\u8DEF\u5F84>\uFF1B\u663E\u5F0F\u5E26\u5305\u8BF7\u7528\u5F00\u5173 --with-assets\u3002",comment:"publish-template \u8BEF\u628A\u8DEF\u5F84\u5199\u5728 --with-assets \u540E\u9762"},run_failed:{code:"",text:"\u6267\u884C\u5931\u8D25: {e}",comment:"spawn inherit \u5931\u8D25"},cli_failed:{code:"",text:"\u8C03\u7528 CLI \u5931\u8D25: {e}",comment:"spawn json \u5931\u8D25"},internal_command:{code:"",text:"\u8FD9\u4E2A\u547D\u4EE4\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F7F\u7528\u3002\u53D1\u7248\u8BF7\u7528 publish / publish-template / publish-project\uFF1B\u521D\u59CB\u5316\u5DE5\u7A0B\u8BF7\u7528 lumimaker-create\uFF1B\u6539\u5E16\u8BF7\u5230\u7F51\u9875\u3002",comment:"\u7528\u6237\u4FA7\u8C03\u7528 games/templates/projects/init"},sys_denied:{code:"",text:"\u6CA1\u6709\u6743\u9650\uFF0C\u6216\u6587\u4EF6\u88AB\u5360\u7528",comment:"EPERM / EACCES\uFF0C\u4E0D\u6253\u5370\u7CFB\u7EDF\u8DEF\u5F84"},sys_missing:{code:"",text:"\u8DEF\u5F84\u4E0D\u5B58\u5728",comment:"ENOENT"},sys_busy:{code:"",text:"\u76EE\u5F55\u975E\u7A7A\u6216\u6587\u4EF6\u6B63\u5728\u4F7F\u7528",comment:"EBUSY / ENOTEMPTY"},sys_type:{code:"",text:"\u8DEF\u5F84\u7C7B\u578B\u4E0D\u6B63\u786E",comment:"ENOTDIR / EISDIR"},sys_invalid:{code:"",text:"\u8DEF\u5F84\u65E0\u6548",comment:"EINVAL"},sys_too_many:{code:"",text:"\u6253\u5F00\u7684\u6587\u4EF6\u8FC7\u591A",comment:"EMFILE / ENFILE"},sys_unknown:{code:"",text:"\u7CFB\u7EDF\u62D2\u7EDD\u4E86\u8FD9\u6B21\u64CD\u4F5C",comment:"\u5176\u5B83\u7CFB\u7EDF\u9519\u8BEF\uFF0C\u4E0D\u6253\u5370 Error.message \u4EE5\u514D\u4E71\u7801"},op_failed:{code:"",text:"\u64CD\u4F5C\u5931\u8D25",comment:"\u4FE1\u5C01\u65E0 error \u65F6\u7684\u515C\u5E95"},need_input:{code:"11",text:"\u8FD8\u7F3A\u9700\u8981\u5411\u7528\u6237\u786E\u8BA4\u7684\u5185\u5BB9\u3002\u8BF7\u7528\u53E3\u8BED\u95EE\u7528\u6237\uFF0C\u628A\u7B54\u6848\u5199\u6210\u547D\u4EE4\u65D7\u6807\uFF08\u6216\u5199\u5165\u4FE1\u5C01\u6807\u660E\u7684\u6587\u4EF6\u5B57\u6BB5\uFF09\u540E\u518D\u91CD\u8DD1\u3002",comment:"Agent \u9000\u51FA\u7801 11"},login_required_agent:{code:"12",text:"\u5F53\u524D\u672A\u767B\u5F55\u5E73\u53F0\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u662F\u5426\u73B0\u5728\u6253\u5F00\u6D4F\u89C8\u5668\u767B\u5F55\uFF1B\u540C\u610F\u540E\u6267\u884C npx lumimaker login\uFF0C\u5B8C\u6210\u540E\u518D\u91CD\u8DD1\u539F\u547D\u4EE4\u3002",comment:"Agent \u9000\u51FA\u7801 12"},update_available:{code:"10",text:"\u68C0\u6D4B\u5230 lumimaker \u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u662F\u5426\u73B0\u5728\u66F4\u65B0\u3002",comment:"Agent \u9000\u51FA\u7801 10"},update_ask:{code:"",text:"\u68C0\u6D4B\u5230\u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\uFF0C\u662F\u5426\u73B0\u5728\u66F4\u65B0\uFF1F",comment:"TTY \u66F4\u65B0\u786E\u8BA4"},update_not_project:{code:"",text:"\u5F53\u524D\u76EE\u5F55\u4E0D\u662F npm \u5DE5\u7A0B\uFF0C\u5DF2\u8DF3\u8FC7\u66F4\u65B0\u3002",comment:"cwd \u65E0 package.json"},update_installing:{code:"",text:"\u6B63\u5728\u628A lumimaker \u76F8\u5173\u5305\u66F4\u65B0\u5230\u6700\u65B0\u2026",comment:"npm install \u524D"},update_failed:{code:"",text:"\u66F4\u65B0\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\uFF0C\u7EE7\u7EED\u6267\u884C\u539F\u547D\u4EE4\u3002",comment:"npm install \u5931\u8D25"},update_done:{code:"",text:"\u5DF2\u66F4\u65B0\u3002\u5F53\u524D\u8FDB\u7A0B\u4ECD\u662F\u65E7\u4EE3\u7801\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C\u521A\u624D\u7684\u547D\u4EE4\u3002",comment:"\u66F4\u65B0\u6210\u529F\u540E\u9000\u51FA"},table_empty:{code:"",text:" (\u65E0\u6570\u636E)",comment:"\u7A7A\u8868\u9ED8\u8BA4\u6587\u6848"},validate_ok_line:{code:"",text:"\u6A21\u677F\u76EE\u5F55\u89C4\u8303\u6821\u9A8C\u901A\u8FC7",comment:"validate-template \u539F\u59CB\u6210\u529F\u884C\uFF08\u5DF2\u4E0D\u518D\u5355\u72EC\u6253\u5370\uFF09"},validate_data_ok_line:{code:"",text:"\u5DE5\u7A0B\u6821\u9A8C\u901A\u8FC7",comment:"validate \u539F\u59CB\u6210\u529F\u884C"},issue_line:{code:"",text:"{path}: {message}",comment:"\u6821\u9A8C\u5931\u8D25\u4E00\u884C\uFF1B\u82F1\u6587\u9519\u8BEF\u7801\u53EA\u7559\u5728\u5185\u90E8\u5BF9\u8C61\uFF0C\u4E0D\u4E0A\u5C4F"}},fmt:{label_status:{code:"",text:"\u72B6\u6001",comment:"whoami \u5361\u7247"},label_hint:{code:"",text:"\u5EFA\u8BAE",comment:"whoami \u5361\u7247"},label_action:{code:"",text:"\u64CD\u4F5C",comment:"whoami \u5361\u7247"},version_no:{code:"",text:"\u7B2C {n} \u7248",comment:"\u7248\u672C\u5E8F\u53F7"},data_ver:{code:"",text:"\u7B2C {ver} \u7248\uFF08\u6570\u636E\u5305 ID {id}\uFF09",comment:"\u6570\u636E\u5305\u7248\u672C"},post_id:{code:"",text:"{id}",comment:"\u793E\u533A\u5E16"},vip:{code:"",text:"VIP {n}",comment:"\u4F1A\u5458\u7B49\u7EA7"},type_template:{code:"",text:"\u6A21\u677F",comment:"\u5E16\u5B50\u7C7B\u578B"},type_game:{code:"",text:"\u6E38\u620F",comment:"\u5E16\u5B50\u7C7B\u578B"},type_project:{code:"",text:"\u5F00\u6E90\u5DE5\u7A0B",comment:"\u5E16\u5B50\u7C7B\u578B"},shelf_id:{code:"",text:"{type} ID",comment:"\u5E16\u5B50\u5361\u7247"},shelf_name:{code:"",text:"{type}\u540D\u79F0",comment:"\u5E16\u5B50\u5361\u7247"},label_shelf:{code:"",text:"\u4E0A\u4E0B\u67B6",comment:"shelf_status \u4E0A\u67B6/\u4E0B\u67B6\uFF0C\u4E0D\u8981\u548C\u793E\u533A\u5E16 post_url \u6DF7\u6807\u6210\u5E16\u5B50"},val_shelf_on:{code:"",text:"\u4E0A\u67B6",comment:"shelf_status=1"},val_shelf_off:{code:"",text:"\u4E0B\u67B6",comment:"shelf_status=2"},label_changelog:{code:"",text:"\u66F4\u65B0\u8BF4\u660E",comment:"\u5E16\u5B50\u5361\u7247"},label_demo_scope:{code:"",text:"\u8BD5\u73A9\u8303\u56F4",comment:"\u6E38\u620F\u8BE6\u60C5"},label_play_duration:{code:"",text:"\u9884\u8BA1\u65F6\u957F",comment:"\u6E38\u620F\u8BE6\u60C5"},label_post_id:{code:"",text:"\u5173\u8054\u5E16",comment:"\u8BE6\u60C5 query \u7684 post_id\uFF08\u6A21\u677F / \u5F00\u6E90\u5DE5\u7A0B\uFF09"},label_work_post_id:{code:"",text:"\u4F5C\u54C1\u5E16\u5B50ID",comment:"\u6E38\u620F\u8BE6\u60C5 / \u53D1\u6E38\u620F\u6210\u529F\u7684\u5E16\u5B50 id"},label_template_id:{code:"",text:"\u6A21\u677F ID",comment:"\u6A21\u677F\u8BE6\u60C5 id"},label_project_id:{code:"",text:"\u5DE5\u7A0B ID",comment:"\u5F00\u6E90\u5DE5\u7A0B\u8BE6\u60C5 id"},label_game_official_id:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620FID",comment:"\u6E38\u620F\u8BE6\u60C5 id"},label_game_demo_id:{code:"",text:"\u8BD5\u73A9ID",comment:"demo \u6E38\u620F\u8BE6\u60C5 id"},label_post_status:{code:"",text:"\u5173\u8054\u5E16\u72B6\u6001",comment:"\u8BE6\u60C5 query \u7684 post_status"},label_name:{code:"",text:"\u540D\u79F0",comment:"query \u5361\u7247"},label_type:{code:"",text:"\u7C7B\u578B",comment:"query \u5361\u7247\uFF1A\u6B63\u5F0F\u7248\u6E38\u620F/demo"},label_parent:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620FID",comment:"query \u5361\u7247"},label_summary:{code:"",text:"\u7B80\u4ECB",comment:"query \u5361\u7247"},label_version:{code:"",text:"\u7248\u672C",comment:"query \u5361\u7247"},val_official:{code:"",text:"\u6B63\u5F0F\u7248\u6E38\u620F\uFF08\u4F5C\u54C1\uFF09",comment:"query \u7C7B\u578B"},val_demo:{code:"",text:"demo\u7248\u6E38\u620F\uFF08demo\uFF09",comment:"query \u7C7B\u578B"},val_unknown:{code:"",text:"\u672A\u77E5",comment:"\u672A\u77E5\u679A\u4E3E\u7ED9\u4EBA\u770B\u7684\u5360\u4F4D"},logout_done:{code:"",text:"\u5DF2\u9000\u51FA\u767B\u5F55",comment:"logout \u6210\u529F\u77ED\u53E5"},post_url_line:{code:"",text:"\u5E16\u5B50\uFF1A{url}",comment:"\u53D1\u7248\u6210\u529F\u540E\u72EC\u7ACB\u6253\u5370\u7684\u5DF2\u516C\u5F00\u5E16\u94FE\u63A5\uFF0C\u907F\u514D\u5361\u7247\u6298\u884C"},post_url_draft_line:{code:"",text:"\u5E16\u5B50\uFF08\u8349\u7A3F\uFF0C\u786E\u8BA4\u540E\u624D\u4F1A\u516C\u5F00\uFF09\uFF1A{url}",comment:"\u53D1\u7248\u6210\u529F\u540E\u72EC\u7ACB\u6253\u5370\u7684\u8349\u7A3F\u5E16\u94FE\u63A5"},create_pull_line:{code:"",text:"\u4ED6\u4EBA\u62C9\u53D6\uFF1A{cmd}",comment:"\u53D1\u7248\u6210\u529F\u540E\u72EC\u7ACB\u6253\u5370\u7684 create \u547D\u4EE4\uFF0C\u987B\u7528 \u7528\u6237\u540D/slug"},list_sep:{code:"",text:"\u3001",comment:"\u5217\u8868\u9879\u5206\u9694"}},validate:{forbidden_scripts_dir:{code:"FORBIDDEN_SCRIPTS_DIR",text:"\u6A21\u677F\u6839\u76EE\u5F55\u4E0D\u8981\u653E scripts/ \u6587\u4EF6\u5939\uFF08\u548C npm scripts\u3001skill/scripts \u649E\u8F66\uFF09",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_out_dir:{code:"FORBIDDEN_OUT_DIR",text:"\u4EA7\u7269\u76EE\u5F55\u53EA\u80FD\u53EB dist/\uFF0C\u4E0D\u8981\u7528 {dir}/",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_content_root:{code:"FORBIDDEN_CONTENT_ROOT",text:"\u5185\u5BB9\u653E assets/{dir}/\uFF0C\u4E0D\u8981\u5728\u6839\u76EE\u5F55\u653E {dir}/",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_template_yaml:{code:"FORBIDDEN_TEMPLATE_YAML",text:"\u4E0D\u8981 template.yaml\uFF1Bslug \u5199\u5728 package.json",comment:"\u89C4\u8303\u95E8\u7981"},missing_dir:{code:"MISSING_DIR",text:"\u7F3A\u5C11\u5FC5\u6709\u76EE\u5F55 {dir}/",comment:"\u89C4\u8303\u95E8\u7981"},empty_assets:{code:"EMPTY_ASSETS",text:"assets/ \u91CC\u81F3\u5C11\u8981\u6709\u4E00\u4E2A\u6587\u4EF6\uFF08\u53EF\u4EE5\u653E\u5728\u5B50\u76EE\u5F55\u4E2D\uFF09",comment:"\u89C4\u8303\u95E8\u7981"},assets_not_dir:{code:"ASSETS_NOT_DIR",text:"assets \u5982\u679C\u5B58\u5728\uFF0C\u5FC5\u987B\u662F\u76EE\u5F55\u3002\u53EF\u4EE5\u4E0D\u521B\u5EFA\uFF0C\u4E5F\u53EF\u4EE5\u662F\u7A7A\u76EE\u5F55",comment:"\u89C4\u8303\u95E8\u7981"},missing_file:{code:"MISSING_FILE",text:"\u7F3A\u5C11\u5FC5\u6709\u6587\u4EF6 {file}",comment:"\u89C4\u8303\u95E8\u7981"},logic_export:{code:"LOGIC_EXPORT",text:"schema/logic.mjs \u5FC5\u987B default export async function validate(data, rootDir)",comment:"\u89C4\u8303\u95E8\u7981"},invalid_json:{code:"INVALID_JSON",text:"package.json \u4E0D\u662F\u5408\u6CD5 JSON",comment:"\u89C4\u8303\u95E8\u7981"},package_not_object:{code:"PACKAGE_NOT_OBJECT",text:"package.json \u5FC5\u987B\u662F JSON \u5BF9\u8C61",comment:"\u89C4\u8303\u95E8\u7981"},missing_name:{code:"MISSING_NAME",text:"package.json \u5FC5\u987B\u6709\u5E73\u53F0\u5C55\u793A\u540D name\uFF0C\u53BB\u6389\u9996\u5C3E\u7A7A\u767D\u540E\u4E0D\u80FD\u4E3A\u7A7A",comment:"\u89C4\u8303\u95E8\u7981"},invalid_name:{code:"INVALID_NAME",text:"name \u4E0D\u80FD\u5305\u542B / \u6216 @",comment:"\u89C4\u8303\u95E8\u7981"},missing_version:{code:"MISSING_VERSION",text:"package.json \u5FC5\u987B\u6709\u6A21\u677F\u7248\u672C\u53F7 version\uFF08\u5982 0.1.0\u30011.0.0-a\uFF09",comment:"\u89C4\u8303\u95E8\u7981"},invalid_description:{code:"INVALID_DESCRIPTION",text:"description \u53EF\u4EE5\u4E0D\u5199\uFF1B\u5982\u679C\u5199\u4E86\uFF0C\u5FC5\u987B\u662F\u5B57\u7B26\u4E32\uFF0C\u53EF\u4EE5\u4E3A\u7A7A\u5B57\u7B26\u4E32",comment:"\u89C4\u8303\u95E8\u7981"},scripts_type:{code:"SCRIPTS_TYPE",text:"package.json \u7684 scripts \u5FC5\u987B\u662F\u5BF9\u8C61\uFF0C\u5E76\u5305\u542B dev\u3001dev:demo\u3001build\u3001build:demo\u3001validate",comment:"\u89C4\u8303\u95E8\u7981"},build_failed:{code:"BUILD_FAILED",text:"npm run {name} \u6CA1\u6709\u6210\u529F\u3002\u8FD9\u4E2A\u811A\u672C\u5FC5\u987B\u5728\u5DE5\u7A0B\u6839\u76EE\u5F55\u751F\u6210 dist/index.html",comment:"\u89C4\u8303\u95E8\u7981"},missing_build_index:{code:"MISSING_BUILD_INDEX",text:"npm run {name} \u7ED3\u675F\u540E\u6CA1\u6709 dist/index.html\u3002\u6784\u5EFA\u7ED3\u679C\u5FC5\u987B\u5199\u5230 dist/\uFF0C\u5E76\u4E14\u5305\u542B\u5165\u53E3 index.html",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_template_id:{code:"FORBIDDEN_TEMPLATE_ID",text:"package.json \u4E0D\u8981\u624B\u5199\u6A21\u677F ID\uFF0C\u8EAB\u4EFD\u7531\u5E73\u53F0\u7B7E\u53D1\u7684 origin.json \u4FDD\u5B58",comment:"\u89C4\u8303\u95E8\u7981"},missing_slug:{code:"MISSING_SLUG",text:"package.json \u5FC5\u987B\u6709\u82F1\u6587\u77ED\u540D slug\uFF08\u5B89\u88C5\u8DEF\u5F84\u540E\u534A\u6BB5\uFF0C\u4E0D\u662F name\uFF09",comment:"\u89C4\u8303\u95E8\u7981"},invalid_slug:{code:"INVALID_SLUG",text:"\u82F1\u6587\u77ED\u540D slug \u987B\u5339\u914D ^[a-z0-9][a-z0-9-]{0,62}$",comment:"\u89C4\u8303\u95E8\u7981"},invalid_version:{code:"INVALID_VERSION",text:"\u6A21\u677F package.json \u7684 version \u683C\u5F0F\u65E0\u6548\uFF1A\u987B 1\u201316 \u4F4D\uFF0C\u4EC5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001`.`\u3001`-`\uFF1B\u5FC5\u987B\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934\u548C\u7ED3\u5C3E\uFF0C\u4E14\u4E0D\u80FD\u6709\u8FDE\u7EED\u7B26\u53F7\u3002\u793A\u4F8B\uFF1A0.1.0\u30011.0.0-a",comment:"\u89C4\u8303\u95E8\u7981"},missing_data_ver:{code:"MISSING_DATA_VER",text:'package.json \u5FC5\u987B\u6709\u6570\u636E\u5305\u7248\u672C\u53F7\uFF08\u5982 "1"\uFF09',comment:"\u89C4\u8303\u95E8\u7981"},invalid_data_ver:{code:"INVALID_DATA_VER",text:"data_ver \u5FC5\u987B\u662F\u53BB\u6389\u9996\u5C3E\u7A7A\u767D\u540E\u4E0D\u4E3A\u7A7A\u7684\u5B57\u7B26\u4E32\uFF0C\u6216\u4E00\u4E2A\u6709\u9650\u6570\u5B57",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_bin:{code:"FORBIDDEN_BIN",text:"\u6A21\u677F\u5DE5\u7A0B\u4E0D\u8981\u8BBE\u7F6E bin\uFF0C\u907F\u514D\u4F5C\u8005\u8BEF npx \u5230\u6A21\u677F",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_package_manager:{code:"FORBIDDEN_PACKAGE_MANAGER",text:"\u4E0D\u8981\u5199 packageManager\uFF08\u4F5C\u8005\u73AF\u5883\u53EA\u7528 Node \u81EA\u5E26\u7684 npm\uFF09",comment:"\u89C4\u8303\u95E8\u7981"},missing_script:{code:"MISSING_SCRIPT",text:"package.json \u7F3A\u5C11 scripts.{name}",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_script:{code:"FORBIDDEN_SCRIPT",text:"\u4E0D\u8981\u628A\u811A\u672C\u547D\u540D\u4E3A {name}\uFF08\u4F1A\u548C npm {name} \u649E\u8F66\uFF09\u3002\u8BF7\u7528 npx lumimaker {name}",comment:"\u89C4\u8303\u95E8\u7981"},forbidden_validate_demo:{code:"FORBIDDEN_SCRIPT",text:"\u4E0D\u8981 scripts.validate:demo\u3002\u5F00\u53D1\u670D\u52A1\u548C\u6253\u5305\u624D\u5206\u6B63\u5F0F/\u8BD5\u73A9\uFF1B\u6570\u636E\u6821\u9A8C\u53EA\u6709 scripts.validate\uFF0C\u6709\u72EC\u7ACB\u8BD5\u73A9\u6570\u636E\u65F6\u540C\u4E00\u6761\u547D\u4EE4\u68C0\u67E5\u4E24\u4EFD",comment:"\u89C4\u8303\u95E8\u7981"},missing_gitignore:{code:"MISSING_GITIGNORE",text:"\u7F3A\u5C11 .gitignore\uFF0C\u4E14\u5FC5\u987B\u5FFD\u7565 dist/ \u4E0E node_modules/",comment:"\u89C4\u8303\u95E8\u7981"},gitignore_dist:{code:"GITIGNORE_DIST",text:".gitignore \u5FC5\u987B\u5FFD\u7565 dist/",comment:"\u89C4\u8303\u95E8\u7981"},gitignore_node_modules:{code:"GITIGNORE_NODE_MODULES",text:".gitignore \u5FC5\u987B\u5FFD\u7565 node_modules/",comment:"\u89C4\u8303\u95E8\u7981"},absolute_asset_path:{code:"ABSOLUTE_ASSET_PATH",text:"{rel} \u5FC5\u987B\u7528\u76F8\u5BF9\u8DEF\u5F84\uFF08Vite \u8BBE base: './'\uFF09\uFF0C\u624D\u80FD\u653E\u5230\u4EFB\u610F\u9759\u6001\u6258\u7BA1\u5B50\u76EE\u5F55",comment:"dist \u68C0\u67E5"},missing_dist:{code:"MISSING_DIST",text:"\u7F3A\u5C11 {entry}\u3002\u8BF7\u5148 npm run build\uFF0C\u4E14 outDir \u5FC5\u987B\u662F dist",comment:"dist \u68C0\u67E5"},missing_game_html:{code:"MISSING_GAME_HTML",text:"dist/ \u81F3\u5C11\u8981\u6709 1 \u4E2A\u6E38\u620F\u9875 index.{lang}.{h|v}.html\uFF08\u5982 index.zh.h.html\uFF09\u3002\u5355\u9875\u6A21\u677F\u53EF\u5728 build \u540E\u628A index.html \u62F7\u4E00\u4EFD\u4F5C fallback",comment:"dist \u68C0\u67E5"},dist_html_name:{code:"DIST_HTML_NAME",text:"\u4EA7\u7269 HTML \u547D\u540D\u4E0D\u7B26\u5408\u7EA6\u5B9A\u3002\u6E38\u620F\u9875\u7528 index.{lang}.{h|v}.html\uFF0C\u65B9\u5411\u9996\u9875\u7528 index.h.html / index.v.html\uFF0C\u53E6\u5141\u8BB8 start.html\u3001404.html\u3001privacy.html\u3001offline.html",comment:"dist \u68C0\u67E5"},invalid_asset:{code:"INVALID_ASSET",text:"\u6570\u636E\u5305\u8DEF\u5F84\u4E0D\u5408\u6CD5: {rel}",comment:"\u6570\u636E\u6821\u9A8C"},missing_asset:{code:"MISSING_ASSET",text:"\u6570\u636E\u5305\u6587\u4EF6\u4E0D\u5B58\u5728: assets/{posix}",comment:"\u6570\u636E\u6821\u9A8C"},asset_case:{code:"ASSET_CASE",text:"\u6570\u636E\u5305\u8DEF\u5F84\u5927\u5C0F\u5199\u4E0D\u4E00\u81F4: JSON \u5199 assets/{posix}\uFF0C\u78C1\u76D8\u4E0A\u662F assets/{actual}\uFF08Linux \u6258\u7BA1\u4F1A\u627E\u4E0D\u5230\uFF09",comment:"\u6570\u636E\u6821\u9A8C"},schema_failed:{code:"SCHEMA",text:"schema \u6821\u9A8C\u5931\u8D25",comment:"\u6570\u636E\u6821\u9A8C\u515C\u5E95"},schema_detail:{code:"SCHEMA",text:"{path} {message}",comment:"Ajv \u9519\u8BEF"},theme_schema_failed:{code:"THEME_SCHEMA",text:"theme schema \u6821\u9A8C\u5931\u8D25",comment:"\u6570\u636E\u6821\u9A8C\u515C\u5E95"}}};function O(){let e={...S,...D};return delete e._comment,e}var E=O();function w(e,t){if(!t)return e;let m=e;for(let[o,s]of Object.entries(t))m=m.split(`{${o}}`).join(String(s));return m}function a(e,t,m){let o=E[e]?.[t];if(!o?.text)throw new Error(`missing cli message ${String(e)}.${t}`);return w(o.text,m)}function A(e,t,m){let o=E.validate[t];if(!o)throw new Error(`missing validate message ${t}`);return{path:e,code:o.code,message:w(o.text,m)}}var q=G(import.meta.url),R=q("ajv"),V=R.default??R,$="assets",v="assets/data/game.json",M="schema/logic.mjs",H="schema/game.schema.json",I="assets/theme",T="LUMIMAKER_VALIDATE_DISPATCH",k=class extends Error{exitCode;constructor(t){super("validate_script_failed"),this.name="ValidateScriptFailed",this.exitCode=t}};function B(e){let t=e.trim().replace(/\s+/g," ");return/^(npx\s+)?(@66rpg\/lumimaker|lumimaker)\s+validate(\s|$)/i.test(t)}function J(e){let t=_.join(e,"package.json");if(l.existsSync(t))try{let o=JSON.parse(l.readFileSync(t,"utf8")).scripts?.validate;return typeof o!="string"||!o.trim()?void 0:o}catch{return}}function U(e){if(process.env[T]==="1")throw new Error(a("kit","validate_script_loops"));let t=J(e);if(!t)throw new Error(a("kit","validate_need_script"));if(B(t))throw new Error(a("kit","validate_script_loops"))}function Y(){return process.platform==="win32"?"npm.cmd":"npm"}function z(e){let t=process.platform==="win32";return new Promise((m,o)=>{let s=P(Y(),["run","validate"],{cwd:e,stdio:"inherit",env:{...process.env,[T]:"1"},shell:t,windowsHide:t});s.on("error",o),s.on("close",d=>m(d??1))})}var K=/\.(png|jpe?g|gif|svg|webp|avif|mp3|wav|ogg|m4a|mp4|webm|woff2?|ttf|otf)$/i;function g(e){return JSON.parse(l.readFileSync(e,"utf8"))}function j(e){return e.replace(/\\/g,"/").replace(/^\//,"")}function Q(e){let t=j(e);return!!(!t||t.includes("\0")||t.split("/").includes("..")||_.isAbsolute(t)||_.win32.isAbsolute(t))}function X(e,t){let m=j(t);if(Q(m))return{ok:!1,code:"INVALID_ASSET",message:a("validate","invalid_asset",{rel:t})};let o=m.split("/").filter(Boolean),s=e;for(let d=0;d<o.length;d++){let x=o[d],u;try{u=l.readdirSync(s)}catch{return{ok:!1,code:"MISSING_ASSET",message:a("validate","missing_asset",{posix:m})}}if(u.includes(x)){s=_.join(s,x);continue}let r=u.find(p=>p.toLowerCase()===x.toLowerCase());if(r){let p=[...o.slice(0,d),r].join("/");return{ok:!1,code:"ASSET_CASE",message:a("validate","asset_case",{posix:m,actual:p})}}return{ok:!1,code:"MISSING_ASSET",message:a("validate","missing_asset",{posix:m})}}return{ok:!0}}function b(e,t,m=""){if(typeof e=="string"){let o=e.trim();(K.test(o)||/^(images|audio|fonts|video)\//.test(o))&&t.push({pointer:m||"/",rel:o});return}if(Array.isArray(e)){e.forEach((o,s)=>b(o,t,`${m}/${s}`));return}if(e&&typeof e=="object")for(let[o,s]of Object.entries(e))b(s,t,`${m}/${o}`)}async function W(e){let t=[],m=_.join(e,v),o=_.join(e,H),s=_.join(e,M),d=l.existsSync(m),x=l.existsSync(o),u=l.existsSync(s),r,p=new V({allErrors:!0,strict:!1});if(d&&(r=g(m),x)){let n=g(o),c=p.compile(n);if(!c(r))for(let i of c.errors??[])t.push({path:`/${v}${i.instancePath||""}`,code:"SCHEMA",message:i.message?a("validate","schema_detail",{path:i.instancePath||"/",message:i.message}):a("validate","schema_failed")})}let y=_.join(e,"schema/theme.schema.json"),h=_.join(e,I,"layout.json");if(l.existsSync(y)&&l.existsSync(h)){let n=p.compile(g(y)),c=g(h);if(!n(c))for(let i of n.errors??[])t.push({path:`/${I}/layout.json${i.instancePath||""}`,code:"THEME_SCHEMA",message:i.message??a("validate","theme_schema_failed")})}let f=[];if(d){let n=[];b(r,n);for(let c of n)f.push({file:`/${v}`,...c})}if(l.existsSync(h)){let n=[];b(g(h),n);for(let c of n)f.push({file:`/${I}/layout.json`,...c})}let N=_.join(e,$);for(let n of f){let c=j(n.rel),i=X(N,c);i.ok||t.push({path:`${n.file}${n.pointer}`,code:i.code,message:i.message})}if(u&&d){let n=await import(F(s).href);if(typeof n.default!="function")t.push(A(`/${M}`,"logic_export"));else{let c=await n.default(r,e);c&&c.ok===!1?t.push(...c.errors??[]):c&&Array.isArray(c.errors)&&c.errors.length&&t.push(...c.errors)}}return{ok:t.length===0,errors:t}}async function le(e){let{ok:t,errors:m}=await W(e);if(t){console.log(a("kit","validate_ok"));return}for(let o of m)console.error(a("kit","issue_line",{path:o.path,message:o.message}));process.exit(1)}async function _e(e){U(e);let t=await z(e);if(t!==0)throw new k(t)}export{T as VALIDATE_DISPATCH_ENV,k as ValidateScriptFailed,U as assertCanDispatchValidate,B as looksLikeCliValidateScript,J as readValidateScript,W as runValidate,_e as validate,le as validateWithKit};
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@66rpg/lumimaker",
|
|
3
|
+
"version": "0.1.31",
|
|
4
|
+
"description": "幻光 lumimaker 平台工具:validate-template(TS);login / publish 等转发 lumimaker",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"lumimaker": "./bin/lumimaker.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"bin",
|
|
12
|
+
"skill",
|
|
13
|
+
"skill-targets.json",
|
|
14
|
+
"share/*.mjs",
|
|
15
|
+
"share/internal-registry.md"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc --noEmit -p tsconfig.json && node ../../scripts/bundle.mjs",
|
|
19
|
+
"test": "node --import tsx --test \"src/**/*.test.ts\"",
|
|
20
|
+
"prepack": "node ../../scripts/minify-share.mjs inject",
|
|
21
|
+
"postpack": "node ../../scripts/minify-share.mjs restore",
|
|
22
|
+
"prepublishOnly": "npm run build && node ../../scripts/check-versions.mjs"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=20"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@clack/prompts": "^1.8.0",
|
|
32
|
+
"ajv": "^8.17.1",
|
|
33
|
+
"picocolors": "^1.1.1"
|
|
34
|
+
},
|
|
35
|
+
"optionalDependencies": {
|
|
36
|
+
"@66rpg/lumimaker-win32-x64": "0.1.31"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/node": "^22.15.0",
|
|
40
|
+
"typescript": "^5.8.3"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"node:fs";import t from"node:path";function s(){return process.platform==="win32"?"lumimaker.exe":"lumimaker"}function a(){const r=process.platform,n=process.arch;return r==="darwin"&&n==="arm64"?["aarch64-apple-darwin"]:r==="darwin"&&n==="x64"?["x86_64-apple-darwin"]:r==="win32"&&n==="x64"?["x86_64-pc-windows-gnu","x86_64-pc-windows-msvc"]:r==="linux"&&n==="x64"?["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl"]:r==="linux"&&n==="arm64"?["aarch64-unknown-linux-gnu","aarch64-unknown-linux-musl"]:[]}function f(r){const n=s(),o=[];for(const i of["release","debug"]){for(const u of a())o.push(t.join(r,u,i,n));o.push(t.join(r,i,n))}return o}function x(r){for(const n of r)if(n){for(const o of f(n))if(e.existsSync(o))return o}return null}export{s as exeName,x as firstExistingRustBin,a as hostTriples,f as rustBinCandidates};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{pathToFileURL as t}from"node:url";import o from"node:path";import{fileURLToPath as r}from"node:url";const i=process.argv[2]?o.resolve(process.argv[2]):process.cwd(),e=o.resolve(o.dirname(r(import.meta.url)),".."),a=await import(t(o.join(e,"dist/validate.js")).href);await a.validateWithKit(i);
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lumimaker
|
|
3
|
+
description: 幻光平台 CLI 命令操作与发布指引。用户询问如何登录、发布游戏作品、发布试玩(demo)、发布模板或开源工程,或执行 lumimaker 相关命令行操作时使用。严禁使用 npm login 或 npm publish。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lumimaker CLI 命令操作指引
|
|
7
|
+
|
|
8
|
+
本技能用于指导 Agent 正确执行 `lumimaker` 命令行工具,完成平台账号登录、游戏作品发布、模板与数据包发布以及开源工程发布等操作。
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 协作分工与边界
|
|
13
|
+
|
|
14
|
+
为遵循单一可信源(SSOT)原则,各项职责明确划分如下:
|
|
15
|
+
|
|
16
|
+
- **CLI 命令操作与交互规范**:由本技能(`lumimaker`)说明。
|
|
17
|
+
- **模板工程规范协议**:查阅 `lumimaker-template-spec`(校验工程目录、`package.json` 字段与脚本、构建产物)。
|
|
18
|
+
- **游戏宿主 SDK 接入**:查阅 `lumimaker-play-sdk`(在游戏代码中通过 `window.CgMakerSdk` 调用平台功能)。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Agent 核心交互规范
|
|
23
|
+
|
|
24
|
+
### 1. 坚持使用通俗大白话与用户沟通
|
|
25
|
+
- 除非用户主动使用专业命令行术语,否则**不要向用户抛出底层技术黑话或内部字段名**(如 `qualified_name`、`revision_id`、`post_url` 等)。
|
|
26
|
+
- CLI 返回需要用户确认或选择的内容时,将其转化为清晰易懂的日常口语进行询问。
|
|
27
|
+
|
|
28
|
+
### 2. 禁止给命令加输出格式开关
|
|
29
|
+
- **切勿为任何命令擅自追加 `--json` 或 `--format` 等输出格式开关**。
|
|
30
|
+
- 正常执行成功时,终端输出均为给人阅读的中文卡片或中文文本,直接将其中的关键信息提取告知用户。
|
|
31
|
+
- **只有在退出码为 10 / 11 / 12 时**,stdout 才是供 Agent 解析处理的 JSON 信封。
|
|
32
|
+
|
|
33
|
+
### 3. 交互退出码处理机制
|
|
34
|
+
|
|
35
|
+
当命令未直接执行成功并返回特定退出码时,严格按照下表流程处理,**严禁擅自做主或盲目猜测**:
|
|
36
|
+
|
|
37
|
+
| 退出码 | 状态说明 | Agent 处置规范 |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| **10** | 检测到工具更新 (`update-available`) | 必须先询问用户,**禁止擅自 `--skip-update`**。列出推荐更新并口语询问:“检测到 lumimaker 有新版本,是否现在更新?”<br>• 用户同意:执行信封提供的更新命令(如 `npx lumimaker --apply-update`),成功后再原样重跑原命令。<br>• 用户拒绝:原命令追加 `--skip-update` 参数后重跑。 |
|
|
40
|
+
| **11** | 缺少输入或待确认 (`need-input`) | 解析信封中的 `questions` 列表,用通俗口语逐一询问用户:<br>• **带有 `field` 属性**:将用户回答写回指定文件(如缺少 `version` / `data_ver` 时写入 `package.json` 对应字段),**写完后原样重跑命令**,不要擅自把 `--version` 等写进命令行。<br>• **带有 `flag` 属性**:将用户答案转化为对应命令行参数后重跑(例如现有 `package.json.name` 是 npm 包名时,信封会提供 `flag: --name`,此时不要覆盖该字段,转为 `--name` 参数重跑)。<br>• **待确认项**:见下方确认机制,严禁擅自加 `--yes`。 |
|
|
41
|
+
| **12** | 未登录或凭据失效 (`login-required`) | 口语询问用户:“当前操作需要登录平台,是否现在打开浏览器登录?”<br>用户同意后执行 `npx lumimaker login`,等待用户在浏览器中完成登录后再重跑原命令。 |
|
|
42
|
+
|
|
43
|
+
### 4. 正确理解发布结果与状态
|
|
44
|
+
- **命令退出 0 仅代表本次提交操作完成**,绝对不等于游戏或模板已经正式上线对外可见。
|
|
45
|
+
- **发布状态以终端输出的中文标题为准**:
|
|
46
|
+
- 「发版成功」:表示该版本已通过审核并发布生效。
|
|
47
|
+
- 「已提交审核」:表示内容已上传成功,正在等待平台人工审核。
|
|
48
|
+
- 「审核被拒绝」:表示平台未予通过,须根据提示说明进行调整。
|
|
49
|
+
- **帖子状态区分**:区分输出中的「帖子:...」(已公开可见)与「帖子(草稿,确认后才会公开):...」(草稿状态,须创作者确认后公开)。
|
|
50
|
+
- 直接将输出中的中文结果、帖子链接及他人拉取命令展示给用户,不要念底层的英文 JSON 键名。
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 命令分类索引
|
|
55
|
+
|
|
56
|
+
针对具体业务场景的详细执行流程与操作细则,请直接查阅对应子文件:
|
|
57
|
+
|
|
58
|
+
1. [发布游戏相关命令](references/publish-game.md)
|
|
59
|
+
- 发布正式版游戏作品(`npx lumimaker publish`)
|
|
60
|
+
- 发布试玩版游戏(`npx lumimaker publish --demo`)
|
|
61
|
+
- 前置构建要求、作品类型确认机制与横竖屏红线
|
|
62
|
+
2. [发布模板与数据包相关命令](references/publish-template.md)
|
|
63
|
+
- 首次发布模板、续发模板版本(`publish-template`、`--with-assets`)
|
|
64
|
+
- 单独更新模板数据包(`publish-template-data`)
|
|
65
|
+
- 派生新模板(`--fork`)与「他人拉取」命令交付
|
|
66
|
+
3. [发布开源工程相关命令](references/publish-project.md)
|
|
67
|
+
- 发布开源项目代码(`publish-project`)
|
|
68
|
+
4. [常用基础与辅助命令](references/common-commands.md)
|
|
69
|
+
- 账号登录、身份查询与退出(`login`、`whoami`、`logout`)
|
|
70
|
+
- 规范检查(`validate-template`)与数据校验转调(`validate`)
|
|
71
|
+
- Agent 技能安装与同步(`skill`)
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 全局红线与操作禁忌(绝对禁止)
|
|
76
|
+
|
|
77
|
+
1. **托管与发布渠道**:
|
|
78
|
+
- 幻光平台托管的是静态游戏、模板与开源工程,**严禁执行 `npm login` 或 `npm publish`**。
|
|
79
|
+
2. **禁止跑废弃或不存在的管理命令**:
|
|
80
|
+
- **严禁执行 `npx lumimaker games`、`templates`、`projects` 或 `init` 等命令**(列表查询、版本查询、改名、改简介、上下架、更新说明等操作均不支持命令行,必须引导用户前往平台网页操作)。
|
|
81
|
+
- 发版时**严禁追加 `--changelog` 参数**(更新说明请引导用户到平台网页编辑)。
|
|
82
|
+
3. **禁止在命令行传入属于配置文件的参数**:
|
|
83
|
+
- `version`、`data_ver` 必须写在 `package.json`,数据包目录固定为工程 `assets/`;**严禁将 `--version`、`--data-ver`、`--assets` 写进命令**。
|
|
84
|
+
4. **禁止编造平台标识**:
|
|
85
|
+
- 模板 ID、作品 ID、数据包 ID、工程 ID 等均由平台服务端签发,并由工具自动维护在 `.lumimaker/` 目录下,**严禁人工猜测或手动编造**。
|
|
86
|
+
5. **发布失败与防重复发红线**:
|
|
87
|
+
- 发布遇到失败、超时或用户要求“再发一次”时,**严禁立即使用相同版本号盲目重跑**,**严禁执行查询命令**。必须引导用户先到平台网页核对该版本是否已经存在;用户确认不存在后再修复重试,若已存在则须先修改版本号。
|
|
88
|
+
6. **资源全本地化(严禁外链)**:
|
|
89
|
+
- 发布的产物与工程中**严禁引用任何在线 CDN 资源**(包括远程图片、字体、音视频、外链样式与脚本等),所有资源必须全部存放在工程本地。
|
|
90
|
+
7. **源码纯净性**:
|
|
91
|
+
- 发布模板与开源工程时,上传内容为工程纯源码,**不得包含 `node_modules/`**。`package.json` 中的所有依赖包必须公开可用,版本号真实存在。
|
|
92
|
+
8. **本地环境与隐私保护**:
|
|
93
|
+
- 本地 `.lumimaker/` 目录记录了工程在平台的身份,**须随项目提交至 git**;但登录凭据保存在本机安全密钥环中,**切勿提交登录凭据**。
|
|
94
|
+
- 严禁将内部私有 npm 镜像域名、内网 IP 地址写入回复、配置文件或命令行参数中;若用户反馈安装不上依赖,引导其联系官方客服,具体联系方式以 CLI 输出提示为准。
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# 常用基础与辅助命令
|
|
2
|
+
|
|
3
|
+
涵盖平台账号登录、身份查询、工程校验、技能管理以及从模板开工程的相关说明。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. 账号与认证命令
|
|
8
|
+
|
|
9
|
+
平台使用系统安全密钥环管理登录凭据,凭据不保存在工程目录中,切勿将敏感信息提交至代码库。
|
|
10
|
+
|
|
11
|
+
| 命令 | 用途 | 适用说明 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| `npx lumimaker login` | 登录平台 | 唤起浏览器完成授权。若本地已有有效凭证会自动跳过。 |
|
|
14
|
+
| `npx lumimaker login --force` | 强制重新登录 | 需要切换账号或原有凭证失效时使用。 |
|
|
15
|
+
| `npx lumimaker whoami` | 查看当前身份 | 打印当前登录的用户名与作者信息。 |
|
|
16
|
+
| `npx lumimaker logout` | 退出登录 | 清除本机保存的当前账号登录凭证。 |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 2. 校验命令
|
|
21
|
+
|
|
22
|
+
| 命令 | 用途 | 运作机制与说明 |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| `npx lumimaker validate-template` | 模板规范门禁检查 | 严格按照 [模板规范协议](../lumimaker-template-spec/references/protocol.md) 校验当前工程目录、`package.json` 配置与产物是否合规。 |
|
|
25
|
+
| `npx lumimaker validate` | 模板数据自检转调 | 实际在工程内部转调执行 `npm run validate`,运行模板自身的业务数据检查。 |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 3. Agent 技能管理命令
|
|
30
|
+
|
|
31
|
+
将平台官方提供的技能(`lumimaker`、`lumimaker-template-spec`、`lumimaker-play-sdk`)同步安装到当前工程的编辑器配置目录中(如 `.cursor/skills/` 等)。
|
|
32
|
+
|
|
33
|
+
| 命令 | 用途 | 说明 |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `npx lumimaker skill` | 交互式安装技能 | CLI 会自动探测当前运行的编辑器环境并进行确认提示,**切勿擅自追加 `--platform cursor`**,让 CLI 探测确认。 |
|
|
36
|
+
| `npx lumimaker skill --all` | 安装至全部支持的编辑器 | 一次性为所有支持的 AI 编辑器环境安装技能。 |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 4. 从模板创建新工程(开工程)的辅助约束
|
|
41
|
+
|
|
42
|
+
当用户尚未创建工程目录、需要从平台模板拉取初始化时,使用 `@66rpg/lumimaker-create` 脚手架:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npx @66rpg/lumimaker-create@latest <用户名/slug>
|
|
46
|
+
npx @66rpg/lumimaker-create@latest <用户名/slug> <目标目录>
|
|
47
|
+
npx @66rpg/lumimaker-create@latest <用户名/slug@版本> --with-assets <数据包ID>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**开工程时的交互红线**:
|
|
51
|
+
1. **禁止擅自猜测目录名**:若用户未说明工程建在哪个文件夹,**切勿自行编造目录名**(不要填 `my-game`,不要用模板 ID)。省略目录参数运行,让脚手架返回退出码 11,再用通俗口语询问用户:“请问你想把新工程放在哪个文件夹下?”,获得回答后再填入目录参数重跑。
|
|
52
|
+
2. **禁止擅自指定技能平台**:未指定 `--skill-platform` 时,CLI 会自动探测当前编辑器(如 Cursor、VSCode 等)并返回信封。不要擅自加上 `--skill-platform cursor`,遵循 CLI 探测结果。
|
|
53
|
+
3. **未登录时的续跑保护**:若遇到未登录(退出码 12),脚手架已在目标目录下就位,**切勿更换文件夹,严禁删除已建立的目录**!引导用户执行 `npx lumimaker login` 完成登录后,在同一目录下原样重跑原 create 命令即可继续初始化。
|
|
54
|
+
4. **网页命令数据包对齐**:网页复制出的开工程命令如果没有 `--with-assets` 参数,**切勿自行补齐数据包编号**。
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 发布游戏相关命令
|
|
2
|
+
|
|
3
|
+
用于将当前工程打包后的静态产物(`dist/`)发布为网页游戏作品或试玩(demo)。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. 核心命令
|
|
8
|
+
|
|
9
|
+
| 发布类型 | 命令 | 前置构建命令 | 说明 |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| **正式版游戏(作品)** | `npx lumimaker publish` | `npm run build` | 仅当用户明确要求发布正式版时使用。 |
|
|
12
|
+
| **试玩版游戏(demo)** | `npx lumimaker publish --demo` | `npm run build:demo` | 试玩在平台为独立作品,用户只要 demo 时必须使用。 |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 2. 发布前置流程
|
|
17
|
+
|
|
18
|
+
1. **先构建,后发布**:
|
|
19
|
+
- 发布正式版前,必须先在工程根目录执行 `npm run build`。
|
|
20
|
+
- 发布试玩版前,必须先在工程根目录执行 `npm run build:demo`。
|
|
21
|
+
- **产物共用机制**:正式版与试玩版的构建产物均输出到工程根目录的 `dist/`,后构建的一方会覆盖前一方。因此,每次构建完成后须立即执行对应的发布命令,切勿连续构建后再发。
|
|
22
|
+
2. **纯静态与本地化**:
|
|
23
|
+
- 静态产物中引用的所有资源(图片、音频、字体、脚本、样式)必须全部打包在 `dist/` 本地文件中,严禁在页面中引用在线 CDN 外链。
|
|
24
|
+
- 平台播放器会在运行时自动向页面注入 `window.CgMakerSdk`,切勿手动将 SDK 文件打包进产物中。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 3. 关键交互与规则
|
|
29
|
+
|
|
30
|
+
### 3.1 明确作品版本类型(正式版 vs demo)
|
|
31
|
+
- **不要擅自假设**:若用户未明确说明发正式版还是试玩版,切勿默认发布正式版。应先执行不带 `--demo`、不带 `--yes` 的 `npx lumimaker publish`。CLI 会探测已有作品记录并返回选项信封,此时应使用大白话向用户说明已有作品情况,询问本次发哪一种。
|
|
32
|
+
- **只要试玩的场景**:若用户明确表示“只发试玩”、“发 demo”、“不要正式版”,必须使用 `npm run build:demo` 并配合 `npx lumimaker publish --demo`。**严禁**先发布正式版再发布试玩版。
|
|
33
|
+
|
|
34
|
+
### 3.2 确认信息与 `--yes` 参数
|
|
35
|
+
- 首次执行发布命令时,**切勿直接追加 `--yes` 参数**。
|
|
36
|
+
- 若 CLI 返回退出码 11 并列出待确认信息(包括游戏名称、版本、发布类型等),请使用大白话将上述摘要逐一转述给用户。
|
|
37
|
+
- **仅在用户明确点头同意后**,方可追加 `--yes` 参数重新运行发布命令;若用户拒绝,立即终止操作。
|
|
38
|
+
|
|
39
|
+
### 3.3 横竖屏适配红线
|
|
40
|
+
- 若用户**没有明确提出**做横竖屏改造(例如横屏、竖屏、横竖都能玩、转屏适配、方向选择等),**绝对不要**修改源码 `index.html`,不要添加任何转屏、宽高比判断或方向选择代码,不要新建 `index.h.html` 或 `index.v.html`。
|
|
41
|
+
- 直接使用工程现有配置打包并发布。不要主动询问用户“是否要做横竖屏改造”。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 4. 发布结果与交付
|
|
46
|
+
|
|
47
|
+
发布完成后,CLI 会在终端输出中文卡片。请直接提取其中的关键信息告知用户:
|
|
48
|
+
- **发布状态**:如「发版成功」(已直接通过)或「已提交审核」(审核中)。
|
|
49
|
+
- **帖子链接**:提取输出中的「帖子:...」或「帖子(草稿,确认后才会公开):...」整行链接展示给用户。
|
|
50
|
+
- 平台作品 ID(`game_id`)等信息将由平台自动记录在工程本地 `.lumimaker/game.json` 中,无需手动维护。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# 发布开源工程相关命令
|
|
2
|
+
|
|
3
|
+
用于将工程源代码以开源项目形式发布到平台,供其他创作者浏览、学习与拉取。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. 核心命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx lumimaker publish-project
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
- 若本地工程尚未在平台建档,执行该命令将同时创建开源工程并发布当前版本。
|
|
14
|
+
- 续发新版本时,同样在工程目录下直接执行此命令。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 2. 关键规则与注意事项
|
|
19
|
+
|
|
20
|
+
1. **无独立数据包机制**:
|
|
21
|
+
- 开源工程直接打包发布整套源码(包含工程内的资源),**没有独立的数据包通道**。
|
|
22
|
+
- **切勿**添加 `--with-assets`、`--fork` 等模板专用的参数。
|
|
23
|
+
2. **纯源码与依赖真实可用**:
|
|
24
|
+
- 上传的工程代码会自动排除 `node_modules/` 与 `dist/` 等中间文件。
|
|
25
|
+
- `package.json` 中的依赖包必须公开可用,版本真实存在。
|
|
26
|
+
- 工程运行时所有素材与依赖必须使用工程本地文件,严禁使用外部 CDN 链接。
|
|
27
|
+
3. **本地身份记录**:
|
|
28
|
+
- 发布成功后,开源工程 ID 会由平台自动记录在本地 `.lumimaker/project.json` 中,切勿手动创建或修改。
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 3. 发布结果与交付
|
|
33
|
+
|
|
34
|
+
发布完成后,CLI 会在终端输出中文卡片。请直接提取其中的关键信息告知用户:
|
|
35
|
+
- **发布状态**:如「发版成功」或「已提交审核」。
|
|
36
|
+
- **帖子链接**:提取输出中的「帖子:...」或「帖子(草稿,确认后才会公开):...」整行链接展示给用户。
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 发布模板与数据包相关命令
|
|
2
|
+
|
|
3
|
+
用于将工程源代码发布为平台模板(供其他创作者拉取使用),或单独上传更新模板配套的数据包(`assets/`)。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. 核心命令
|
|
8
|
+
|
|
9
|
+
| 场景 | 命令 | 适用说明 |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| **首次发布新模板** | `npx lumimaker publish-template` | 本地工程首次发布到平台,必须包含有效 `assets/`,平台会自动打包上传数据包。 |
|
|
12
|
+
| **更新模板代码(沿用数据包)** | `npx lumimaker publish-template` | 续发新模板版本。若平台已有该 `data_ver` 对应的数据包,默认直接复用。 |
|
|
13
|
+
| **更新模板代码并上传新数据包** | `npx lumimaker publish-template --with-assets` | 续发新模板版本,同时强制将本地 `assets/` 作为新数据包一同上传。 |
|
|
14
|
+
| **仅更新数据包(不发新代码版本)** | `npx lumimaker publish-template-data` | 仅素材或数据内容发生变化时使用,不会产生新的模板代码版本。 |
|
|
15
|
+
| **基于已有版本派生模板** | `npx lumimaker publish-template --fork <源版本ID>` | 基于平台已有模板版本创建分支。需带本地数据包时追加 `--with-assets`。 |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. 发布前置准备
|
|
20
|
+
|
|
21
|
+
1. **模板规范自检**:
|
|
22
|
+
- 模板代码发布前,建议先执行 `npx lumimaker validate-template`,确保工程目录、脚本与基础配置符合 [模板规范协议](../lumimaker-template-spec/references/protocol.md)。
|
|
23
|
+
- 建议执行 `npm run validate` 检查数据包内部数据的合规性。CLI 在发布模板时不会自动执行这些检查,作者或 Agent 须在发版前自行确认。
|
|
24
|
+
2. **纯源码与依赖真实可用**:
|
|
25
|
+
- 发布的模板代码 zip 中**绝对不包含 `node_modules/`**。
|
|
26
|
+
- `package.json` 中的依赖包必须是公开可安装的稳定版本,严禁写入未发布的本地私有包或不存在的版本号。
|
|
27
|
+
- 模板运行时所有资源必须全部存放在工程本地(`assets/` 或源码内),严禁依赖在线 CDN 外链。
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. 关键交互与规则
|
|
32
|
+
|
|
33
|
+
### 3.1 首次发布与平台展示名
|
|
34
|
+
- **首发自动带包**:首次发布模板时,工程根目录下必须存在 `assets/` 且包含文件。平台会自动上传数据包,无需手动指定 `--with-assets`,也不可绑定已有的数据包 ID。
|
|
35
|
+
- **展示名填写与保护**:
|
|
36
|
+
- 首发必须提供合法的平台展示名称(支持中文,不能包含 `/` 或 `@`)。
|
|
37
|
+
- 若缺少该字段,CLI 退出 11 时会提示输入展示名,请用大白话询问用户并写回 `package.json.name`;**切勿用英文短名 `slug` 冒充展示名**。
|
|
38
|
+
- 若现有 `package.json.name` 已经包含 `/` 或 `@`(例如私有 npm 包名 `@66rpg/...`),**切勿覆盖该字段**!信封会提供 `flag: --name`,此时应将用户给出的展示名作为 `--name` 命令行参数重跑。
|
|
39
|
+
|
|
40
|
+
### 3.2 数据包版本与说明
|
|
41
|
+
- **数据包说明**:可在发布时通过命令行参数 `--data-summary "<说明内容>"` 传入,也可以在 `package.json` 的 `data_summary` 字段中配置。
|
|
42
|
+
- **仅更新数据包**:如果模板玩法代码未改动,仅修改了关卡、文案或美术素材,直接运行 `npx lumimaker publish-template-data` 即可,避免产生冗余的模板代码版本。
|
|
43
|
+
- **发版禁止 `--changelog`**:发版时不要在命令行传入 `--changelog` 参数,版本的更新说明请引导用户前往平台网页编辑。
|
|
44
|
+
|
|
45
|
+
### 3.3 平台标识与本地记录
|
|
46
|
+
- 模板 ID、模板版本 ID、数据包 ID 均由平台在发布成功后分配,并自动写入本地 `.lumimaker/origin.json`。**严禁手动编造或篡改这些标识**。
|
|
47
|
+
- 工程在通过本地目录拷贝(`--from-dir`)落地时其 origin 为本地记录(`local`),**无法直接作为模板发布至平台**。
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 4. 发布结果与交付
|
|
52
|
+
|
|
53
|
+
发布完成后,CLI 会在终端输出中文卡片。请直接提取其中的关键信息告知用户:
|
|
54
|
+
- **发布状态**:如「发版成功」或「已提交审核」。
|
|
55
|
+
- **帖子链接**:提取输出中的「帖子:...」或「帖子(草稿,确认后才会公开):...」整行链接。
|
|
56
|
+
- **他人拉取指引**:若输出中包含「他人拉取:...」行(格式形如 `npx @66rpg/lumimaker-create@latest 用户名/slug@版本`,带数据包时会包含 `--with-assets <ID>`),须**原样复制并完整展示给用户**。**切勿将命令中的英文标识替换为中文模板名,缺少用户名时也切勿擅自编造 `<用户名>`**。
|