{"_id":"@angli/unit-test-tool","_rev":"8-b93e7a0d351fd7a5bf2d9e68783aac14","name":"@angli/unit-test-tool","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.0":{"name":"@angli/unit-test-tool","version":"0.1.0","_id":"@angli/unit-test-tool@0.1.0","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/cli/index.js"},"dist":{"shasum":"aadb256dbb3feba31a1365e126a3bf383a746ac6","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.0.tgz","fileCount":151,"integrity":"sha512-45SRz9tg9hLVUccEPR61QAncvRVvyga1qJDLOUHRv7X1IyblE40jiAwIqfP1N3wHQDP7Yq/yglxhYghmkkjAEg==","signatures":[{"sig":"MEUCIAcAggERJ2B34G8V44tSunaD6fOmbiY8eSo7cr9W79KDAiEAwIBsSj582kwAwjOVA4cq1rRfkKQ5qJAtbSkFVYq7UnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260318},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.0_1775325637332_0.32876502707264676","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@angli/unit-test-tool","version":"0.1.1","_id":"@angli/unit-test-tool@0.1.1","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/src/cli/index.js"},"dist":{"shasum":"a7e30baaa83efbc2f879947dd7fb950954bfab87","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.1.tgz","fileCount":151,"integrity":"sha512-mb5wrcYNmpd8EctJIH4RGiuPiSUu3LskxD/7C1erEU2wvfiWZHz4nl/fBdbvVpDetvrGrtkyMlNoUGblZ2QXkQ==","signatures":[{"sig":"MEQCIDIF1xM1bTqJV5fhQVhGRX16SvXuLweEez1BWNf/lJagAiB/bLQelDnDZoyGCxRe/9Hu/ZPDDxE4VAITf3o3l4OPww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260479},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.1_1775326181970_0.10980243776943244","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@angli/unit-test-tool","version":"0.1.2","_id":"@angli/unit-test-tool@0.1.2","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/src/cli/index.js"},"dist":{"shasum":"f7bee03501be33ea3ae8cad285e2238019fce0fe","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.2.tgz","fileCount":151,"integrity":"sha512-yppCAngj+fVJFwv3UTNuOY9fZ5OlcIbXO1XvZy4jeqDAt233SybiCrOtDi2dE8XZ3vLuExLqutJ3+NtSjRiVOQ==","signatures":[{"sig":"MEUCIQD2lvOyrrldxA6iqHv9wA2EirNx317OXfdt9wpCYfTpBwIgWgn3uIwNVXVDgCwRjngY5LUWu9mBNtnGcbtJfAtp8fU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260479},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.2_1775326788518_0.048352885926257416","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@angli/unit-test-tool","version":"0.1.4","_id":"@angli/unit-test-tool@0.1.4","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/src/cli/index.js"},"dist":{"shasum":"11e87299142360ba263535a9e71f68323a904c5d","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.4.tgz","fileCount":151,"integrity":"sha512-77y7NeYKm6lz5wllw9rY8VpjUlu1mPFVutOoy5YQBPpW4JuRfQbttsTiCsVLEYa4c/hAoNd7ozVy5Q8N45+ufQ==","signatures":[{"sig":"MEYCIQDy/BebOHiPhUxwU5bAfmZyTh2oDqG3rwOK49dKPJ8qOgIhAInr81RhbgflbsajYBRx/oD45vGL1d6qhbkac0qkQjLO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260519},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.4_1775327252141_0.19252443288652388","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@angli/unit-test-tool","version":"0.1.5","_id":"@angli/unit-test-tool@0.1.5","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/src/cli/index.js"},"dist":{"shasum":"716ad87a5625bc7b90c0a0a1a9093a0aba212f5d","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.5.tgz","fileCount":151,"integrity":"sha512-c22a+H5cbfzfp2kDb19MvREmUyBqyxshty/GRtMi7f8sdrdMQw2526WsUyGX0MelVgAOeGLxoVuJ8qCr1m6e9w==","signatures":[{"sig":"MEQCIGIIpnFHu97szGM9M0ii7fTIcsPnagDvdOWy1ebXf+2pAiA8yHaeiAJo7ytOpVBN1ziu+Hqk78Xwcnw7RgXAFtyKew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265849},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.5_1775360150558_0.7373558137602543","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@angli/unit-test-tool","version":"0.1.6","_id":"@angli/unit-test-tool@0.1.6","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/src/cli/index.js"},"dist":{"shasum":"739400fa61d5b62f61f81c0178bf0f136a5747ce","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.6.tgz","fileCount":151,"integrity":"sha512-LA92oK0Xl7z3TsRHG5BJN133igjgn0vSzlIy8cdaNaGlOgqx7jS1tS9QEwvbGTgz9o8QJZTvd0B68rojS54/9Q==","signatures":[{"sig":"MEQCIE5jphpznVlAiPFs1i4CNvGTx+uEFKSzEKhYlqoTF+TxAiA/ylLt99qFsKXAnRXdTWmIi4zNzRFWQE9wy/CSMU7yPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266435},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.6_1775360537547_0.06796622510569827","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@angli/unit-test-tool","version":"0.1.7","_id":"@angli/unit-test-tool@0.1.7","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"bin":{"testbot":"dist/src/cli/index.js"},"dist":{"shasum":"1ea63521971e4ef6f1280a971e49110e1e551613","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.7.tgz","fileCount":151,"integrity":"sha512-uNTv4ePLRUFPwHU1N64/AofYu0LHGJQpv+coGQfJHpYvwtXO5d1q1+q8dQEI1MKoNvW6+u2HTS1rClPZQaNrQg==","signatures":[{"sig":"MEYCIQCDXX15nYAjWKjqHx0302zMKZAVY2aZMo5N/0gxCGMR4AIhAJmnlnKKWCdHxugJTH+X5UIC6B8izjAEVVD/OtvX5ZCO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266441},"type":"module","gitHead":"4b3de23ee2b134b67d816a86988f8bb1e0d5a529","scripts":{"dev":"tsx src/cli/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"_npmVersion":"10.9.3","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.11","pino":"^10.0.0","execa":"^9.6.0","commander":"^14.0.0","fast-glob":"^3.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/unit-test-tool_0.1.7_1775360758883_0.5488927368295684","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@angli/unit-test-tool","version":"0.1.8","type":"module","bin":{"testbot":"dist/src/cli/index.js"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsx src/cli/index.ts","test":"vitest run","test:watch":"vitest","lint":"tsc -p tsconfig.json --noEmit"},"dependencies":{"commander":"^14.0.0","execa":"^9.6.0","fast-glob":"^3.3.3","pino":"^10.0.0","zod":"^4.1.11"},"devDependencies":{"@types/node":"^24.6.0","tsx":"^4.20.6","typescript":"^5.9.3","vitest":"^3.2.4"},"publishConfig":{"access":"public"},"_id":"@angli/unit-test-tool@0.1.8","gitHead":"910f42878e3406cd95a273f840482eb313571661","description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-eCRoMfNEi1CBzpJQzlaF27YV0jdL1cT1XSkwuqbgRLWGgu/f4Fo7cH3HIwwj8p7XFsOF6gQUfw4ixIyns0usTw==","shasum":"375468dba4a2442d2e295e155daec6e9f881b7a0","tarball":"https://registry.npmjs.org/@angli/unit-test-tool/-/unit-test-tool-0.1.8.tgz","fileCount":136,"unpackedSize":220779,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDxP/9YgZpZZfbNBIS13wL2L2o1wIlKNFlpjgKGb/6UfgIhAPQFF6rowQCET5nfYQyTc9xUUuqX3U+ts8SgpXHR8XjA"}]},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"directories":{},"maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unit-test-tool_0.1.8_1775542800647_0.3968498071779547"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T18:00:37.223Z","modified":"2026-04-07T06:20:00.997Z","0.1.0":"2026-04-04T18:00:37.494Z","0.1.1":"2026-04-04T18:09:42.175Z","0.1.2":"2026-04-04T18:19:48.661Z","0.1.4":"2026-04-04T18:27:32.295Z","0.1.5":"2026-04-05T03:35:50.783Z","0.1.6":"2026-04-05T03:42:17.688Z","0.1.7":"2026-04-05T03:45:59.045Z","0.1.8":"2026-04-07T06:20:00.883Z"},"description":"面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"readme":"# TestBot（unit-test-tool）\n\n面向项目的单元测试补全工具，基于 CLI 工作流完成基线分析、推荐测试目标，并调用 Claude CLI 进行补测。\n\n## 适用场景\n\n- 需要快速提升项目单测覆盖率\n- 希望以可控参数（覆盖率目标、扫描目录、指定文件）进行补测\n- 想将“分析 → 补测 → 验证 → 汇总”串成自动化流程\n\n## 依赖与准备\n\n- 需要本地可用的 Claude CLI\n- 在目标项目路径下可运行测试/校验命令（支持通过参数覆盖）\n\n## 安装与验证\n\n```bash\nnpm install -g @angli/unit-test-tool\ntestbot --help\n```\n\n如需覆盖旧版本，可先卸载再安装：\n\n```bash\nnpm uninstall -g @angli/unit-test-tool\nnpm install -g @angli/unit-test-tool\n```\n\n## 命令概览\n\n- `testbot init`：初始化配置\n- `testbot analyze`：基线分析\n- `testbot run`：单次调用 Claude CLI 补测\n- `testbot verify`：完整验证\n- `testbot status`：输出状态\n- `testbot report`：生成最终报告\n\n## 参数说明（表格）\n\n> 说明：以下为各命令支持的参数集合，不同命令支持的参数略有差异。\n\n| 参数 | 说明 | 默认值 | 适用命令 |\n|---|---|---|---|\n| `--project <path>` | 项目路径 | `process.cwd()` 或必填 | `init`（必填）、`analyze`、`run`、`verify`、`status`、`report` |\n| `--target <number>` | 覆盖率目标 | `80` | `init`、`analyze`、`run` |\n| `--scan-dir <dir>` | 扫描目录 | `src` | `init`、`analyze`、`run` |\n| `--file <path>` | 指定目标源文件 | 无 | `run` |\n| `--topN <number>` | 推荐池大小 | `5` | `run` |\n| `--permission-mode <mode>` | Claude CLI 权限模式 | 无 | `run` |\n| `--allowed-tools <tools>` | Claude CLI 允许工具列表（逗号分隔） | 无 | `run` |\n| `--timeout <ms>` | Claude CLI 超时（毫秒） | 无 | `run` |\n| `--verify-cmd <cmd>` | 覆盖完整验证命令 | 无 | `init`、`run` |\n| `--lint-cmd <cmd>` | 覆盖 lint 命令 | 无 | `init`、`run` |\n| `--typecheck-cmd <cmd>` | 覆盖类型检查命令 | 无 | `init`、`run` |\n| `--system-append <text>` | 追加项目级 system prompt 规则 | 无 | `init` |\n| `--task-append <text>` | 追加项目级 task prompt 规则 | 无 | `init` |\n| `--retry-append <text>` | 追加项目级 retry prompt 规则 | 无 | `init` |\n\n## 日志与回放\n\n运行时产物位于目标项目的 `.unit_test_tool_workspace/` 目录。\n\n### 目录结构\n\n- `logs/`：stdout/stderr 日志、`events.jsonl`\n- `prompts/`：每个任务独立的 prompt 文件\n- `prompt-runs/`：按一次 attempt 追加的整轮 prompt 索引/引用日志\n- `reports/`：coverage summary / final report\n\n### events.jsonl 怎么看\n\n`events.jsonl` 是 JSONL 格式，一行一个事件。常见事件类型：\n\n- `cli_run_started`：选中目标文件\n- `cli_run_attempt`：开始调用 Claude CLI（含 prompt 路径）\n- `cli_run_completed`：本轮成功\n- `cli_run_failed`：本轮失败或 no-op\n- `baseline_analyzed`：基线分析完成\n\n建议优先关注 `data` 里的这些字段：\n\n- `runId`：本次运行批次（例如 `r20260403T022232Z`）\n- `taskId`：任务 ID（例如 `r20260403T022232Z-001`）\n- `attemptLabel`：尝试标记（例如 `a1`）\n- `targetBaseName`：目标文件 basename\n- `promptPath / stdoutPath / stderrPath`：任务级产物路径\n- `runPromptPath`：整轮 prompt 汇总文件路径\n\n### 文件名组成规则\n\n任务级产物文件名统一遵循：\n\n```\n{taskId}-a{attempt}-{baseName}-{pathHash}-{timestamp}.{kind}.{ext}\n```\n\n示例：\n\n```\nr20260403T022232Z-001-a1-corpus-vue-4e2b1c9a-20260403T022232Z.prompt.txt\nr20260403T022232Z-001-a1-corpus-vue-4e2b1c9a-20260403T022232Z.stdout.log\nr20260403T022232Z-001-a1-corpus-vue-4e2b1c9a-20260403T022232Z.stderr.log\n```\n\n字段含义：\n\n- `taskId`：`runId + 序号`\n- `attempt`：第几次尝试\n- `baseName`：目标文件 basename\n- `pathHash`：目标文件路径 hash（短 hash）\n- `timestamp`：本次 attempt 的时间戳\n- `kind`：`prompt` / `stdout` / `stderr`\n\n### run 级 prompt 汇总文件\n\n整轮流程的 prompt 汇总写到单个文件（不再内嵌 prompt 正文，改为记录 prompt 文件路径）：\n\n```\nrun-{runId}.prompt.log\n```\n\n查看完整 prompt 内容，请到 `prompts/*.prompt.txt`。\n\n推荐排查顺序：\n\n1. `state.json` / `final-report.json`\n2. `logs/events.jsonl`\n3. `prompts/` 和 `logs/` 里的单任务产物\n4. `prompt-runs/` 里的整轮回放\n\n\n### 1) 初始化配置\n\n```bash\ntestbot init --project /path/to/project --target 85 --scan-dir src\n```\n\n如需给某个项目追加测试生成规则，可在初始化时一并写入：\n\n```bash\ntestbot init \\\n  --project /path/to/project \\\n  --target 85 \\\n  --system-append \"项目里大量使用 provide/inject，优先复用现有 context 装配方式\" \\\n  --task-append \"涉及表格组件时，优先断言列配置和事件，不做整表 DOM 快照\" \\\n  --retry-append \"如果 wrapper 测试连续失败，退回到 render 参数和事件透传断言\"\n```\n\n### 2) 仅做基线分析\n\n```bash\ntestbot analyze --project /path/to/project --target 80\n```\n\n### 3) 单次补测（可指定文件）\n\n```bash\ntestbot run --project /path/to/project --file src/foo.ts --topN 3 --permission-mode ask\n```\n\n### 4) 完整验证与状态\n\n```bash\ntestbot verify --project /path/to/project\n\ntestbot status --project /path/to/project\n```\n\n### 5) Claude CLI 项目级配置（必填）\n\n补测执行时会优先读取**待补测项目目录**下的 `.claude/settings.local.json`，并使用其中 `env` 的 `ANTHROPIC_AUTH_TOKEN` / `ANTHROPIC_BASE_URL` 覆盖全局环境变量。\n\n如果目标项目没有配置 `env`，且全局环境变量也不可用，**所有非平凡目标（Vue 组件、HOC 等）的 Claude CLI 调用将全部失败**，导致只能处理 `.d.ts`、`.js` 等简单文件。\n\n配置方式：在目标项目的 `.claude/settings.local.json` 中添加 `env` 字段：\n\n```json\n{\n  \"env\": {\n    \"ANTHROPIC_AUTH_TOKEN\": \"sk-ant-...\",\n    \"ANTHROPIC_BASE_URL\": \"https://api.anthropic.com\"\n  },\n  \"permissions\": {\n    \"allow\": [\"Bash(*)\", \"Edit(*)\", \"Write(*)\", \"Read(*)\"],\n    \"deny\": [],\n    \"ask\": []\n  }\n}\n```\n\n> **注意**：如果全局环境变量中已正确配置 `ANTHROPIC_AUTH_TOKEN`，可以不写 `env`，工具会使用全局环境变量。\n\n### 6) config.json 中的 promptOverrides\n\n`testbot init` 写入的 `.unit_test_tool_workspace/config.json` 支持项目级 prompt 覆盖。工具会先使用内置“通用单测策略 + 案例片段库”，再追加这里的覆盖内容。\n\n示例：\n\n```json\n{\n  \"projectPath\": \"/path/to/project\",\n  \"coverageTarget\": 85,\n  \"include\": [\"src/**/*\"],\n  \"exclude\": [\"node_modules/**\", \"dist/**\", \"coverage/**\"],\n  \"concurrency\": 1,\n  \"promptOverrides\": {\n    \"systemAppend\": \"项目里大量使用 provide/inject，生成测试前先识别上下文注入入口。\",\n    \"taskAppend\": \"表格/列表组件优先测列配置、事件和状态切换，不做大段 DOM 快照。\",\n    \"retryAppend\": \"render/HOC 测试连续失败时，回退到参数透传和派生 props 断言。\"\n  }\n}\n```\n","readmeFilename":"README.md"}