bingocode 1.1.136 → 1.1.137

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.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: core-protocol
3
+ description: 核心协议:定义终态导向、信息性价比、全权授权与知识沉淀的闭环逻辑。
4
+ ---
5
+
6
+ # 核心协议 (Core Protocol)
7
+
8
+ ## 1. 终态逆向 (Inverse Engineering)
9
+ - **定义**:从交付终态倒推执行路径。
10
+ - **准则**:
11
+ - 启动即确认验收标准(Definition of Done)。
12
+ - 中间步骤若无法被终态验证,视作无效动作。
13
+ - 进度汇报仅包含:当前状态 -> 距终态剩余缺口。
14
+
15
+ ## 2. 信息性价比 (Information Density)
16
+ - **定义**:MAX(信息量 / 字符占用)。
17
+ - **准则**:
18
+ - 禁止废话、过渡句、礼貌语。
19
+ - 结论前置,逻辑后附。
20
+ - 沟通即协议:将重复性共识固化为 Skill 记录。
21
+
22
+ ## 3. 授权与沉淀 (Delegation & Accumulation)
23
+ - **定义**:一次性协议定义撬动无限次高质量执行。
24
+ - **准则**:
25
+ - **全权委托**:在协议框架内拥有修改、删除、重写权,无需小碎步确认。
26
+ - **纠错即协议**:凡被纠正,立即将正确逻辑沉淀至 Skill,禁止二次触发同类纠错。
27
+ - **角色分层**:AI 作为高度抽象的执行引擎,用户作为终态验收器。
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: diagnostic-protocol
3
+ description: 诊断与修改协议:定义证据驱动、最小侵入与可控熵减的防御性编程逻辑。
4
+ ---
5
+
6
+ # 诊断协议 (Diagnostic Protocol)
7
+
8
+ ## 1. 证据驱动 (Evidence-Driven)
9
+ - **路径**:观察事实 -> 提取证据 -> 定位根因 -> 输出方案 -> 执行。
10
+ - **准则**:
11
+ - 无证据禁止修改。
12
+ - 严禁猜测、体感修复或盲目重试。
13
+ - 日志、调用链、内存快照是唯一修改合法性证明。
14
+
15
+ ## 2. 可控熵减 (Controlled Entropy)
16
+ - **逻辑**:视“不必要的变化”为系统威胁。
17
+ - **准则**:
18
+ - **最小侵入**:改动范围限制在根因点,禁止扩大化重构(除非显式要求)。
19
+ - **反向溯源**:报错点非故障源,必须跨层级追踪至控制流源头。
20
+ - **风险前置**:先写测试/探针验证猜想,风险闭环后再应用补丁。
21
+
22
+ ## 3. 状态闭环 (State Closure)
23
+ - **准则**:
24
+ - 任何临时调试代码必须在交付前物理清除。
25
+ - 修改后必须通过环境拉取验证,确保持续集成有效。
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: evolution-protocol
3
+ description: 演进协议:定义动态解耦、系统抽象与协议优先的架构逻辑。
4
+ ---
5
+
6
+ # 演进协议 (Evolution Protocol)
7
+
8
+ ## 1. 动态解耦 (Dynamic Decoupling)
9
+ - **准则**:
10
+ - 禁止硬编码:业务逻辑与配置物理隔离。
11
+ - 路径依赖最小化:所有资源定位应具备动态发现或配置注入能力。
12
+
13
+ ## 2. 系统抽象 (Abstration First)
14
+ - **逻辑**:不解决具体问题,解决此类问题的模式。
15
+ - **准则**:
16
+ - 发现两次重复逻辑即进行接口/配置化抽象。
17
+ - 复用优先:修改前先通过全量检索确认是否存在已有组件或工具类。
18
+
19
+ ## 3. 协议语义化 (Semantic Protocol)
20
+ - **准则**:
21
+ - 模块间调用必须有清晰的契约(Interface/Type)。
22
+ - 代码即文档:通过自解释命名和逻辑分层减少外部文档依赖。
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: leanchypro
3
+ description: 激活 Leanchy Pro 协议:在基础版上强化“工具所有权”、“多工具协同”与“探针驱动”的高阶执行架构。
4
+ ---
5
+
6
+ # Leanchy Pro 协议指令 (Professional Execution)
7
+
8
+ 当执行复杂工程任务、系统重构或高价值交付时,激活 Pro 级指令集。此协议在 Leanchy 基础版之上,核心强化对工具能力的极致挖掘。
9
+
10
+ ## 0. 工具所有权 (Tool Ownership) - 拒绝吝啬
11
+ - **主动探测**:严禁在未经过充分工具验证前说“我认为”、“可能”。工具调用是获取真相的唯一手段。
12
+ - **验证冗余**:对于关键逻辑,必须通过不同维度的工具(如 `Grep` 结合 `Read`, `Bash` 结合 `Agent`)进行交叉验证。
13
+ - **结果闭环**:工具返回的每一条异常信息都必须有响应和解释,禁止忽略明显的错误信号。
14
+
15
+ ## 1. 多工具协同 (Multi-Tool Coordination) - 并行效率
16
+ - **原子任务并行**:凡是逻辑独立的操作(如查多个目录、跑不相关的测试),必须在单次响应中通过并行工具调用完成。
17
+ - **工具链化**:设计具备前导与后续依赖的工具链。前一个工具寻找锚点,后一个工具执行修改,严禁分多次对话进行。
18
+ - **上下文保鲜**:利用 `TaskCreate` 和 `TaskUpdate` 维持长程执行状态。每完成一个物理文件的修改,立即更新任务状态。
19
+
20
+ ## 2. 探针驱动 (Probe-Driven Execution) - 防御性交付
21
+ - **逻辑探针**:在应用大规模重构前,先编写临时脚本(Python/Bash)或插入打印语句进行逻辑路径覆盖测试。
22
+ - **副作用探测**:修改完成后,不仅要跑受影响点的测试,必须通过 `Grep` 全局扫描是否存在非显式依赖导致的破坏。
23
+ - **预案回滚**:所有高风险工具操作(如 `sed`, `rm`, `git reset`)执行前,必须确保当前工作区已处于 Git 追踪下或有备份。
24
+
25
+ ## 3. 纪律约束 (Discipline Layer)
26
+ - **拒绝平庸**:禁止生成模板化的、泛泛而谈的代码。每一行产出都必须符合当前 Repo 的既有范式。
27
+ - **零过渡态**:禁止向用户展示未完成的、不可编译的代码片段(除非是为了讨论特定逻辑点)。交付即终态。
28
+ - **协议回流**:在执行中发现的高价值模式,必须在任务结束前通过 `Write` 某种 `MEMO` 或 `CLAUDE.md` 的形式留存。
29
+
30
+ ---
31
+ *Pro 协议不仅是更快的执行,更是更深度的实证主义。*
package/bin/bingo CHANGED
@@ -20,34 +20,14 @@ cd "$ROOT_DIR"
20
20
 
