firmwareloop 0.1.5__tar.gz → 0.1.6__tar.gz

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 (35) hide show
  1. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/PKG-INFO +9 -6
  2. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/README.md +8 -5
  3. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/firmwareloop.egg-info/PKG-INFO +9 -6
  4. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/pyproject.toml +1 -1
  5. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/__init__.py +1 -1
  6. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/fw_mcp_server.py +61 -14
  7. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/setup-agent-mcp.ps1 +2 -2
  8. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/LICENSE +0 -0
  9. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/firmwareloop.egg-info/SOURCES.txt +0 -0
  10. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/firmwareloop.egg-info/dependency_links.txt +0 -0
  11. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/firmwareloop.egg-info/entry_points.txt +0 -0
  12. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/firmwareloop.egg-info/requires.txt +0 -0
  13. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/firmwareloop.egg-info/top_level.txt +0 -0
  14. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/setup.cfg +0 -0
  15. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/acceptance-scenario.ps1 +0 -0
  16. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/build.ps1 +0 -0
  17. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/can.ps1 +0 -0
  18. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/check-qoder-mcp.ps1 +0 -0
  19. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/common/build-backends.psm1 +0 -0
  20. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/common/fw.psm1 +0 -0
  21. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/common/uart_probe.py +0 -0
  22. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/doctor.ps1 +0 -0
  23. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/flash.ps1 +0 -0
  24. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/instrument_cli.py +0 -0
  25. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/lib/__init__.py +0 -0
  26. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/lib/instruments.py +0 -0
  27. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/lib/ndtdbg.py +0 -0
  28. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/logic_capture.ps1 +0 -0
  29. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/logic_decode.ps1 +0 -0
  30. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/ndtdbg_bridge.ps1 +0 -0
  31. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/ndtdbg_cli.py +0 -0
  32. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/reset.ps1 +0 -0
  33. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/sigrok_csv_to_fwloop.py +0 -0
  34. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/test-backends.ps1 +0 -0
  35. {firmwareloop-0.1.5 → firmwareloop-0.1.6}/tools/test.ps1 +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firmwareloop
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: AI Agent Firmware Development and Lab Automation Platform (Dual-Tier MCP Server)
5
5
  Author-email: WeilinZhang <19523330249@163.com>
6
6
  License: MIT
@@ -124,7 +124,7 @@ uv tool install agentic-hil
124
124
  如需用 Agent 直接操作 NdtBox(固件寄存器读写 / 数据采集 / 逻辑分析仪协议验证),安装后执行一次:
125
125
 
126
126
  ```bash
127
- # 1) 全局注册各 AI Agent(Antigravity / Claude Code / Qoder),并生成机器级配置模板
127
+ # 1) 全局注册各 AI Agent(Antigravity / Claude Code / Qoder / CodeBuddy),并生成机器级配置模板
128
128
  fwloop setup
129
129
 
130
130
  # 2) 指向你的 NdtDebugTool 分发包【根目录】——命令自动定位其 lib/(含 USBIOX.DLL)并写入配置
@@ -163,7 +163,10 @@ claude mcp add --scope user agentic-hil -- agentic-hil mcp-stdio
163
163
 
164
164
  不要依赖 `qoder.cmd --add-mcp`:它写到 `%APPDATA%\Qoder\User\mcp.json`,设置页看不到。
165
165
 
166
- 4. **Cursor / 其他 IDE**(在工程根目录的 `.mcp.json` 中并联配置):
166
+ 4. **CodeBuddy IDE**:
167
+ `fwloop setup` 会合并写入用户级配置 `~/.codebuddy/mcp.json`(`mcpServers` 形状与 Qoder 兼容,含官方 `description` 字段;既有条目与 `env` 自定义字段保留)。`~/.codebuddy` 目录不存在时自动跳过。
168
+
169
+ 5. **Cursor / 其他 IDE**(在工程根目录的 `.mcp.json` 中并联配置):
167
170
  ```json
