AI Agent CLI tool rewritten in MoonBit
本表由 scripts/repo_stats.sh 生成并由 CI 校验;不要手改生成块。
| 指标 | 数值 |
|---|---|
| 版本(moon.mod / cmd VERSION / tui / web 四处一致) | 0.3.1 |
| 源代码文件(.mbt,lib+cmd,不含测试) | 316 |
| 测试文件(*_wbtest.mbt + *_test.mbt) | 242 |
| 源代码行数 | 106,298 |
| 测试行数 | 65,971 |
| 总行数 | 172,269 |
| 测试用例(moon test --release,本模块 scoped 口径 = CI 主测试步 + test/e2e 独立作业;lib/mcp 另一步单独跑、不计入) | 4086 |
| 包(lib 一级包 / cmd 入口 / moon.pkg 总数) | 25 / 1 / 30 |
| pkg.generated.mbti(git 入库) | 32 |
| Provider 预设 | 13 |
| 内置工具 | 14 |
| 默认 Skill | 16 |
| REST 路由注册(crescent,lib/web/server.mbt) | 214(GET 86 / POST 86 / PATCH 15 / DELETE 18 / PUT 9) |
| moon check | 0 errors / 0 warnings |
moon update
moon check
moon build --target native --release cmd
BIN=./_build/native/release/build/cmd/cmd.exe
"$BIN" --message "Hello"
"$BIN" # TUI
"$BIN" server # Web,http://127.0.0.1:7071"$BIN" selftest --repo .
"$BIN" eval --offline --repo .
"$BIN" journey --repo .
"$BIN" benchmarkmoon test --release $(find lib cmd test -name moon.pkg | sed 's|/moon.pkg$||')cmd/ CLI 入口与子命令
lib/agent/ Agent、ReAct、会话、提示词、记忆、子代理、压缩
lib/client/ LLM 协议、流式聚合、平台 HTTP
lib/tool/ 14 个 AnyTool 实现、PTY、安全策略
lib/skill/ Skill 解析/发现/执行与 GEP 进化
lib/extension/ 扩展加载、校验、打包、市场、Patch/API 贡献
lib/mcp/ MCP client/server 与传输
lib/channel/ 6 个 IM 适配器与连接循环
lib/web/ + web/ Web 后端与原生 JS 前端
lib/tui/ Inline Scrolling TUI
lib/protocol/ 引擎事件与 wire 词表
test/ 层 1-9 测试、评测、旅程、基准与浏览器 E2E
assets/ Agent profile、Skill、内置扩展
deploy/ Docker Compose、systemd、logrotate
specs/ Harness v2 spec、模板与 ADR| 闸门 | 命令 | 作用 |
|---|---|---|
| 类型/警告 | moon check -d | 全仓 0 error / 0 warning |
| 公共 API | moon info,再检查 pkg.generated.mbti diff | 防止未提交接口变化 |
| CLI 契约 | <binary> selftest --repo . | 退出码、stdout/stderr 形状、panic 泄漏 |
| 确定性评测 | <binary> eval --offline --repo . | 工具层任务成功且可重复 |
| 真话台账 | scripts/known_gaps.sh check | 缺口扫描与人工状态一致 |
| 数字一致性 | scripts/repo_stats.sh check | README/AGENTS/project-status 数字不过期 |
| 测试 | scoped moon test | 本模块回归 |