21
21
  # ── bun 检测与自动安装 ──
22
22
  if ! command -v bun &>/dev/null && [[ ! -x "$HOME/.bun/bin/bun" ]]; then
23
- echo "[bingocode] bun 未检测到,正在通过 npm 安装..."
24
- _TMP_DIR="$(mktemp -d)"
25
- _ARCH="$(uname -m)"
26
- if [[ "$_ARCH" == "aarch64" || "$_ARCH" == "arm64" ]]; then
27
- _BUN_PKG="@oven/bun-linux-aarch64"
23
+ echo "[bingocode] bun 未检测到,正在通过 npm install -g bun 安装..."
24
+ if npm install -g bun --loglevel error; then
25
+ echo "[bingocode] bun 安装完成,正在启动..."
26
+ export PATH="$HOME/.bun/bin:$PATH"
28
27
  else
29
- _BUN_PKG="@oven/bun-linux-x64"
30
- fi
31
-
32
- if npm install "$_BUN_PKG" --prefix "$_TMP_DIR" --no-save --loglevel error; then
33
- _BUN_SRC="$_TMP_DIR/node_modules/$_BUN_PKG/bin/bun"
34
- if [[ -f "$_BUN_SRC" ]]; then
35
- mkdir -p "$HOME/.bun/bin"
36
- cp "$_BUN_SRC" "$HOME/.bun/bin/bun"
37
- chmod +x "$HOME/.bun/bin/bun"
38
- export PATH="$HOME/.bun/bin:$PATH"
39
- echo "[bingocode] bun 安装完成,正在启动..."
40
- else
41
- echo "[bingocode] 安装失败:未找到 $_BUN_SRC" >&2
42
- rm -rf "$_TMP_DIR"
43
- exit 1
44
- fi
45
- else
46
- echo "[bingocode] npm install $_BUN_PKG 失败,请手动安装 bun: https://bun.sh" >&2
47
- rm -rf "$_TMP_DIR"
28
+ echo "[bingocode] npm install -g bun 失败,请手动安装 bun: https://bun.sh" >&2
48
29
  exit 1
