依赖序推进,每步含测试(node:test,零第三方)。验证基线命令见 §V。
task.py start(用户确认后);分支即 v7(沿 M1-M4 惯例,不另开)src/session/index.js 扩写侧:registerBook(workdir, {书名,目录})(置当前、去重、补最后打开)、setCurrentBook(workdir, 书名)、touchLastOpened(workdir, 目录);行格式测试与 M4 读侧同文件bin/webnovel-writer.js 命令分级:命令模块可选 export const scope;workdir 级不建 CacheManager;书级三分支定位(book.yaml 直启 / .webnovel+当前书 / 人话提示)——design §1.1list-books / switch-book <书名> / session-context(scope=workdir)next --json:完整 DTO 上 stdout;缺省人读不变(改 src/commands/next.js)persist-outline / persist-volume-review / persist-repair:--file= 读 JSON → 委托既有用例;persist-repair 内算 allowedFiles(detectParseFailures)persist-book:scope=workdir-or-book;目录判定(design §3.4);persistCreateBook 扩指路 AGENTS.md(templates/ 加书仓库模板);工作目录模式落盘后 registerBook 置当前src/review/index.js 抽 saveReviews(校验+合并+落盘),runReviews 改调它;新命令 review-input <章号> [--draft=](落 工作区/审稿输入.json)与 save-review <章号> --file=finalize <章号> --payload=:读 JSON → finalizeChapter → 报 commit 短哈希与下一步--file 中文内容往返test/integration/ 子进程 spawn bin 跑通 建书→细纲→草稿→机检→review-input→save-review(桩JSON)→finalize→next --json 报第 2 章——主循环全程 CLIadapters/registry.json 每宿主加 detect_bin / install_dir;src/host-shells/validator.js 同步校验;跑 drift check 确认不破src/installer/detect.js:PATH 探测(注入 env 可测,win32 PATHEXT);--hosts 覆盖解析src/installer/vendor.js:包根定位 + .webnovel/ 复制清单(bin/src/roles/package.json + js-yaml 目录,design §1.2);books.jsonl 只建不覆盖src/installer/manifest.js:sha256 清单读写 + update 三态判定(AGENTS.md 记块内哈希)src/installer/shells.js:generateHostShells 产物平移进 install_dir;claude-code settings.json SessionStart 幂等合并(不进清单)src/installer/index.js 编排 init(检测→布局→壳→AGENTS.md→manifest→报告)与 update(哈希三态 + --force + AGENTS.md 块内更新 + settings 幂等合并 + vendored 内自更新提示);src/commands/init.js / update.js 薄壳.webnovel/ 里的 bin 可 node 直跑(spawn 验证 vendored 自包含)cmd;SKILL.md 全部命令引用改 {{cmd}};写章流程接 F1 通道(review-input→两审→save-review→finalize,「继续」= next --json)node scripts/build-host-shells.mjs --check 绿;host-shells 既有测试更新(文案级断言按需改——测试是探针不是约束)package.json 加 files 白名单(bin/src/roles/skills/adapters/templates);npm pack --dry-run 核对清单next --json;ubuntu + windows 双平台(AC1 CI 半)node --test 绿 + drift check 绿 + pack e2e 本地演练--help 增新命令段;bin 帮助文案与实际命令清单一致性测试(如已有惯例则从之)cd v7
node --test # 全量(含新增)
node scripts/build-host-shells.mjs --check # drift + validator
npm pack --dry-run # 发布清单
node bin/webnovel-writer.js --help # 人话面
bin/webnovel-writer.js:所有命令的入口,改坏波及全部——第 1 步单独 commit,作为回滚锚skills/webnovel-writer/SKILL.md + registry.json:与 drift check/validator 联动,改动必须同轮跑 §V 第二条src/review/index.js 抽函数:对外签名不变,review 既有测试是守门git revert 单步可退;安装产物层面 init/update 幂等,重跑即修复