168
171
  {
169
172
  "mcpServers": {
@@ -203,7 +206,7 @@ fwloop init
203
206
 
204
207
  | 命令 | 适用级别 | 核心作用 | 使用时机 |
205
208
  |---|---|---|---|
206
- | **`fwloop setup`** | **系统全局级** | 给各大 Agent(Antigravity / Claude Code / Qoder / Qoder CN)配置全局 MCP 与同步技能包 | **全电脑只需跑 1 次** |
209
+ | **`fwloop setup`** | **系统全局级** | 给各大 Agent(Antigravity / Claude Code / Qoder / Qoder CN / CodeBuddy)配置全局 MCP 与同步技能包 | **全电脑只需跑 1 次** |
207
210
  | **`fwloop init`** | **工程项目级** | 在当前单片机代码目录下生成 `AGENTS.md`、`GEMINI.md`、`CLAUDE.md` 与台架配置 | **每个新单片机项目跑 1 次** |
208
211
  | **`fwloop doctor`** | **环境诊断** | 检查编译器(Keil/GCC)、Python 环境、串口与探针连接健康度 | 随时排查环境时使用 |
209
212
  | **`fwloop update`** | **自动更新** | 一键自动拉取最新代码并热重载依赖 | 升级工具版本时使用 |
@@ -359,7 +362,7 @@ claude mcp remove --scope user agentic-hil
359
362
  ├── demo-firmware/ 示例固件(CMake;宿主编译模拟 MCU,闭环验证载体)
360
363
  ├── demo-make/ 示例固件(Make;构建测试载体)
361
364
  ├── docs/ DEPENDENCY_MATRIX / REUSE_PLAN / V0.0.2_GAP_VERIFICATION
362
- ├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.1.5)
365
+ ├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.1.6)
363
366
  ├── .mcp.example.json 双层 MCP 配置模板(firmwareloop + agentic-hil)
364
367
  ├── AGENTS.md 通用智能体规范(Antigravity / Qoder / Cursor 等)
365
368
  ├── CLAUDE.md Claude Code CLI 指南
@@ -369,7 +372,7 @@ claude mcp remove --scope user agentic-hil
369
372
 
370
373
  ---
371
374
 
372
- ## 能力验证状态(v0.1.5)
375
+ ## 能力验证状态(v0.1.6)
373
376
 
374
377
  > 状态定义:`Implemented`(已实现)/ `Simulator Validated`(模拟验证)/
375
378
  > `Real Hardware Validated`(真机验证)/ `Experimental` / `Not Implemented`
@@ -96,7 +96,7 @@ uv tool install agentic-hil
96
96
  如需用 Agent 直接操作 NdtBox(固件寄存器读写 / 数据采集 / 逻辑分析仪协议验证),安装后执行一次:
97
97
 
98
98
  ```bash
99
- # 1) 全局注册各 AI Agent(Antigravity / Claude Code / Qoder),并生成机器级配置模板
99
+ # 1) 全局注册各 AI Agent(Antigravity / Claude Code / Qoder / CodeBuddy),并生成机器级配置模板
100
100
  fwloop setup
101
101
 
102
102
  # 2) 指向你的 NdtDebugTool 分发包【根目录】——命令自动定位其 lib/(含 USBIOX.DLL)并写入配置
@@ -135,7 +135,10 @@ claude mcp add --scope user agentic-hil -- agentic-hil mcp-stdio
135
135
 
136
136
  不要依赖 `qoder.cmd --add-mcp`:它写到 `%APPDATA%\Qoder\User\mcp.json`,设置页看不到。
137
137
 
138
- 4. **Cursor / 其他 IDE**(在工程根目录的 `.mcp.json` 中并联配置):
138
+ 4. **CodeBuddy IDE**:
139
+ `fwloop setup` 会合并写入用户级配置 `~/.codebuddy/mcp.json`(`mcpServers` 形状与 Qoder 兼容,含官方 `description` 字段;既有条目与 `env` 自定义字段保留)。`~/.codebuddy` 目录不存在时自动跳过。
140
+
141
+ 5. **Cursor / 其他 IDE**(在工程根目录的 `.mcp.json` 中并联配置):
139
142
  ```json