49
30
  fi
50
- rm -rf "$_TMP_DIR"
51
31
  fi
52
32
 
53
33
  BUN_BIN="$(command -v bun 2>/dev/null || echo "$HOME/.bun/bin/bun")"
package/bin/bingo-win.cjs CHANGED
@@ -72,43 +72,26 @@ function bunExists() {
72
72
  }
73
73
  }
74
74
 
75
- // 安装 bun(通过 npm 拉取官方包,不走 GitHub/bun.sh
75
+ // 安装 bun(通过 npm install -g bun)
76
76
  function installBun() {
77
- console.log('[bingocode] bun 未检测到,正在通过 npm 安装...');
77
+ console.log('[bingocode] bun 未检测到,正在通过 npm install -g bun 安装...');
78
78
 
79
- // 用 npm install 拉取平台对应包,安装到临时目录后复制 bun.exe
80
- const tmpDir = path.join(os.tmpdir(), 'bingocode-bun-install');
81
79
  try {
82
- fs.mkdirSync(tmpDir, { recursive: true });
83
-
84
- // npm install @oven/bun-windows-x64 到临时目录
85
80
  const npmResult = spawnSync(
86
81
  'npm',
87
- ['install', '@oven/bun-windows-x64', '--prefix', tmpDir, '--no-save', '--loglevel', 'error'],
82
+ ['install', '-g', 'bun', '--loglevel', 'error'],
88
83
  { stdio: 'inherit', shell: true }
89
84
  );
90
85
  if (npmResult.status !== 0) {
91
- throw new Error(`npm install 失败,exit code ${npmResult.status}`);
92
- }
93
-
94
- // 从 node_modules 复制 bun.exe → ~/.bun/bin/bun.exe
95
- const src = path.join(tmpDir, 'node_modules', '@oven', 'bun-windows-x64', 'bin', 'bun.exe');
96
- if (!fs.existsSync(src)) {
97
- throw new Error(`未找到 ${src}`);
86
+ throw new Error(`npm install -g bun 失败,exit code ${npmResult.status}`);
98
87
  }
99
- const destDir = path.dirname(bunPath);
100
- if (!fs.existsSync(destDir)) fs.mkdirSync(destDir, { recursive: true });
101
- fs.copyFileSync(src, bunPath);
102
88
 
103
89
  console.log('[bingocode] bun 安装完成,正在启动...');
104
90
  return true;
105
91
  } catch (err) {
106
92
  console.error(`[bingocode] bun 自动安装失败: ${err.message}`);
107
- console.log('[bingocode] 请手动安装 bun: npm install -g @oven/bun-windows-x64');
93
+ console.log('[bingocode] 请手动安装 bun: npm install -g bun');
108
94
  return false;
109
- } finally {
110
- // 清理临时目录(非阻塞)
111
- try { fs.rmSync(tmpDir, { recursive: true, force: true }); } catch (_) {}
112
95
  }
113
96
  }
114
97
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingocode",
3
- "version": "1.1.136",
3
+ "version": "1.1.137",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "claude": "bin/claude-win.cjs",