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.
- package/.claude/settings.local.json +5 -0
- 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
- package/.r2mo/task/task-001.md +2 -142
- package/.r2mo/task/task-004.md +4 -0
- package/.r2mo/task/task-005.md +4 -0
- package/CLAUDE.md +185 -0
- package/package.json +1 -1
- package/src/commander/ex-app.json +6 -0
- package/src/commander/sync.json +1 -1
- package/src/commander-ai/fn.ex.app.js +234 -0
- package/src/commander-ai/fn.source.apply.js +2 -0
- package/src/commander-ai/fn.source.sync.js +11 -10
- package/src/commander-ai/index.js +2 -0
- package/r2mo-init/.obsidian/app.json +0 -1
- package/r2mo-init/.obsidian/appearance.json +0 -10
- package/r2mo-init/.obsidian/community-plugins.json +0 -7
- package/r2mo-init/.obsidian/core-plugins.json +0 -33
- package/r2mo-init/.obsidian/plugins/dataview/main.js +0 -20876
- package/r2mo-init/.obsidian/plugins/dataview/manifest.json +0 -11
- package/r2mo-init/.obsidian/plugins/dataview/styles.css +0 -141
- package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +0 -815
- package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +0 -10
- package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +0 -12
- package/r2mo-init/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +0 -1
- package/r2mo-init/.obsidian/plugins/obsidian-kanban/main.js +0 -153
- package/r2mo-init/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
- package/r2mo-init/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
- package/r2mo-init/.obsidian/plugins/obsidian-plantuml/main.js +0 -7732
- package/r2mo-init/.obsidian/plugins/obsidian-plantuml/manifest.json +0 -10
- package/r2mo-init/.obsidian/plugins/obsidian-plantuml/styles.css +0 -38
- package/r2mo-init/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -504
- package/r2mo-init/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
- package/r2mo-init/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
- package/r2mo-init/.obsidian/snippets/body-font.css +0 -9
- package/r2mo-init/.obsidian/themes/Comfort/manifest.json +0 -11
- package/r2mo-init/.obsidian/themes/Comfort/theme.css +0 -218
- package/r2mo-init/.obsidian/themes/Primary/manifest.json +0 -9
- package/r2mo-init/.obsidian/themes/Primary/theme.css +0 -3878
- package/r2mo-init/.obsidian/themes/Retro Windows/manifest.json +0 -7
- package/r2mo-init/.obsidian/themes/Retro Windows/theme.css +0 -582
- package/r2mo-init/.obsidian/themes/RetroOS 98/manifest.json +0 -9
- package/r2mo-init/.obsidian/themes/RetroOS 98/theme.css +0 -2566
- package/r2mo-init/.obsidian/themes/Serenity/manifest.json +0 -7
- package/r2mo-init/.obsidian/themes/Serenity/theme.css +0 -7258
- package/r2mo-init/.obsidian/themes/W95/manifest.json +0 -8
- package/r2mo-init/.obsidian/themes/W95/theme.css +0 -768
- package/r2mo-init/.obsidian/types.json +0 -28
- package/r2mo-init/task/command/ex-api.yaml.example +0 -13
- package/r2mo-init/task/task-002.md +0 -4
- package/r2mo-init/task/task-003.md +0 -4
- package/r2mo-init/task/thread +0 -1
- /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 所列内容拷贝到
|
|
95
|
+
* 逆向拷贝:从当前项目将 COMMANDS 所列内容拷贝到 Z_AI_SYNC 指定的骨架项目本地副本
|
|
96
96
|
*/
|
|
97
97
|
const executeReverse = (targetBase, options = {}) => {
|
|
98
|
-
Ec.info(
|
|
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 时从当前项目拷贝到
|
|
149
|
+
// 逆向拷贝:-r 时从当前项目拷贝到 Z_AI_SYNC 指定的骨架项目本地副本
|
|
155
150
|
if (parsed.reverse) {
|
|
156
|
-
const targetBase = process.env.
|
|
151
|
+
const targetBase = process.env.Z_AI_SYNC;
|
|
157
152
|
if (!targetBase || !targetBase.trim()) {
|
|
158
|
-
Ec.error("逆向拷贝需要设置环境变量
|
|
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,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
|
-
}
|