Skip to main content

Crate wanning_init

Crate wanning_init 

Source
Expand description

wanning-init:给编码工具吐 Wanning MCP 配置的生成器(W-36)。

产品边界(与 wanning-demo 演示台分开):本 crate 是对端工具的接入生成器—— 零网络、零真实消费、零文件副作用(默认只打印 stdout;写文件必须显式 --out 且绝不覆盖已存在文件,动别人工具的配置 = 危险动作,拒)。

平台契约来源(零编造):

  • claude-code:仓内 .mcp.json 现物(W-19 真插实测),${CLAUDE_PROJECT_DIR:-.} 路径变量;
  • trae:仓内 .trae/mcp.json 现物,${workspaceFolder} 路径变量(W-17 直核);
  • codex:~/.codex/config.toml[mcp_servers.<id>] 片段,W-35 直核无路径 变量 → 绝对路径占位符 + TOML # 注释;
  • kimi:.kimi-code/mcp.json(用户级 $KIMI_CODE_HOME/mcp.json 或项目级), W-40 本机隔离实验修订——kimi-code 0.39.1 实测无 kimi mcp 子命令(W-17 的 kimi mcp add 属 legacy kimi-cli 挂法),mcpServers 形态无 type 字段、 无 ${...} 变量 → 绝对路径占位符,严格 JSON 无注释;
  • workbuddy:.workbuddy/mcp.json(W-37 直核官方 MCP-Guide),mcpServers 结构 同款但字段面无 type(官方示例只有 command/args/env),文档未提及 ${...} 变量 → 绝对路径占位符;W-17 曾查不到,W-37 换路数(robots/sitemap 绕开 JS 首页)破冰,见 docs/research/workbuddy.md。

注释纪律:各工具注释语法不同——TOML/shell 用 # 行内注释;严格 JSON 没有 注释语法,claude-code/trae 的说明只能打在 stdout 的 Artifact::notes (文件内容保持纯净 JSON,防解析崩)。

Structs§

Artifact
一份生成物:notes 打在 stdout(说明/警示),content 是落盘/复制的净内容。

Enums§

InitError
生成失败:未知平台,fail-closed 列全矩阵。
Platform
支持的平台(生成器矩阵;字段权威=仓内现物与调研文档,见模块文档)。

Functions§

generate
生成一份平台配置。内容与仓内现物/调研逐字段契约锁定 (见 crates/wanning-init/tests/matrix.rs)。
parse_platform
解析 --platform 取值;未知值 fail-closed 列全矩阵。