skills/levnikolaevich/claude-code-skills/ln-724-artifact-cleaner

ln-724-artifact-cleaner

SKILL.md

Paths: File paths (shared/, references/, ../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.

ln-724-artifact-cleaner

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-720-structure-migrator

Removes platform-specific artifacts from projects exported from online platforms, preparing them for production deployment.


Overview

Aspect Details
Input Project directory, platform (auto-detect or manual)
Output Clean project without platform dependencies
Platforms Replit, StackBlitz, CodeSandbox, Glitch
Duration ~2-5 minutes
Invocation Called from ln-720 (TRANSFORM mode, conditional) or user-invocable

Invocation conditions:

  • TRANSFORM mode only (SKIP in CREATE mode)
  • At least one platform detected
  • User confirmation before cleanup

Platform Support Matrix

Platform Config Files Directories NPM Packages Build Config Comments
Replit .replit, replit.nix .local/, .cache/, .upm/ @replit/* REPL_ID checks // @replit
StackBlitz .stackblitzrc .turbo/ -- Port overrides --
CodeSandbox sandbox.config.json .codesandbox/ -- CSB env checks --
Glitch glitch.json, .glitch-assets .glitch/, .data/ -- Glitch env vars --

Reference: platform_artifacts.md


Workflow

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

Phase 1: Detect & Scan

Step 1.0: Platform Detection

Platform Primary Indicator Confidence
Replit .replit file 100%
StackBlitz .stackblitzrc 100%
CodeSandbox sandbox.config.json 100%
Glitch glitch.json 100%

Output:

Detected Platforms:
  - replit (confidence: 100%)

Step 1.1: Scan Artifacts

Per detected platform, scan for artifacts using platform-specific detection rules.

Replit Detection Rules:

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: MANDATORY READ: Load platform_artifacts.md for detection rules.

Scan Output Format

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

Phase 2: Preview

Show detailed preview of changes per platform.

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

Phase 3: Confirm

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

Options:

  • Y (default): Execute cleanup
  • n: Cancel operation
  • Custom exclusions: User can specify files to skip

Phase 4: Execute

Platform Router

Based on detected platforms, dispatch to platform-specific cleanup. Execute sequentially if multiple platforms detected.

4.1 Replit Cleanup (Primary)

Delete files/directories:

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

Modify package.json: Remove keys starting with @replit/ from devDependencies.

Modify vite.config.ts:

  • Remove @replit/* imports
  • Remove Replit plugins from plugins array
  • Remove REPL_ID conditional blocks

Remove // @replit comments: Grep // @replit.*$ in **/*.tsx, **/*.ts, **/*.jsx, **/*.js.

Modify .gitignore: Remove .replit line.

4.2 StackBlitz Cleanup

rm -f .stackblitzrc
rm -rf .turbo/  # Only if not used in production

4.3 CodeSandbox Cleanup

rm -f sandbox.config.json
rm -rf .codesandbox/

Remove "sandbox" field from package.json (if exists).

4.4 Glitch Cleanup

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

Remove Glitch env var checks (PROJECT_DOMAIN, ASSETS_URL) from server code.


Phase 5: Verify & Report

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"

Edge Cases

Case Handling
No platform artifacts found Report "Project is clean" and exit
Multiple platforms detected Clean each sequentially, separate reports
Project uses Webpack (not Vite) Search webpack.config.* instead
No package.json Skip NPM cleanup phase
.data/ directory (Glitch) Ask user before deleting (may contain data)

Error Handling

Error Action
Permission denied Log error, suggest chmod or admin rights
File in use Retry after delay, then warn user
JSON parse error Log error, suggest manual fix
Build config syntax error Log error, suggest manual fix

Integration

With ln-720-structure-migrator

Called conditionally in TRANSFORM mode:

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)

Standalone Usage

User: Clean my project from platform artifacts
Claude: Invokes ln-724-artifact-cleaner

Critical Rules

  • Conditional Invocation: Only run when platform artifacts detected, SKIP in CREATE mode
  • User Confirmation: Always preview and confirm before deleting
  • No Data Loss: Ask user before deleting directories that may contain user data (.data/)
  • Build Verification: Recommend npm run build after cleanup
  • Idempotent: Re-running on clean project reports "no artifacts found"

References


Definition of Done

  • At least one platform detected (Replit/StackBlitz/CodeSandbox/Glitch)
  • All platform artifacts scanned and previewed to user
  • User confirmation received before any deletions
  • Platform files, directories, dependencies, build config, and comments cleaned
  • .gitignore entries for platform files removed
  • Cleanup report generated with deleted/modified file counts

Version: 2.0.0 Last Updated: 2026-02-07

Weekly Installs
72
GitHub Stars
202
First Seen
Feb 7, 2026
Installed on
github-copilot65
opencode65
cursor64
gemini-cli64
claude-code64
codex64