140
143
  {
141
144
  "mcpServers": {
@@ -175,7 +178,7 @@ fwloop init
175
178
 
176
179
  | 命令 | 适用级别 | 核心作用 | 使用时机 |
177
180
  |---|---|---|---|
178
- | **`fwloop setup`** | **系统全局级** | 给各大 Agent(Antigravity / Claude Code / Qoder / Qoder CN)配置全局 MCP 与同步技能包 | **全电脑只需跑 1 次** |
181
+ | **`fwloop setup`** | **系统全局级** | 给各大 Agent(Antigravity / Claude Code / Qoder / Qoder CN / CodeBuddy)配置全局 MCP 与同步技能包 | **全电脑只需跑 1 次** |
179
182
  | **`fwloop init`** | **工程项目级** | 在当前单片机代码目录下生成 `AGENTS.md`、`GEMINI.md`、`CLAUDE.md` 与台架配置 | **每个新单片机项目跑 1 次** |
180
183
  | **`fwloop doctor`** | **环境诊断** | 检查编译器(Keil/GCC)、Python 环境、串口与探针连接健康度 | 随时排查环境时使用 |
181
184
  | **`fwloop update`** | **自动更新** | 一键自动拉取最新代码并热重载依赖 | 升级工具版本时使用 |
@@ -331,7 +334,7 @@ claude mcp remove --scope user agentic-hil
331
334
  ├── demo-firmware/ 示例固件(CMake;宿主编译模拟 MCU,闭环验证载体)
332
335
  ├── demo-make/ 示例固件(Make;构建测试载体)
333
336
  ├── docs/ DEPENDENCY_MATRIX / REUSE_PLAN / V0.0.2_GAP_VERIFICATION
334
- ├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.1.5)
337
+ ├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.1.6)
335
338
  ├── .mcp.example.json 双层 MCP 配置模板(firmwareloop + agentic-hil)
336
339
  ├── AGENTS.md 通用智能体规范(Antigravity / Qoder / Cursor 等)
337
340
  ├── CLAUDE.md Claude Code CLI 指南
@@ -341,7 +344,7 @@ claude mcp remove --scope user agentic-hil
341
344
 
342
345
  ---
343
346
 
344
- ## 能力验证状态(v0.1.5)
347
+ ## 能力验证状态(v0.1.6)
345
348
 
346
349
  > 状态定义:`Implemented`(已实现)/ `Simulator Validated`(模拟验证)/
347
350
  > `Real Hardware Validated`(真机验证)/ `Experimental` / `Not Implemented`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firmwareloop
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: AI Agent Firmware Development and Lab Automation Platform (Dual-Tier MCP Server)
5
5
  Author-email: WeilinZhang <19523330249@163.com>
6
6
  License: MIT
@@ -124,7 +124,7 @@ uv tool install agentic-hil
124
124
  如需用 Agent 直接操作 NdtBox(固件寄存器读写 / 数据采集 / 逻辑分析仪协议验证),安装后执行一次:
125
125
 
