@routerhub/agent-rules 1.5.27 → 1.5.29

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 (3) hide show
  1. package/merge.js +14 -2
  2. package/package.json +1 -1
  3. package/postinstall.js +8 -60
package/merge.js CHANGED
@@ -13,6 +13,7 @@
13
13
  *
14
14
  * 输出文件:
15
15
  * AGENTS.md 全量合并(兼容 Cursor/Claude Code)
16
+ * CLAUDE.md 全量合并(Claude Code 自动加载)
16
17
  * .github/copilot-instructions.md 全局规则(VS Code Copilot)
17
18
  * .github/instructions/*.instructions.md 按域条件加载(VS Code Copilot applyTo)
18
19
  * .github/PULL_REQUEST_TEMPLATE.md 统一 PR 模板(GitHub 新建 PR 时预填)
@@ -31,6 +32,7 @@ let pendingSync = false;
31
32
  function getDefaultConfig() {
32
33
  return {
33
34
  output: path.join(currentRoot, "AGENTS.md"),
35
+ claudeOutput: path.join(currentRoot, "CLAUDE.md"),
34
36
  copilotOutput: path.join(currentRoot, ".github", "copilot-instructions.md"),
35
37
  instructionsDir: path.join(currentRoot, ".github", "instructions"),
36
38
  rulesDir: path.join(packageRoot, "rules"),
@@ -353,6 +355,7 @@ function mergeAgents(config) {
353
355
  } = config;
354
356
 
355
357
  const agentsOutput = config.output || defaultConfig.output;
358
+ const claudeOutput = config.claudeOutput || defaultConfig.claudeOutput;
356
359
  const copilotOutput = config.copilotOutput || defaultConfig.copilotOutput;
357
360
 
358
361
  console.log("📦 开始合并规则文件...");
@@ -386,7 +389,7 @@ function mergeAgents(config) {
386
389
  privateRules;
387
390
  }
388
391
 
389
- for (const outputPath of [agentsOutput, copilotOutput]) {
392
+ for (const outputPath of [agentsOutput, claudeOutput, copilotOutput]) {
390
393
  ensureParentDir(outputPath);
391
394
  fs.writeFileSync(outputPath, merged, "utf-8");
392
395
  console.log(`✅ 规则已合并到 ${outputPath}`);
@@ -449,6 +452,11 @@ function mergeAgents(config) {
449
452
  ensureParentDir(agentsOutput);
450
453
  fs.writeFileSync(agentsOutput, agentsMerged, "utf-8");
451
454
  console.log(`✅ 全量规则已合并到 ${agentsOutput}`);
455
+
456
+ // CLAUDE.md 与 AGENTS.md 内容一致,供 Claude Code 会话自动加载
457
+ ensureParentDir(claudeOutput);
458
+ fs.writeFileSync(claudeOutput, agentsMerged, "utf-8");
459
+ console.log(`✅ 全量规则已合并到 ${claudeOutput}`);
452
460
  }
453
461
 
454
462
  function initAgents() {
@@ -467,6 +475,7 @@ function initAgents() {
467
475
 
468
476
  console.log("✅ 初始化完成,后续执行 agent-rules sync 即可刷新规则文件");
469
477
  console.log(" 输出文件:");
478
+ console.log(" - CLAUDE.md(全量,Claude Code 会话自动加载)");
470
479
  console.log(" - AGENTS.md(全量,兼容 Cursor/Claude Code)");
471
480
  console.log(" - .github/copilot-instructions.md(全局规则)");
472
481
  console.log(" - .github/instructions/*.instructions.md(按域条件加载)");
@@ -567,7 +576,7 @@ function main() {
567
576
  " agent-rules init 初始化规则文件,并在缺失时创建 AGENTS.private.md 模板",
568
577
  );
569
578
  console.log(
570
- " agent-rules sync 重新生成所有规则输出文件(AGENTS.md + copilot-instructions.md + instructions/*.instructions.md)",
579
+ " agent-rules sync 重新生成所有规则输出文件(CLAUDE.md + AGENTS.md + copilot-instructions.md + instructions/*.instructions.md)",
571
580
  );
572
581
  console.log(
573
582
  " agent-rules watch 监听 AGENTS.private.md,变更后自动同步所有规则文件",
@@ -575,6 +584,9 @@ function main() {
575
584
  console.log(" agent-rules help 查看帮助");
576
585
  console.log("");
577
586
  console.log("输出文件:");
587
+ console.log(
588
+ " CLAUDE.md 全量合并(Claude Code 会话自动加载)",
589
+ );
578
590
  console.log(
579
591
  " AGENTS.md 全量合并(兼容 Cursor/Claude Code)",
580
592
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@routerhub/agent-rules",
3
- "version": "1.5.27",
3
+ "version": "1.5.29",
4
4
  "description": "Shared Copilot agent rules and guidelines for RouterHub projects",
5
5
  "main": "AGENTS.base.md",
6
6
  "bin": {
package/postinstall.js CHANGED
@@ -1,63 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { spawn } = require("child_process");
4
- const path = require("path");
5
- const fs = require("fs");
6
-
7
- // 获取下游项目根目录(INIT_CWD npm/pnpm 执行 install 时的原始目录)
8
- const projectRoot = process.env.INIT_CWD || process.cwd();
9
- const packageRoot = __dirname;
10
- const mergeScriptPath = path.join(packageRoot, "merge.js");
11
-
12
- // 安全检查:如果项目根目录在 node_modules 内,说明 INIT_CWD 未正确设置,跳过初始化
13
- if (projectRoot.includes("node_modules")) {
14
- console.log("[agent-rules] 检测到在 node_modules 内运行,跳过自动初始化");
15
- console.log("[agent-rules] 请手动执行: npx agent-rules init");
16
- process.exit(0);
17
- }
18
-
3
+ // 安装完成后仅打印提示,不再自动初始化规则文件
4
+ // 如需生成规则文件,请手动执行对应命令
5
+ console.log("");
6
+ console.log("[agent-rules] 安装完成,如需手动操作:");
7
+ console.log(" - 初始化规则: npx agent-rules init");
8
+ console.log(" - 同步规则: npx agent-rules sync");
9
+ console.log(" - 启动监听: npx agent-rules watch");
10
+ console.log(" - 查看帮助: npx agent-rules help");
19
11
  console.log("");
20
- console.log("[agent-rules] 安装完成");
21
- console.log(`[agent-rules] 项目根目录: ${projectRoot}`);
22
- console.log("[agent-rules] 正在初始化规则文件...");
23
-
24
- // 第一步:执行初始化,生成 AGENTS.md 和 .github/copilot-instructions.md
25
- const initProcess = spawn("node", [mergeScriptPath, "init"], {
26
- cwd: projectRoot,
27
- stdio: "inherit",
28
- });
29
-
30
- initProcess.on("close", (code) => {
31
- if (code === 0) {
32
- console.log("[agent-rules] 规则文件初始化完成");
33
- console.log("[agent-rules] 正在启动后台监听进程...");
34
-
35
- // 第二步:在后台启动 watch 模式
36
- const watchProcess = spawn("node", [mergeScriptPath, "watch"], {
37
- cwd: projectRoot,
38
- detached: true,
39
- stdio: "ignore",
40
- });
41
-
42
- // 将 watch 进程从父进程分离,允许其独立运行
43
- watchProcess.unref();
44
-
45
- console.log("[agent-rules] 后台监听进程已启动");
46
- console.log(
47
- "[agent-rules] AGENTS.private.md 的变更将自动同步到 AGENTS.md、.github/copilot-instructions.md 和 .github/instructions/*.instructions.md",
48
- );
49
- console.log("");
50
- console.log("[agent-rules] 手动命令:");
51
- console.log(" - 初始化: npx agent-rules init");
52
- console.log(" - 同步规则: npx agent-rules sync");
53
- console.log(" - 启动监听: npx agent-rules watch");
54
- console.log(" - 查看帮助: npx agent-rules help");
55
- console.log("");
56
- } else {
57
- console.error("[agent-rules] 初始化失败,退出码:", code);
58
- }
59
- });
60
-
61
- initProcess.on("error", (err) => {
62
- console.error("[agent-rules] 初始化过程出错:", err.message);
63
- });