mcpField
L
ln-724-artifact-cleaner

ln-724-artifact-cleaner

github.com/levnikolaevich开发584364 次安装2 天前更新
代码仓库

关于 ln-724-artifact-cleaner

ln-724-artifact-cleaner 是用于清理从在线平台导出项目的技能,面向准备生产部署的项目维护者。它检测 Replit、StackBlitz、CodeSandbox 和 Glitch 的平台文件与依赖,并在执行前预览并要求确认。

主要功能

  1. 01检测四种平台标记
  2. 02扫描平台专属文件与依赖
  3. 03预览拟删除和修改内容
  4. 04确认后清理并生成报告
  5. 05保护 Glitch .data/ 数据

适用场景

  1. 01清理 Replit 导出项目
  2. 02移除 StackBlitz 或 CodeSandbox 配置
  3. 03准备 Glitch 项目用于部署

安装

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-724-artifact-cleaner

安装后在 Claude Code 中输入/ln-724-artifact-cleaner确认已加载。

附带文件references/platform_artifacts.md

详细介绍

**路径:**文件路径(references/、../ln-*)均相对于此技能目录。

ln-724-artifact-cleaner

**类型:**L3 Worker
**类别:**7XX 项目初始化

从在线平台导出的项目中移除平台专属产物,为生产部署做好准备。


概览

方面详情
输入项目目录、平台(自动检测或手动指定)
输出不含平台依赖的干净项目
平台Replit、StackBlitz、CodeSandbox、Glitch
耗时约 2-5 分钟
调用方式由 ln-720 调用(TRANSFORM 模式,有条件触发),或由用户主动调用

调用条件:

  • 仅限 TRANSFORM 模式(CREATE 模式下跳过)
  • 至少检测到一个平台
  • 清理前需获得用户确认

平台支持矩阵

