zero-ai 1.0.80 → 1.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.claude/settings.local.json +5 -0
  2. package/.r2mo/task/2026-03-02/2026-03-02.09-48-15-TASK@/345/274/200/345/217/221/346/226/260/345/221/275/344/273/244ai ex-app.md" +65 -0
  3. package/.r2mo/task/task-001.md +2 -142
  4. package/.r2mo/task/task-004.md +4 -0
  5. package/.r2mo/task/task-005.md +4 -0
  6. package/CLAUDE.md +185 -0
  7. package/package.json +1 -1
  8. package/src/commander/ex-app.json +6 -0
  9. package/src/commander/sync.json +1 -1
  10. package/src/commander-ai/fn.ex.app.js +234 -0
  11. package/src/commander-ai/fn.source.apply.js +2 -0
  12. package/src/commander-ai/fn.source.sync.js +11 -10
  13. package/src/commander-ai/index.js +2 -0
  14. package/r2mo-init/.obsidian/app.json +0 -1
  15. package/r2mo-init/.obsidian/appearance.json +0 -10
  16. package/r2mo-init/.obsidian/community-plugins.json +0 -7
  17. package/r2mo-init/.obsidian/core-plugins.json +0 -33
  18. package/r2mo-init/.obsidian/plugins/dataview/main.js +0 -20876
  19. package/r2mo-init/.obsidian/plugins/dataview/manifest.json +0 -11
  20. package/r2mo-init/.obsidian/plugins/dataview/styles.css +0 -141
  21. package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +0 -815
  22. package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +0 -10
  23. package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +0 -12
  24. package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +0 -1
  25. package/r2mo-init/.obsidian/plugins/obsidian-kanban/main.js +0 -153
  26. package/r2mo-init/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
  27. package/r2mo-init/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
  28. package/r2mo-init/.obsidian/plugins/obsidian-plantuml/main.js +0 -7732
  29. package/r2mo-init/.obsidian/plugins/obsidian-plantuml/manifest.json +0 -10
  30. package/r2mo-init/.obsidian/plugins/obsidian-plantuml/styles.css +0 -38
  31. package/r2mo-init/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -504
  32. package/r2mo-init/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
  33. package/r2mo-init/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
  34. package/r2mo-init/.obsidian/snippets/body-font.css +0 -9
  35. package/r2mo-init/.obsidian/themes/Comfort/manifest.json +0 -11
  36. package/r2mo-init/.obsidian/themes/Comfort/theme.css +0 -218
  37. package/r2mo-init/.obsidian/themes/Primary/manifest.json +0 -9
  38. package/r2mo-init/.obsidian/themes/Primary/theme.css +0 -3878
  39. package/r2mo-init/.obsidian/themes/Retro Windows/manifest.json +0 -7
  40. package/r2mo-init/.obsidian/themes/Retro Windows/theme.css +0 -582
  41. package/r2mo-init/.obsidian/themes/RetroOS 98/manifest.json +0 -9
  42. package/r2mo-init/.obsidian/themes/RetroOS 98/theme.css +0 -2566
  43. package/r2mo-init/.obsidian/themes/Serenity/manifest.json +0 -7
  44. package/r2mo-init/.obsidian/themes/Serenity/theme.css +0 -7258
  45. package/r2mo-init/.obsidian/themes/W95/manifest.json +0 -8
  46. package/r2mo-init/.obsidian/themes/W95/theme.css +0 -768
  47. package/r2mo-init/.obsidian/types.json +0 -28
  48. package/r2mo-init/task/command/ex-api.yaml.example +0 -13
  49. package/r2mo-init/task/task-002.md +0 -4
  50. package/r2mo-init/task/task-003.md +0 -4
  51. package/r2mo-init/task/thread +0 -1
  52. /package/{r2mo-init/task/task-001.md → .r2mo/task/2026-03-02/2026-03-02.09-23-17-TASK@/345/274/200/345/217/221 ai ex-api /345/221/275/344/273/244.md"} +0 -0
@@ -94,6 +94,7 @@ module.exports = async (options) => {
94
94
  type: "checkbox",
95
95
  name: "selectedFiles",
96
96
  message: "请选择要安装的规则文件:",
97
+ loop: false,
97
98
  choices: ruleFiles.map(file => ({
98
99
  name: file,
99
100
  value: file,
@@ -112,6 +113,7 @@ module.exports = async (options) => {
112
113
  type: "checkbox",
113
114
  name: "selectedTargets",
114
115
  message: "请选择输出目标(选几个就输出几个):",
116
+ loop: false,
115
117
  choices: [
116
118
  { name: "Cursor:.cursor/rules(.mdc)", value: "cursor", checked: true },
117
119
  { name: "Trae:.trae/rules(.md)", value: "trae", checked: true },
@@ -92,10 +92,10 @@ const executeLocal = (actual = {}, options = {}) => {
92
92
  }
93
93
 
94
94
  /**
95
- * 逆向拷贝:从当前项目将 COMMANDS 所列内容拷贝到 Z_ZERO_UI 指定目录
95
+ * 逆向拷贝:从当前项目将 COMMANDS 所列内容拷贝到 Z_AI_SYNC 指定的骨架项目本地副本
96
96
  */
97
97
  const executeReverse = (targetBase, options = {}) => {
98
- Ec.info(`逆向拷贝目标:${targetBase}`);
98
+ Ec.info(`逆向拷贝目标(骨架项目本地副本):${targetBase}`);
99
99
  Ec.info(`开始逆向拷贝主框架(与正向 sync 相同内容):......`.yellow);
100
100
  COMMANDS.forEach((command) => {
101
101
  Ec.info(`处理:${command.green}`);
@@ -145,17 +145,12 @@ module.exports = (options) => {
145
145
  process.argv.splice(3 + flagIdx + 1, 0, "true");
146
146
  }
147
147
  const parsed = Ut.parseArgument(options);
148
- // 1. 环境检查
149
- if (!Ec.isExist(".git")) {
150
- Ec.error("请选择带`.git`或`vertx-ui`的目录执行当前命令!");
151
- return;
152
- }
153
148
 
154
- // 逆向拷贝:-r 时从当前项目拷贝到 Z_ZERO_UI
149
+ // 逆向拷贝:-r 时从当前项目拷贝到 Z_AI_SYNC 指定的骨架项目本地副本
155
150
  if (parsed.reverse) {
156
- const targetBase = process.env.Z_ZERO_UI;
151
+ const targetBase = process.env.Z_AI_SYNC;
157
152
  if (!targetBase || !targetBase.trim()) {
158
- Ec.error("逆向拷贝需要设置环境变量 Z_ZERO_UI(拷贝目标地址),未设置则退出。");
153
+ Ec.error("逆向拷贝需要设置环境变量 Z_AI_SYNC(骨架项目本地副本路径),未设置则退出。");
159
154
  process.exit(1);
160
155
  }
161
156
  const resolved = path.resolve(targetBase.trim());
@@ -163,6 +158,12 @@ module.exports = (options) => {
163
158
  return;
164
159
  }
165
160
 
161
+ // 1. 环境检查(仅正向同步需要)
162
+ if (!Ec.isExist(".git")) {
163
+ Ec.error("请选择带`.git`或`vertx-ui`的目录执行当前命令!");
164
+ return;
165
+ }
166
+
166
167
  let pathSource;
167
168
  if (parsed.mode) {
168
169
  // 本地模式
@@ -11,6 +11,7 @@ const executeApply = require('./fn.source.apply');
11
11
  const executeExPerm = require('./fn.ex.perm');
12
12
  const executeExApi = require('./fn.ex.api');
13
13
  const executeExCrud = require('./fn.ex.crud');
14
+ const executeExApp = require('./fn.ex.app');
14
15
  const exported = {
15
16
  executeUuid, // ai uuid
16
17
  executeString, // ai str
@@ -27,6 +28,7 @@ const exported = {
27
28
  executeExPerm, // ai ex-perm
28
29
  executeExApi, // ai ex-api
29
30
  executeExCrud, // ai ex-crud
31
+ executeExApp, // ai ex-app
30
32
  };
31
33
  module.exports = exported;
32
34
  /**
@@ -1 +0,0 @@
1
- {}
@@ -1,10 +0,0 @@
1
- {
2
- "theme": "moonstone",
3
- "cssTheme": "Retro Windows",
4
- "interfaceFontFamily": "",
5
- "baseFontSize": 18,
6
- "textFontFamily": "Hannotate TC",
7
- "enabledCssSnippets": [
8
- "body-font"
9
- ]
10
- }
@@ -1,7 +0,0 @@
1
- [
2
- "dataview",
3
- "obsidian-excalidraw-plugin",
4
- "obsidian-kanban",
5
- "obsidian-plantuml",
6
- "obsidian-tasks-plugin"
7
- ]
@@ -1,33 +0,0 @@
1
- {
2
- "file-explorer": true,
3
- "global-search": true,
4
- "switcher": true,
5
- "graph": true,
6
- "backlink": true,
7
- "canvas": true,
8
- "outgoing-link": true,
9
- "tag-pane": true,
10
- "footnotes": false,
11
- "properties": true,
12
- "page-preview": true,
13
- "daily-notes": true,
14
- "templates": true,
15
- "note-composer": true,
16
- "command-palette": true,
17
- "slash-command": false,
18
- "editor-status": true,
19
- "bookmarks": true,
20
- "markdown-importer": true,
21
- "zk-prefixer": false,
22
- "random-note": false,
23
- "outline": true,
24
- "word-count": true,
25
- "slides": true,
26
- "audio-recorder": false,
27
- "workspaces": true,
28
- "file-recovery": true,
29
- "publish": true,
30
- "sync": true,
31
- "bases": true,
32
- "webviewer": true
33
- }