126
126
  ```bash
127
- # 1) 全局注册各 AI Agent(Antigravity / Claude Code / Qoder),并生成机器级配置模板
127
+ # 1) 全局注册各 AI Agent(Antigravity / Claude Code / Qoder / CodeBuddy),并生成机器级配置模板
128
128
  fwloop setup
129
129
 
130
130
  # 2) 指向你的 NdtDebugTool 分发包【根目录】——命令自动定位其 lib/(含 USBIOX.DLL)并写入配置
@@ -163,7 +163,10 @@ claude mcp add --scope user agentic-hil -- agentic-hil mcp-stdio
163
163
 
164
164
  不要依赖 `qoder.cmd --add-mcp`:它写到 `%APPDATA%\Qoder\User\mcp.json`,设置页看不到。
165
165
 
166
- 4. **Cursor / 其他 IDE**(在工程根目录的 `.mcp.json` 中并联配置):
166
+ 4. **CodeBuddy IDE**:
167
+ `fwloop setup` 会合并写入用户级配置 `~/.codebuddy/mcp.json`(`mcpServers` 形状与 Qoder 兼容,含官方 `description` 字段;既有条目与 `env` 自定义字段保留)。`~/.codebuddy` 目录不存在时自动跳过。
168
+
169
+ 5. **Cursor / 其他 IDE**(在工程根目录的 `.mcp.json` 中并联配置):
167
170
  ```json
