用途:帮助写作者从零开始创建 .scriv 项目,或把已有项目分叉成独立工作副本,以便在不影响原稿的前提下试验。.scriv 是结构化包,必须保持有效并能在 Scrivener 3 中打开,因此需按规范搭建。
主要能力与现状:new-project(脚手架新建,支持 --template、--import)和 fork(复制项目)目前均为规划中,尚未进入 CLI;backup(生成带时间戳的整包 zip)和 verify(校验包)已可用;add、rename、move 等编辑命令见 scrivener-edit,已可用。
当前可用的分叉做法:不要直接编辑原项目。方案一是先备份再解压到新路径打开: python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py backup --project "/path/MyNovel.scriv" --out "/path/forks" 方案二是复制包目录,复制后务必先校验再编辑: cp -R "/path/MyNovel.scriv" "/path/MyNovel-experiment.scriv" python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py verify --project "/path/MyNovel-experiment.scriv" 之后所有命令都指向副本,并告知用户原项目未被改动。
手工创建空白项目:需构建最小有效包,包括一个 <Name>.scrivx,其 <Binder> 恰好含 DraftFolder、ResearchFolder、TrashFolder 三个特殊根文件夹(按 Type 而非标题识别);Files/version.txt 内容为 23(Scrivener 3 格式版本);以及 Files/Data/ 目录(可为空)。特殊根文件夹没有 Data/<UUID> 目录属正常现象。构建后运行 verify,并在 Scrivener 中打开一次以生成 UI/autosave 文件。完整字节级布局见 references/new-project-structure.md。
模板:new-project --template 尚未发布,CLI 目前没有模板引擎,可提示用户并改用手工空白项目加 add。
安全与限制:复制或编辑前让用户关闭 Scrivener 并等待云同步完成;分叉时只操作副本;复制项目中的 docs.checksum 不匹配仅为提示,不是损坏,可用 repair --checksums 处理;标题不唯一,存在条目后需用 UUID 定位。相关技能:scrivener-format、scrivener-import、scrivener-edit、scrivener-integrity。