SuperAPI AI 工具集

scratch-workspace

编程与开发

查看项目

更新于 10-16 02:43

技能介绍

用途

Scratch Workspace 技能用于管理项目中的临时工作区,主要覆盖 .claude/.scratch/ 目录的正确使用。该目录为以下内容提供被 gitignore 忽略的存放位置:草稿实现、实验代码、临时测试文件、规划文档,以及任何不应被提交的工作中间产物。

主要能力

  • 提供设置检查清单:在创建临时文件前,确保目录存在(mkdir -p .claude/.scratch),并验证 .gitignore 中包含 .claude/.scratch,若缺失则通过命令追加。
  • 建议按用途组织目录结构,例如:drafts/ 存放进行中的实现,experiments/ 存放探索性代码,notes/ 存放规划与笔记,temp/ 存放真正的临时文件。同时提醒 settings.json 属于 Claude 设置,不应放入 scratch。
  • 列出最佳实践:建议创建子目录、使用描述性文件名、完成后清理、将定稿代码移至项目正式位置;不建议在 scratch 中放置敏感数据、存放应提交的文件、长期保留过期文件,或将 scratch 文件放在 .claude/.scratch/ 之外。
  • 提供工作流程:开始探索性工作时创建 scratch 区域并在其中创建文件;当 scratch 工作就绪后,审查与完善代码、移至项目适当位置、删除 scratch 版本并提交提升后的代码;并定期清理 scratch,例如通过 ls -la .claude/.scratch/ 查看内容,使用 rm -rf 删除旧实验。
  • 说明与其他工具的集成:由于该目录被 gitignore,git status 不会显示 scratch 文件,git add . 不会暂存这些文件,它们也不会出现在提交中;大多数 IDE 会在文件树中显示该目录,可将其加入排除模式、保持可见或使用标记为排除的功能。

使用方式

  • 创建临时区域:mkdir -p .claude/.scratch/experiments。
  • 在对应子目录中创建文件进行实验。
  • 将 scratch 工作提升为正式代码时:审查并完善代码,移动到适当的项目位置,删除 scratch 版本,提交提升后的代码。
  • 清理:通过 ls -la .claude/.scratch/ 查看内容,使用 rm -rf .claude/.scratch/experiments/old-test/ 删除旧实验。

适用场景

适用于需要临时存放草稿实现、实验代码、临时测试文件、规划文档,或任何不应被提交到版本控制的工作内容的开发场景。也适用于需要将探索性代码与正式项目代码分离、并在完成后进行提升和清理的流程。

限制

  • scratch 目录中的文件仍存储在磁盘上,因此不应放置敏感数据。
  • 不应使用 scratch 存放本应提交的文件。
  • 不应无限期保留过期的 scratch 文件。
  • scratch 文件不应放在 .claude/.scratch/ 之外。
  • 如果意外提交了 scratch 文件,可从跟踪中移除但保留本地副本:git rm -r --cached .claude/.scratch,然后 git commit -m "chore: remove scratch files from tracking"。
  • 如果 scratch 文件出现在 git status 中,可通过 grep -r ".claude/.scratch" .gitignore 验证 gitignore 条目,若缺失则 echo '.claude/.scratch' >> .gitignore。