mcpField
F
factory-clean

factory-clean

github.com/tikalk开发143138 次安装今天更新
代码仓库

关于 factory-clean

factory-clean 是用于盘点和回收软件工厂资源的技能,面向需要清理并行运行遗留产物的项目维护者。它根据运行状态保护活动工作和未保存内容,只将确认安全的陈旧资源列为清理候选。

主要功能

  1. 01盘点工作树、克隆与构建产物
  2. 02按活动状态分类资源
  3. 03保护未提交或未推送的工作
  4. 04清理陈旧锁、租约及产物
  5. 05删除前重新验证并逐项执行

适用场景

  1. 01并行运行后回收磁盘空间
  2. 02检查哪些工作树可以安全移除
  3. 03清理已过期的锁和租约
  4. 04核实清理不会丢失未保存工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tikalk/adlc-team-skills --skill factory-clean

安装后在 Claude Code 中输入/factory-clean确认已加载。

详细介绍

factory-clean

此技能的作用

factory-clean 是软件工厂的资源回收引擎。它回答两个问题,并根据第二个问题采取行动:此项目目前占用了这台机器多少资源,以及哪些资源可以回收,而不会破坏工作或中断仍在运行的 Agent?

它作为一种 Kind-B 控制平面技能运行,会读取运行注册表、识别活动工作树,并清理已丢弃或过期的产物。


适用场景

  • 多次并行运行后,查看哪些工作树可以安全移除,并回收磁盘空间。
  • 清理废弃或过期的锁和租约。
  • 确认没有意外丢失未提交或未推送的工作。

不适用场景:

  • 常规代码开发或 PR 审查(使用 factory-mission 或 factory-review)。
  • 强制删除未推送的 git 提交或未提交的文件(此技能绝不会删除不安全的工作)。

操作流程

1. 项目载入

确定要处理的项目(默认为当前仓库)。识别其状态根目录、运行注册表和工作树根目录(.adlc/worktrees/)。

2. 活跃工作分类

显示任何待删除项之前,读取本地状态文件和评论总线(如果集成了跟踪器,则通过评论总线和租约标记读取)。将每个资源归为以下五种活跃状态之一:

  • in use — 由租约有效的运行所持有(heartbeat_ts + ttl_seconds > now),或其路径被活动进程占用。**受保护。**绝不提供删除选项。
  • holds work — 包含未提交更改或未推送至远程仓库的提交的工作树,或标记为 retained 的注册表条目。**受保护。**准确说明其中包含的内容。绝不删除。
  • stale — 已注册,租约已超过其 TTL,没有未保存内容,并且没有运行中的进程占用其路径或将其用作工作目录。可考虑删除。
  • orphan — 不存在注册表条目,但规范路径包含关系以及确定性的项目、技能和运行所有权标签证明它由此技能系列创建。可考虑删除。
  • unknown — 无法确定所有权或活跃状态。**受保护。**向用户显示,但不提供删除选项。

注意:活跃状态分类依据此技能系列自身的注册表。报告中需说明,其他本地进程或 IDE 检出不可见,因此会作为 unknown 受到保护。

3. 清点范围

扫描并测量以下项目的大小或数量:

  1. 技能工作树和克隆:.adlc/worktrees/ 下的工作树、.adlc/clones/ 下托管的克隆。
  2. Git 产物:过期的工作树注册信息、松散对象和包文件大小。(忽略并保护本地用户分支和全局 git 缓存)。
  3. 项目依赖和构建产物:依赖目录(node_modules、.venv)、构建和分发产物、覆盖率和测试产物。
  4. 技能状态、临时文件和日志:每次运行的临时目录、快照和日志文件。(已保存的身份映射、项目约定、架构和配置一律受到保护)。
  5. 进程和端口:占用此项目端口或文件的开发服务器、端口转发和后台工作进程。
4. 报告和审批
  1. 按组展示清单,每组按可回收大小排序,并提供各组及总体总量。明确说明哪些内容受到保护及原因。
  2. 请用户在每组中选择确切的候选项标识符。默认不选择任何项。
  3. 展示将要运行的确切命令。
  4. 在每次删除前立即重新验证活跃状态:如果某次运行已启动,或自清点以来新增了未保存的工作,则跳过该项并报告冲突。
  5. 一次删除一项;遇到第一个错误就停止,不要继续执行基于错误假设的操作。
  6. 报告已回收和已跳过的内容,以及实际释放的空间(重新测量,不作估算)。

评论

支持 Markdown