2.2 KiB
2.2 KiB
name, description
| name | description |
|---|---|
| export | 从 Git 提交范围、时间范围或当前工作区预览并导出变更文件,保留相对目录并生成分类清单。适用于制作代码交付快照;提交、推送、部署或无审查地导出环境配置不应触发本 Skill。 |
导出 Git 变更
使用 scripts/export.py 先预演文件分类,再经用户确认写入目标目录。导出不会修改工作区、暂存区、提交或来源文件。
选择模式和快照
range:两个 Git 引用之间发生变化的文件。time:指定提交时间范围内曾发生变化的文件。worktree:当前 staged、unstaged,以及用户明确要求时的 untracked 文件。
还必须确认内容快照:工作区、HEAD 或指定提交。时间范围只决定“选择哪些文件”,不自动决定“取哪个版本”。详细参数见 模式说明。
环境配置边界
- 环境配置、本地配置、机器配置、
.craftkit/local/**和.craftkit/cache/**默认标记为protected,不导出。 .env.example等不含真实值的公开模板可作为普通候选,但仍执行内容扫描。- 只有当前项目适用的
AGENTS.md、.craftkit/agents/或.craftkit/standards/明确要求交付该配置,并且用户看到预览后再次确认,才可同时传入--allow-protected和--policy-evidence <项目内文档>。 - 私钥和检测到的凭据始终标记为
blocked;项目规范和用户确认都不能解除。 .craftkit/agents/**、.craftkit/standards/**、.craftkit/knowledge/**、.craftkit/handoff/**和.craftkit/project.json属于普通共享资产。
两阶段执行
- 不带
--apply运行,查看exported、protected、blocked、deleted和missing分类。 - 展示目标目录、快照引用、规范证据和全部分类;不得只展示将导出的文件。
- 用户确认后,以相同参数增加
--apply。目标已存在时默认停止;覆盖必须另外确认并使用--force。 - 检查目标目录中的
export-manifest.json,抽查路径与内容来源。
脚本只调用本地 Git,不执行 fetch、commit、push 或部署。