Skip to content
Back to skills

Levn Ln 724 Replit Cleaner

BSecurity

Removes all Replit artifacts from exported projects (configs, packages, code comments)

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 9, 2026
developmenttypescriptgobashnodegitfrontendbackend

Works with

  • cli

Security analysis

B89/100
  • highPerforms destructive filesystem operations
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill levn-ln-724-replit-cleaner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Levn Ln 724 Replit Cleaner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Levn Ln 724 Replit Cleaner
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-levn-ln-724-replit-cleaner/badge)](https://www.skillsdirectory.com/skills/majiayu000-levn-ln-724-replit-cleaner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ln-724-replit-cleaner
description: Removes all Replit artifacts from exported projects (configs, packages, code comments)
---

# ln-724-replit-cleaner

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

Completely removes Replit-specific artifacts from projects exported from Replit, preparing them for production deployment elsewhere.

---

## Overview

| Aspect | Details |
|--------|---------|
| **Input** | Project directory (Replit export) |
| **Output** | Clean project without Replit dependencies |
| **Duration** | ~2-5 minutes |
| **Invocation** | Called from ln-720-structure-migrator or user-invocable |

---

## Artifacts Removed

| Category | Artifacts | Action |
|----------|-----------|--------|
| **Config Files** | `.replit`, `replit.nix`, `.replit.nix` | DELETE |
| **Directories** | `.local/`, `.cache/`, `.upm/`, `.breakpoints` | DELETE |
| **NPM Packages** | `@replit/vite-plugin-*` | REMOVE from package.json |
| **Vite Config** | Imports, plugins, `REPL_ID` checks | MODIFY vite.config.ts |
| **Custom Plugins** | `vite-plugin-meta-images.ts` (Replit-specific) | DELETE |
| **Code Comments** | `// @replit` annotations | REMOVE |
| **.gitignore** | `.replit` entry | REMOVE line |

---

## Workflow

```
Phase 1: Scan
    |
    v
Phase 2: Preview
    |
    v
Phase 3: Confirm
    |
    v
Phase 4: Execute
    |
    +---> 4.1 Delete files/directories
    +---> 4.2 Modify package.json
    +---> 4.3 Modify vite.config.ts
    +---> 4.4 Remove @replit comments
    +---> 4.5 Modify .gitignore
    |
    v
Phase 5: Verify & Report
```

---

## Phase 1: Scan

Detect all Replit artifacts in the project.

### Detection Rules

```yaml
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
```

### Output Format

```yaml
Scan Results:
  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

  Vite 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.

```yaml
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
  - client/src/components/ui/button.tsx: Remove 5 @replit comments
  - client/src/components/ui/badge.tsx: Remove 5 @replit comments
  - .gitignore: Remove ".replit" line

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

---

## Phase 3: Confirm

Request user confirmation before making changes.

```
Proceed with Replit cleanup? [Y/n]
```

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

---

## Phase 4: Execute

### 4.1 Delete Files and Directories

```bash
# Delete config files
rm -f .replit replit.nix .replit.nix

# Delete Replit-specific plugin
rm -f vite-plugin-meta-images.ts

# Delete Replit directories
rm -rf .local/ .cache/ .upm/ .breakpoints
```

### 4.2 Modify package.json

Remove from `devDependencies`:

```json
{
  "devDependencies": {
    "@replit/vite-plugin-cartographer": "^0.4.4",
    "@replit/vite-plugin-dev-banner": "^0.1.1",
    "@replit/vite-plugin-runtime-error-modal": "^0.0.4"
  }
}
```

**Method:** JSON parse, filter keys starting with `@replit/`, serialize.

### 4.3 Modify vite.config.ts

**Remove imports:**
```typescript
// REMOVE
import runtimeErrorOverlay from "@replit/vite-plugin-runtime-error-modal";
import { metaImagesPlugin } from "./vite-plugin-meta-images";
```

**Remove from plugins array:**
```typescript
// REMOVE
runtimeErrorOverlay(),
metaImagesPlugin(),
```

**Remove REPL_ID conditional block:**
```typescript
// REMOVE entire block
...(process.env.NODE_ENV !== "production" &&
process.env.REPL_ID !== undefined
  ? [
      await import("@replit/vite-plugin-cartographer").then((m) =>
        m.cartographer(),
      ),
      await import("@replit/vite-plugin-dev-banner").then((m) =>
        m.devBanner(),
      ),
    ]
  : []),
```

### 4.4 Remove @replit Comments

**Pattern:** `// @replit.*$`

**Files:** `**/*.tsx`, `**/*.ts`, `**/*.jsx`, `**/*.js`

**Method:** Read file, remove lines containing `// @replit`, preserve indentation and structure.

### 4.5 Modify .gitignore

**Remove line:** `.replit`

---

## Phase 5: Verify & Report

### Final Report

```yaml
Cleanup Complete!

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 Replit artifacts"
```

---

## Edge Cases

| Case | Handling |
|------|----------|
| No Replit artifacts found | Report "Project is clean" and exit |
| Project uses Webpack (not Vite) | Search `webpack.config.*` instead |
| Project uses other bundlers | Search common config patterns |
| No package.json | Skip NPM cleanup phase |
| Protected files | Ask user before modifying |

---

## 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 |
| Vite config syntax error | Log error, suggest manual fix |

---

## Integration

### With ln-720-structure-migrator

Called as first step before restructuring:

```yaml
ln-720-structure-migrator:
  Phase 1: Detect project type
  Phase 2: Clean Replit artifacts (ln-724-replit-cleaner)  # THIS SKILL
  Phase 3: Restructure frontend (ln-721)
  Phase 4: Generate backend (ln-722)
  Phase 5: Migrate mock data (ln-723)
```

### Standalone Usage

```
User: Clean my project from Replit
Claude: Invokes ln-724-replit-cleaner
```

---

## References

- [replit_artifacts.md](references/replit_artifacts.md) - Complete artifact list by category

---

**Version:** 1.0.0
**Last Updated:** 2026-01-10

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.