claude-pangu 2.2.15 → 2.2.17

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://code.claude.com/plugin-schema.json",
3
3
  "name": "oh-my-claude",
4
- "version": "2.2.15",
4
+ "version": "2.2.17",
5
5
  "hooks": "../hooks/hooks.json",
6
6
  "description": "基于中国传统文化的 Claude Code 智能编排插件 - A Claude Code plugin inspired by Chinese traditional culture",
7
7
  "author": "ZDragon17",
@@ -103,7 +103,9 @@ export declare const CORE_AGENTS: readonly [{
103
103
  /** 验证时检查的核心 Agent 文件列表 */
104
104
  export declare const CORE_AGENT_FILES: readonly ["yugong.md", "zhuge.md", "baozheng.md"];
105
105
  /** 必需目录列表 */
106
- export declare const REQUIRED_DIRS: readonly ["agents", "commands", "skills", ".claude-plugin"];
106
+ export declare const REQUIRED_DIRS: readonly ["agents", "commands", "skills", ".claude-plugin", "hooks"];
107
107
  /** 可选目录列表 */
108
- export declare const OPTIONAL_DIRS: readonly ["hooks"];
108
+ export declare const OPTIONAL_DIRS: readonly [];
109
+ /** 核心 Hook 文件列表(安装验证时检查) */
110
+ export declare const CORE_HOOK_FILES: readonly ["todo-continuation.sh", "ralph-loop.sh", "keyword-detector.sh", "hooks.json"];
109
111
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8GH,iCAAiC;AACjC,eAAO,MAAM,OAAO,EAAE,MAA4B,CAAC;AAEnD,WAAW;AACX,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAI1C,YAAY;AACZ,eAAO,MAAM,QAAQ,QAAe,CAAC;AAErC,WAAW;AACX,eAAO,MAAM,OAAO,QAA+C,CAAC;AAEpE,eAAe;AACf,eAAO,MAAM,cAAc,QAAkC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAe;AACf,eAAO,MAAM,iBAAiB,QAAmD,CAAC;AAElF,aAAa;AACb,eAAO,MAAM,UAAU,QAAyD,CAAC;AAEjF,oBAAoB;AACpB,eAAO,MAAM,YAAY,QAA6C,CAAC;AAEvE,kBAAkB;AAClB,eAAO,MAAM,UAAU,QAA2C,CAAC;AAInE,YAAY;AACZ,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,iBAAiB;AACjB,eAAO,MAAM,aAAa,QAAgB,CAAC;AAE3C,YAAY;AACZ,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAI3C,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD,cAAc;AACd,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAI1C,aAAa;AACb,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAItC,kBAAkB;AAClB,eAAO,MAAM,WAAW,2BAA2B,CAAC;AAEpD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,qDAA6C,CAAC;AAI5E,eAAe;AACf,eAAO,MAAM,WAAW,8EAA+E,CAAC;AAExG,0BAA0B;AAC1B,eAAO,MAAM,YAAY,gEAAiE,CAAC;AAI3F,kBAAkB;AAClB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBd,CAAC;AAEX,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,mDAAoD,CAAC;AAElF,aAAa;AACb,eAAO,MAAM,aAAa,6DAA8D,CAAC;AAEzF,aAAa;AACb,eAAO,MAAM,aAAa,oBAAqB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8GH,iCAAiC;AACjC,eAAO,MAAM,OAAO,EAAE,MAA4B,CAAC;AAEnD,WAAW;AACX,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAI1C,YAAY;AACZ,eAAO,MAAM,QAAQ,QAAe,CAAC;AAErC,WAAW;AACX,eAAO,MAAM,OAAO,QAA+C,CAAC;AAEpE,eAAe;AACf,eAAO,MAAM,cAAc,QAAkC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAe;AACf,eAAO,MAAM,iBAAiB,QAAmD,CAAC;AAElF,aAAa;AACb,eAAO,MAAM,UAAU,QAAyD,CAAC;AAEjF,oBAAoB;AACpB,eAAO,MAAM,YAAY,QAA6C,CAAC;AAEvE,kBAAkB;AAClB,eAAO,MAAM,UAAU,QAA2C,CAAC;AAInE,YAAY;AACZ,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,iBAAiB;AACjB,eAAO,MAAM,aAAa,QAAgB,CAAC;AAE3C,YAAY;AACZ,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAI3C,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD,cAAc;AACd,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAI1C,aAAa;AACb,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAItC,kBAAkB;AAClB,eAAO,MAAM,WAAW,2BAA2B,CAAC;AAEpD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,qDAA6C,CAAC;AAI5E,eAAe;AACf,eAAO,MAAM,WAAW,8EAA+E,CAAC;AAExG,0BAA0B;AAC1B,eAAO,MAAM,YAAY,gEAAiE,CAAC;AAI3F,kBAAkB;AAClB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBd,CAAC;AAEX,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,mDAAoD,CAAC;AAElF,aAAa;AACb,eAAO,MAAM,aAAa,sEAAuE,CAAC;AAElG,aAAa;AACb,eAAO,MAAM,aAAa,aAAc,CAAC;AAEzC,4BAA4B;AAC5B,eAAO,MAAM,eAAe,yFAA0F,CAAC"}
@@ -184,7 +184,9 @@ export const CORE_AGENTS = [
184
184
  /** 验证时检查的核心 Agent 文件列表 */
185
185
  export const CORE_AGENT_FILES = ['yugong.md', 'zhuge.md', 'baozheng.md'];
186
186
  /** 必需目录列表 */
187
- export const REQUIRED_DIRS = ['agents', 'commands', 'skills', '.claude-plugin'];
187
+ export const REQUIRED_DIRS = ['agents', 'commands', 'skills', '.claude-plugin', 'hooks'];
188
188
  /** 可选目录列表 */
189
- export const OPTIONAL_DIRS = ['hooks'];
189
+ export const OPTIONAL_DIRS = [];
190
+ /** 核心 Hook 文件列表(安装验证时检查) */
191
+ export const CORE_HOOK_FILES = ['todo-continuation.sh', 'ralph-loop.sh', 'keyword-detector.sh', 'hooks.json'];
190
192
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../lib/verifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AAIH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,CAoCvD;AAID;;;GAGG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAwF7B"}
1
+ {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../lib/verifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAC;AAIH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,CA+DvD;AAID;;;GAGG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAwF7B"}
@@ -5,7 +5,7 @@
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
7
  import { z } from 'zod';
8
- import { COMMANDS_DIR, PLUGIN_DIR, REQUIRED_DIRS, OPTIONAL_DIRS, CORE_AGENT_FILES } from './constants.js';
8
+ import { COMMANDS_DIR, PLUGIN_DIR, REQUIRED_DIRS, OPTIONAL_DIRS, CORE_AGENT_FILES, CORE_HOOK_FILES } from './constants.js';
9
9
  import { checkClaudeCode } from './installer.js';
10
10
  import { success, info, warn, error, log } from '../scripts/logger.js';
11
11
  import { printCommandTitle, printDivider } from './ui/messages.js';
@@ -50,6 +50,33 @@ export function verifyInstallation() {
50
50
  result.errors.push('commands 目录不存在');
51
51
  result.success = false;
52
52
  }
53
+ // 检查 hooks 目录和关键 hook 文件
54
+ const hooksDir = path.join(PLUGIN_DIR, 'hooks');
55
+ if (fs.existsSync(hooksDir)) {
56
+ const hookFiles = fs.readdirSync(hooksDir).filter(f => f.endsWith('.sh'));
57
+ if (hookFiles.length > 0) {
58
+ success(`已安装 ${hookFiles.length} 个 hooks`);
59
+ }
60
+ else {
61
+ warn('hooks 目录为空');
62
+ result.errors.push('hooks 目录为空');
63
+ result.success = false;
64
+ }
65
+ // 检查关键 hook 文件
66
+ for (const hook of CORE_HOOK_FILES) {
67
+ const hookPath = path.join(hooksDir, hook);
68
+ if (!fs.existsSync(hookPath)) {
69
+ warn(`缺少关键 hook: ${hook}`);
70
+ result.errors.push(`缺少关键 hook: ${hook}`);
71
+ result.success = false;
72
+ }
73
+ }
74
+ }
75
+ else {
76
+ warn('hooks 目录不存在');
77
+ result.errors.push('hooks 目录不存在');
78
+ result.success = false;
79
+ }
53
80
  if (!result.success) {
54
81
  warn('安装可能不完整,请检查上述警告');
55
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../lib/verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../lib/verifier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-pangu",
3
- "version": "2.2.15",
3
+ "version": "2.2.17",
4
4
  "description": "基于中国传统文化的 Claude Code 智能编排插件 - A Claude Code plugin inspired by Chinese traditional culture (原名 oh-my-claude)",
5
5
  "keywords": [
6
6
  "claude-code",
package/scripts/cli.js CHANGED
@@ -382,29 +382,39 @@ function copyPluginFiles(packageDir, pluginDir, showProgress = true) {
382
382
  return stats;
383
383
  }
384
384
 
385
- /**
386
- * 设置 hook 脚本权限(Unix
387
- * @param {string} pluginDir - 插件目录
388
- */
389
- function setHookPermissions(pluginDir) {
390
- if (os.platform() === 'win32') {
391
- return; // Windows 不需要设置权限
392
- }
393
-
394
- const hooksDir = path.join(pluginDir, 'hooks');
395
- if (!fs.existsSync(hooksDir)) {
396
- return;
397
- }
398
-
399
- const hookFiles = fs.readdirSync(hooksDir).filter(f => f.endsWith('.sh'));
400
- for (const hookFile of hookFiles) {
401
- try {
402
- fs.chmodSync(path.join(hooksDir, hookFile), '755');
403
- } catch (err) {
404
- warn(`设置权限失败: ${hookFile}`);
405
- }
406
- }
407
- }
385
+ /**
386
+ * 设置 hook 脚本权限(Unix)- 递归处理所有子目录
387
+ * @param {string} pluginDir - 插件目录
388
+ */
389
+ function setHookPermissions(pluginDir) {
390
+ if (os.platform() === 'win32') {
391
+ return; // Windows 不需要设置权限
392
+ }
393
+
394
+ const hooksDir = path.join(pluginDir, 'hooks');
395
+ if (!fs.existsSync(hooksDir)) {
396
+ return;
397
+ }
398
+
399
+ // 递归设置权限
400
+ function setPermissionsRecursive(dir) {
401
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
402
+ for (const entry of entries) {
403
+ const fullPath = path.join(dir, entry.name);
404
+ if (entry.isDirectory()) {
405
+ setPermissionsRecursive(fullPath);
406
+ } else if (entry.name.endsWith('.sh')) {
407
+ try {
408
+ fs.chmodSync(fullPath, '755');
409
+ } catch (err) {
410
+ warn(`设置权限失败: ${entry.name}`);
411
+ }
412
+ }
413
+ }
414
+ }
415
+
416
+ setPermissionsRecursive(hooksDir);
417
+ }
408
418
 
409
419
  /**
410
420
  * 安装 slash commands 到 ~/.claude/commands/
@@ -540,47 +550,77 @@ function installSkills(packageDir) {
540
550
  return stats;
541
551
  }
542
552
 
543
- /**
544
- * 验证安装结果
545
- * @returns {Object} 验证结果
546
- */
547
- function verifyInstallation() {
548
- info('验证安装...');
549
- const commandsDir = getCommandsDir();
550
- const result = { success: true, errors: [] };
551
-
552
- // 检查关键命令文件
553
- const yishanPath = path.join(commandsDir, 'yishan.md');
554
- if (fs.existsSync(yishanPath)) {
555
- success('✓ yishan.md 已安装');
556
- } else {
557
- warn('✗ yishan.md 未找到');
558
- result.errors.push('yishan.md 未找到');
559
- result.success = false;
560
- }
561
-
562
- // 检查命令数量
563
- if (fs.existsSync(commandsDir)) {
564
- const cmdFiles = fs.readdirSync(commandsDir).filter(f => f.endsWith('.md'));
565
- if (cmdFiles.length > 0) {
566
- success(`✓ 已安装 ${cmdFiles.length} 个命令`);
567
- } else {
568
- warn('✗ 未检测到任何命令文件');
569
- result.errors.push('未检测到命令文件');
570
- result.success = false;
571
- }
572
- } else {
573
- warn('✗ commands 目录不存在');
574
- result.errors.push('commands 目录不存在');
575
- result.success = false;
576
- }
577
-
578
- if (!result.success) {
579
- warn('安装可能不完整,请检查上述警告');
580
- }
581
-
582
- return result;
583
- }
553
+ /**
554
+ * 验证安装结果
555
+ * @returns {Object} 验证结果
556
+ */
557
+ function verifyInstallation() {
558
+ info('验证安装...');
559
+ const commandsDir = getCommandsDir();
560
+ const pluginDir = getPluginDir();
561
+ const result = { success: true, errors: [] };
562
+
563
+ // 检查关键命令文件
564
+ const yishanPath = path.join(commandsDir, 'yishan.md');
565
+ if (fs.existsSync(yishanPath)) {
566
+ success('✓ yishan.md 已安装');
567
+ } else {
568
+ warn('yishan.md 未找到');
569
+ result.errors.push('yishan.md 未找到');
570
+ result.success = false;
571
+ }
572
+
573
+ // 检查命令数量
574
+ if (fs.existsSync(commandsDir)) {
575
+ const cmdFiles = fs.readdirSync(commandsDir).filter(f => f.endsWith('.md'));
576
+ if (cmdFiles.length > 0) {
577
+ success(`✓ 已安装 ${cmdFiles.length} 个命令`);
578
+ } else {
579
+ warn('✗ 未检测到任何命令文件');
580
+ result.errors.push('未检测到命令文件');
581
+ result.success = false;
582
+ }
583
+ } else {
584
+ warn('commands 目录不存在');
585
+ result.errors.push('commands 目录不存在');
586
+ result.success = false;
587
+ }
588
+
589
+ // 检查 hooks 目录和关键 hook 文件
590
+ const hooksDir = path.join(pluginDir, 'hooks');
591
+ if (fs.existsSync(hooksDir)) {
592
+ const hookFiles = fs.readdirSync(hooksDir).filter(f => f.endsWith('.sh'));
593
+ if (hookFiles.length > 0) {
594
+ success(`✓ 已安装 ${hookFiles.length} 个 hooks`);
595
+ } else {
596
+ warn('✗ hooks 目录为空');
597
+ result.errors.push('hooks 目录为空');
598
+ result.success = false;
599
+ }
600
+
601
+ // 检查关键 hook 文件
602
+ const criticalHooks = ['todo-continuation.sh', 'ralph-loop.sh', 'keyword-detector.sh', 'hooks.json'];
603
+ for (const hook of criticalHooks) {
604
+ const hookPath = path.join(hooksDir, hook);
605
+ if (!fs.existsSync(hookPath)) {
606
+ warn(`✗ 缺少关键 hook: ${hook}`);
607
+ result.errors.push(`缺少关键 hook: ${hook}`);
608
+ result.success = false;
609
+ }
610
+ }
611
+ } else {
612
+ warn('✗ hooks 目录不存在');
613
+ result.errors.push('hooks 目录不存在');
614
+ result.success = false;
615
+ }
616
+
617
+ if (!result.success) {
618
+ warn('安装可能不完整,请检查上述警告');
619
+ warn('建议重新安装: npx claude-pangu@latest install');
620
+ }
621
+
622
+ return result;
623
+ }
584
624
 
585
625
  /**
586
626
  * 注册插件到 Claude Code
@@ -1075,9 +1115,9 @@ function verify() {
1075
1115
  }
1076
1116
  success(`插件目录存在: ${pluginDir}`);
1077
1117
 
1078
- // 检查必需目录
1079
- const requiredDirs = ['agents', 'commands', 'skills', '.claude-plugin'];
1080
- const optionalDirs = ['hooks'];
1118
+ // 检查必需目录 - hooks 是核心功能,必须存在
1119
+ const requiredDirs = ['agents', 'commands', 'skills', '.claude-plugin', 'hooks'];
1120
+ const optionalDirs = [];
1081
1121
 
1082
1122
  info('\n检查目录结构...');
1083
1123
  for (const dir of requiredDirs) {
@@ -1118,20 +1158,34 @@ function verify() {
1118
1158
  hasErrors = true;
1119
1159
  }
1120
1160
 
1121
- // 检查关键 Agent 文件
1122
- info('\n检查核心 Agent...');
1123
- const coreAgents = ['yugong.md', 'zhuge.md', 'baozheng.md'];
1124
- for (const agent of coreAgents) {
1125
- const agentPath = path.join(pluginDir, 'agents', agent);
1126
- if (fs.existsSync(agentPath)) {
1127
- success(`agents/${agent}`);
1128
- } else {
1129
- error(`缺少核心 Agent: ${agent}`);
1130
- hasErrors = true;
1131
- }
1132
- }
1133
-
1134
- // 检查 Claude Code
1161
+ // 检查关键 Agent 文件
1162
+ info('\n检查核心 Agent...');
1163
+ const coreAgents = ['yugong.md', 'zhuge.md', 'baozheng.md'];
1164
+ for (const agent of coreAgents) {
1165
+ const agentPath = path.join(pluginDir, 'agents', agent);
1166
+ if (fs.existsSync(agentPath)) {
1167
+ success(`agents/${agent}`);
1168
+ } else {
1169
+ error(`缺少核心 Agent: ${agent}`);
1170
+ hasErrors = true;
1171
+ }
1172
+ }
1173
+
1174
+ // 检查关键 Hook 文件
1175
+ info('\n检查核心 Hooks...');
1176
+ const coreHooks = ['todo-continuation.sh', 'ralph-loop.sh', 'keyword-detector.sh', 'hooks.json'];
1177
+ const hooksDir = path.join(pluginDir, 'hooks');
1178
+ for (const hook of coreHooks) {
1179
+ const hookPath = path.join(hooksDir, hook);
1180
+ if (fs.existsSync(hookPath)) {
1181
+ success(`hooks/${hook}`);
1182
+ } else {
1183
+ error(`缺少核心 Hook: ${hook}`);
1184
+ hasErrors = true;
1185
+ }
1186
+ }
1187
+
1188
+ // 检查 Claude Code
1135
1189
  info('\n检查 Claude Code CLI...');
1136
1190
  if (checkClaudeCode()) {
1137
1191
  success('Claude Code CLI 可用');