168
171
  {
169
172
  "mcpServers": {
@@ -203,7 +206,7 @@ fwloop init
203
206
 
204
207
  | 命令 | 适用级别 | 核心作用 | 使用时机 |
205
208
  |---|---|---|---|
206
- | **`fwloop setup`** | **系统全局级** | 给各大 Agent(Antigravity / Claude Code / Qoder / Qoder CN)配置全局 MCP 与同步技能包 | **全电脑只需跑 1 次** |
209
+ | **`fwloop setup`** | **系统全局级** | 给各大 Agent(Antigravity / Claude Code / Qoder / Qoder CN / CodeBuddy)配置全局 MCP 与同步技能包 | **全电脑只需跑 1 次** |
207
210
  | **`fwloop init`** | **工程项目级** | 在当前单片机代码目录下生成 `AGENTS.md`、`GEMINI.md`、`CLAUDE.md` 与台架配置 | **每个新单片机项目跑 1 次** |
208
211
  | **`fwloop doctor`** | **环境诊断** | 检查编译器(Keil/GCC)、Python 环境、串口与探针连接健康度 | 随时排查环境时使用 |
209
212
  | **`fwloop update`** | **自动更新** | 一键自动拉取最新代码并热重载依赖 | 升级工具版本时使用 |
@@ -359,7 +362,7 @@ claude mcp remove --scope user agentic-hil
359
362
  ├── demo-firmware/ 示例固件(CMake;宿主编译模拟 MCU,闭环验证载体)
360
363
  ├── demo-make/ 示例固件(Make;构建测试载体)
361
364
  ├── docs/ DEPENDENCY_MATRIX / REUSE_PLAN / V0.0.2_GAP_VERIFICATION
362
- ├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.1.5)
365
+ ├── pyproject.toml 标准 Python 包配置与 CLI 入口声明 (v0.1.6)
363
366
  ├── .mcp.example.json 双层 MCP 配置模板(firmwareloop + agentic-hil)
364
367
  ├── AGENTS.md 通用智能体规范(Antigravity / Qoder / Cursor 等)
365
368
  ├── CLAUDE.md Claude Code CLI 指南
@@ -369,7 +372,7 @@ claude mcp remove --scope user agentic-hil
369
372
 
370
373
  ---
371
374
 
372
- ## 能力验证状态(v0.1.5)
375
+ ## 能力验证状态(v0.1.6)
373
376
 
374
377
  > 状态定义:`Implemented`(已实现)/ `Simulator Validated`(模拟验证)/
375
378
  > `Real Hardware Validated`(真机验证)/ `Experimental` / `Not Implemented`
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "firmwareloop"
7
- version = "0.1.5"
7
+ version = "0.1.6"
8
8
  description = "AI Agent Firmware Development and Lab Automation Platform (Dual-Tier MCP Server)"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -2,4 +2,4 @@
2
2
  FirmwareLoop - AI Agent Firmware Development and Lab Automation Platform.
3
3
  """
4
4
 
5
- __version__ = "0.1.5"
5
+ __version__ = "0.1.6"
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
- fw_mcp_server.py - FirmwareLoop High-Level Workflow & Device MCP Server (v0.1.5).
3
+ fw_mcp_server.py - FirmwareLoop High-Level Workflow & Device MCP Server (v0.1.6).
4
4
 
5
5
  Exposes high-level firmware engineering and hardware management tools to AI Coding
6
- Agents (Antigravity CLI, Claude Code CLI, Qoder IDE, Cursor) via the Model Context
6
+ Agents (Antigravity CLI, Claude Code CLI, Qoder IDE, CodeBuddy IDE, Cursor) via the Model Context
7
7
  Protocol (JSON-RPC 2.0 stdio).
8
8
 
9
9
  Tools provided:
@@ -1433,7 +1433,7 @@ def process_request(req: Dict[str, Any]) -> Optional[Dict[str, Any]]:
1433
1433
  },
1434
1434
  "serverInfo": {
1435
1435
  "name": "firmwareloop",
1436
- "version": "0.1.5"
1436
+ "version": "0.1.6"
1437
1437
  }
1438
1438
  }
1439
1439
  }
@@ -1525,7 +1525,7 @@ def process_request(req: Dict[str, Any]) -> Optional[Dict[str, Any]]:
1525
1525
  def handle_cli_update() -> int:
1526
1526
  """Handle `firmwareloop update` command."""
1527
1527
  print("============================================================")
1528
- print(" FirmwareLoop Auto-Updater (v0.1.5)")
1528
+ print(" FirmwareLoop Auto-Updater (v0.1.6)")
1529
1529
  print("============================================================")
1530
1530
 
1531
1531
  is_git_repo = os.path.exists(os.path.join(REPO_ROOT, ".git"))
@@ -1674,6 +1674,39 @@ def configure_qoder_user_mcp(user_home: str) -> List[Dict[str, Any]]:
1674
1674
  return results
1675
1675
 
1676
1676
 
1677
+ CODEBUDDY_USER_MCP_SERVERS = {
1678
+ "firmwareloop": {
1679
+ "command": "fwloop",
1680
+ "type": "stdio",
1681
+ "description": "FirmwareLoop firmware engineering & lab automation MCP server",
1682
+ },
1683
+ "agentic-hil": {
1684
+ "command": "agentic-hil",
1685
+ "args": ["mcp-stdio"],
1686
+ "type": "stdio",
1687
+ "description": "agentic-hil hardware bench MCP server",
1688
+ },
1689
+ }
1690
+
1691
+
1692
+ def configure_codebuddy_user_mcp(user_home: str) -> Dict[str, Any]:
1693
+ """Write firmwareloop MCP entries into the CodeBuddy IDE user-level ~/.codebuddy/mcp.json.
1694
+
1695
+ CodeBuddy reads the same mcpServers JSON shape as Qoder (type/command/args,
1696
+ plus an optional per-entry "description" per official docs), so the Qoder
1697
+ merge helper is reused with a CodeBuddy-specific payload.
1698
+ """
1699
+ mcp_dir = os.path.join(user_home, ".codebuddy")
1700
+ mcp_file = os.path.join(mcp_dir, "mcp.json")
1701
+ if not os.path.isdir(mcp_dir):
1702
+ return {"ok": False, "path": mcp_file, "reason": "not_installed"}
1703
+ try:
1704
+ upsert_qoder_mcp_json(mcp_file, CODEBUDDY_USER_MCP_SERVERS)
1705
+ return {"ok": True, "path": mcp_file}
1706
+ except Exception as exc:
1707
+ return {"ok": False, "path": mcp_file, "reason": str(exc)}
1708
+
1709
+
1677
1710
  def resolve_ndtdebugtool_lib(tool_root: str) -> str:
1678
1711
  """Resolve the NdtDebugTool lib directory (must contain USBIOX.DLL)."""
1679
1712
  if not tool_root or not os.path.isdir(tool_root):
@@ -1760,9 +1793,9 @@ def set_ndtdbg_dlldir(dll_path: str) -> str:
1760
1793
 
1761
1794
 
1762
1795
  def handle_cli_setup() -> int:
1763
- """Handle `firmwareloop setup` command: simultaneously configure Antigravity CLI, Claude Code CLI, and Qoder IDE."""
1796
+ """Handle `firmwareloop setup` command: simultaneously configure Antigravity CLI, Claude Code CLI, Qoder IDE, and CodeBuddy IDE."""
1764
1797
  print("============================================================")
1765
- print(" FirmwareLoop Multi-Agent Global Setup Helper (v0.1.5)")
1798
+ print(" FirmwareLoop Multi-Agent Global Setup Helper (v0.1.6)")
1766
1799
  print("============================================================")
1767
1800
  print("")
1768
1801
 
@@ -1834,7 +1867,19 @@ def handle_cli_setup() -> int:
1834
1867
  continue
1835
1868
  print(f" - {item['edition']}: [Warning] Could not write {item['path']}: {item.get('reason')}")
1836
1869
 
1837
- # 4. Global Skills Sync for Antigravity and Claude Code
1870
+ # 4. CodeBuddy IDE user-level MCP (~/.codebuddy/mcp.json)
1871
+ # Same mcpServers JSON shape as Qoder; supports an optional per-entry "description".
1872
+ print("\n[4] CodeBuddy IDE:")
1873
+ cb_result = configure_codebuddy_user_mcp(user_home)
1874
+ if cb_result.get("ok"):
1875
+ print(f" - User MCP: [OK] Written to {cb_result['path']}")
1876
+ configured_agents.append("CodeBuddy")
1877
+ elif cb_result.get("reason") == "not_installed":
1878
+ print(" - User MCP: ~/.codebuddy not found (Workspace .mcp.json still supported)")
1879
+ else:
1880
+ print(f" - User MCP: [Warning] Could not write {cb_result['path']}: {cb_result.get('reason')}")
1881
+
1882
+ # 5. Global Skills Sync for Antigravity and Claude Code
1838
1883
  ag_skills_dir = os.path.join(user_home, ".gemini", "antigravity-cli", "skills")
1839
1884
  claude_skills_dir = os.path.join(user_home, ".claude", "skills")
1840
1885
  source_skills_dir = os.path.join(REPO_ROOT, "skills")
@@ -1855,14 +1900,14 @@ def handle_cli_setup() -> int:
1855
1900
  except Exception:
1856
1901
  pass
1857
1902
 
1858
- print(f"\n[4] Global Skills:")
1903
+ print(f"\n[5] Global Skills:")
1859
1904
  print(f" - Synchronized: [OK] {skills_synced} skills (firmwareloop, fwloop-adapter) to Antigravity & Claude Code")
1860
1905
 
1861
1906
  # 5. Machine-level global lab.yaml (ndtdbg config for the globally installed tool)
1862
1907
  global_cfg = ensure_global_lab_yaml()
1863
1908
  if global_cfg:
1864
1909
  exists = " [已存在, 未覆盖]" if os.path.isfile(global_cfg) else " [已创建]"
1865
- print("\n[5] NdtBox 全局配置:")
1910
+ print("\n[6] NdtBox 全局配置:")
1866
1911
  print(f" - {global_cfg}{exists}")
1867
1912
  print(" - 若未配置, 请运行: fwloop ndtdebugtool \"<NdtDebugTool 根目录>\"")
1868
1913
 
@@ -1875,7 +1920,7 @@ def handle_cli_setup() -> int:
1875
1920
  def handle_cli_init() -> int:
1876
1921
  """Handle `firmwareloop init` command."""
1877
1922
  print("============================================================")
1878
- print(" FirmwareLoop Multi-Agent Project Initializer (v0.1.5)")
1923
+ print(" FirmwareLoop Multi-Agent Project Initializer (v0.1.6)")
1879
1924
  print("============================================================")
1880
1925
  cwd = os.getcwd()
1881
1926
  print(f"[*] Initializing multi-agent guidelines & bench config in:\n {cwd}\n")
@@ -1887,7 +1932,7 @@ def handle_cli_init() -> int:
1887
1932
  print(" [*] All agent instruction files (AGENTS.md, CLAUDE.md, GEMINI.md, lab.yaml, .mcp.json) already exist.")
1888
1933
  print("")
1889
1934
  print("============================================================")
1890
- print("[+] Done! All AI Coding Agents (Claude Code, Qoder, Antigravity, Cursor) are now ready to operate in this repository.")
1935
+ print("[+] Done! All AI Coding Agents (Claude Code, Qoder, Antigravity, CodeBuddy, Cursor) are now ready to operate in this repository.")
1891
1936
  print("============================================================")
1892
1937
  return 0
1893
1938
  else:
@@ -1896,7 +1941,7 @@ def handle_cli_init() -> int:
1896
1941
 
1897
1942
 
1898
1943
  def print_cli_help() -> None:
1899
- print("""FirmwareLoop (fwloop) — AI Agent Firmware Engineering & Lab Automation Platform (v0.1.5)
1944
+ print("""FirmwareLoop (fwloop) — AI Agent Firmware Engineering & Lab Automation Platform (v0.1.6)
1900
1945
 
1901
1946
  Usage:
1902
1947
  fwloop [command] (or: firmwareloop [command])
@@ -1905,7 +1950,9 @@ Commands:
1905
1950
  init Initialize multi-agent rules (AGENTS.md, CLAUDE.md, GEMINI.md) & lab.yaml in current project
1906
1951
  update Check and update FirmwareLoop to the latest version
1907
1952
  doctor Run environment & toolchain diagnostics
1908
- setup Print or generate AI Agent MCP registration commands
1953
+ setup Register AI Agent MCP globally & generate machine-level config (%APPDATA%\\FirmwareLoop\\lab.yaml)
1954
+ ndtdebugtool DIR Configure NdtBox: point to the NdtDebugTool folder root (auto-resolves its lib/)
1955
+ dlldir DIR Alias of ndtdebugtool (legacy name, pass the lib/ directory directly)
1909
1956
  version, -v Show current version
1910
1957
  help, -h Show this help message
1911
1958
 
@@ -1934,7 +1981,7 @@ def main() -> None:
1934
1981
  sys.exit(2)
1935
1982
  sys.exit(handle_cli_ndtdebugtool(args[1]))
1936
1983
  elif cmd in ["version", "-v", "--version"]:
1937
- print("FirmwareLoop v0.1.5")
1984
+ print("FirmwareLoop v0.1.6")
1938
1985
  sys.exit(0)
1939
1986
  elif cmd in ["help", "-h", "--help"]:
1940
1987
  print_cli_help()
@@ -1,6 +1,6 @@
1
1
  <#
2
2
  .SYNOPSIS
3
- Dual-Tier MCP setup and registration helper (v0.1.5).
3
+ Dual-Tier MCP setup and registration helper (v0.1.6).
4
4
  Inspects installed AI coding agents (Qoder, Claude Code, Antigravity, Cursor)
5
5
  and configures global MCP / skills or prints exact registration commands.
6
6
 
@@ -242,7 +242,7 @@ if ($Json) {
242
242
  Write-FwJson ([pscustomobject]$report)
243
243
  } else {
244
244
  Write-Host "============================================================" -ForegroundColor Cyan
245
- Write-Host " FirmwareLoop Dual-Tier MCP & Agent Setup Helper (v0.1.5)" -ForegroundColor Green
245
+ Write-Host " FirmwareLoop Dual-Tier MCP & Agent Setup Helper (v0.1.6)" -ForegroundColor Green
246
246
  Write-Host "============================================================" -ForegroundColor Cyan
247
247
  Write-Host ""
248
248
  Write-Host "[1] Google Antigravity / Gemini CLI:" -ForegroundColor Yellow
File without changes
File without changes
File without changes