平台配置文件目录NPM 包构建配置注释
Replit.replit、replit.nix.local/、.cache/、.upm/@replit/*REPL_ID 检查// @replit
StackBlitz.stackblitzrc.turbo/--端口覆盖--
CodeSandboxsandbox.config.json.codesandbox/--CSB 环境检查--
Glitchglitch.json、.glitch-assets.glitch/、.data/--Glitch 环境变量--

参考:platform_artifacts.md


工作流

Phase 1: Detect & Scan
    |
    +---> 1.0 Detect platforms (auto-detect by config files)
    +---> 1.1 Scan platform-specific artifacts
    |
    v
Phase 2: Preview
    |
    v
Phase 3: Confirm
    |
    v
Phase 4: Execute (per detected platform)
    |
    +---> 4.1 Delete files/directories
    +---> 4.2 Modify package.json
    +---> 4.3 Modify build config (vite/webpack)
    +---> 4.4 Remove platform comments
    +---> 4.5 Modify .gitignore
    |
    v
Phase 5: Verify & Report

阶段 1:检测与扫描

步骤 1.0:平台检测
平台主要标识置信度
Replit.replit 文件100%
StackBlitz.stackblitzrc100%
CodeSandboxsandbox.config.json100%
Glitchglitch.json100%

输出:

Detected Platforms:
  - replit (confidence: 100%)
步骤 1.1:扫描产物

针对检测到的每个平台,根据该平台专属的检测规则扫描产物。

Replit 检测规则:

Files:
  - Glob: .replit, replit.nix, .replit.nix
  - Glob: vite-plugin-meta-images.ts (if uses REPLIT_* env vars)
Directories:
  - Glob: .local/, .cache/, .upm/, .breakpoints
Package.json:
  - Grep: "@replit/" in devDependencies
Vite Config:
  - Grep: "@replit/" imports
  - Grep: "REPL_ID" or "REPLIT_" environment checks
Code:
  - Grep: "// @replit" comments in *.tsx, *.ts, *.jsx, *.js
.gitignore:
  - Grep: "^\.replit$" line

**StackBlitz/CodeSandbox/Glitch:****必须读取:**加载 platform_artifacts.md 以获取检测规则。

扫描输出格式
Scan Results:
  Platform: Replit
  Files Found: 2
    - .replit (729 bytes)
    - vite-plugin-meta-images.ts (2333 bytes)
  Directories Found: 1
    - .local/ (6 files, 589KB)
  Package Dependencies: 3
    - @replit/vite-plugin-cartographer
    - @replit/vite-plugin-dev-banner
    - @replit/vite-plugin-runtime-error-modal
  Build Config Modifications: 4
    - Import: runtimeErrorOverlay
    - Import: metaImagesPlugin
    - Plugin: runtimeErrorOverlay()
    - Block: REPL_ID conditional (lines 14-24)
  Code Comments: 10
    - button.tsx: 5 comments
    - badge.tsx: 5 comments
  Gitignore Entries: 1
    - .replit

阶段 2:预览

按平台显示变更的详细预览。

Will DELETE files:
  - .replit (729 bytes)
  - vite-plugin-meta-images.ts (2333 bytes)
Will DELETE directories:
  - .local/ (6 files, 589KB)
Will MODIFY files:
  - package.json: Remove 3 @replit/* devDependencies
  - vite.config.ts: Remove 4 imports/plugins/blocks
  - 2 UI files: Remove 10 @replit comments
  - .gitignore: Remove ".replit" line

Summary: 2 files deleted, 1 directory deleted, 5 files modified

阶段 3:确认

Proceed with platform cleanup (Replit)? [Y/n]

选项:

  • **Y(默认):**执行清理
  • **n:**取消操作
  • **自定义排除项:**用户可以指定要跳过的文件

阶段 4:执行

平台路由器

根据检测到的平台,分派至对应的平台专属清理流程。如果检测到多个平台,则按顺序执行。

4.1 Replit 清理(主要)

删除文件/目录:

rm -f .replit replit.nix .replit.nix
rm -f vite-plugin-meta-images.ts
rm -rf .local/ .cache/ .upm/ .breakpoints

**修改 package.json:**从 devDependencies 中移除以 @replit/ 开头的键。

修改 vite.config.ts:

  • 移除 @replit/* 导入
  • 从 plugins 数组中移除 Replit 插件
  • 移除 REPL_ID 条件代码块

**移除 // @replit 注释:**在 **/*.tsx、**/*.ts、**/*.jsx、**/*.js 中搜索 // @replit.*$。

**修改 .gitignore:**移除 .replit 行。

4.2 StackBlitz 清理
rm -f .stackblitzrc
rm -rf .turbo/  # Only if not used in production
4.3 CodeSandbox 清理
rm -f sandbox.config.json
rm -rf .codesandbox/

如果 package.json 中存在 "sandbox" 字段,则将其移除。

4.4 Glitch 清理
rm -f glitch.json .glitch-assets
rm -rf .glitch/
# .data/ - ASK USER before deleting (may contain important data)

从服务器代码中移除 Glitch 环境变量检查(PROJECT_DOMAIN、ASSETS_URL)。


阶段 5:验证与报告

Cleanup Complete!

Platforms Cleaned: Replit

Deleted:
  - .replit
  - vite-plugin-meta-images.ts
  - .local/ (6 files)

Modified:
  - package.json (removed 3 dependencies)
  - vite.config.ts (removed 4 imports/plugins)
  - button.tsx (removed 5 comments)
  - badge.tsx (removed 5 comments)
  - .gitignore (removed 1 line)

Next Steps:
  1. Run `npm install` to update package-lock.json
  2. Run `npm run build` to verify build works
  3. Commit: git add . && git commit -m "chore: remove platform artifacts"

边缘情况

情况处理方式
未发现平台产物报告“项目已清理”并退出
检测到多个平台依次清理各平台,并分别报告
项目使用 Webpack(而非 Vite)改为搜索 webpack.config.*
没有 package.json跳过 NPM 清理阶段
.data/ 目录(Glitch)删除前询问用户(其中可能包含数据)

错误处理

错误操作
权限被拒绝记录错误,建议使用 chmod 或管理员权限
文件正在使用延迟后重试,然后提醒用户
JSON 解析错误记录错误,建议手动修复
构建配置语法错误记录错误,建议手动修复

集成

与 ln-720-structure-migrator 集成

在 TRANSFORM 模式下有条件地调用:

ln-720-structure-migrator:
  Phase 1: Detect project type + platform
  Phase 2: Clean artifacts (ln-724-artifact-cleaner)  # CONDITIONAL
    Condition: Platform detected (Replit/StackBlitz/CodeSandbox/Glitch)
    Skipped if: CREATE mode OR no platform markers
  Phase 3: Restructure frontend (ln-721)
  Phase 4: Generate backend (ln-722)
  Phase 5: Generate seed data (ln-723)
独立使用
User: Clean my project from platform artifacts
Claude: Invokes ln-724-artifact-cleaner

关键规则

  • 有条件地调用: 仅在检测到平台产物时运行,CREATE 模式下跳过
  • 用户确认: 删除前始终预览并确认
  • 不丢失数据: 删除可能包含用户数据的目录(.data/)前询问用户
  • 构建验证: 建议清理后运行 npm run build
  • 幂等: 在干净的项目上重新运行时报告“未发现产物”

参考资料


完成定义

  • 至少检测到一个平台(Replit/StackBlitz/CodeSandbox/Glitch)
  • 已扫描所有平台产物并向用户预览
  • 删除任何内容前已获得用户确认
  • 已清理平台文件、目录、依赖项、构建配置和注释
  • 已移除 .gitignore 中的平台文件条目
  • 已生成清理报告,其中包含已删除/修改的文件数量

版本: 2.0.0 最后更新: 2026-02-07

评论

支持 Markdown