Most of a project folder is generated files
A small React application can hold tens of thousands of files under node_modules; a Python project carries venv and __pycache__; builds accumulate dist, build, .next and target folders; lock files, caches and logs pile up alongside the source code.
RepoPrep removes the noise and keeps the code. It reads a project once, detects the stack from manifest files (package.json, pyproject.toml, Cargo.toml, go.mod, pubspec.yaml, *.csproj and more), applies a skip database covering 225 languages and copies only what matters into a clean output folder. In Flatten mode that output is a single directory with every surviving file side by side — ready to share, archive or review in one place. Your working copy stays untouched.
Three modes, one tool
Clean, flatten or scan a project with a couple of clicks.
Smart Clean
Copies the project and drops what no one needs to read: dependencies, build output, caches, lock files and logs. Results are written to a new folder, so your working copy is never touched.
Flatten
Copies every surviving file into a single flat folder, turning a whole repository into one directory. File name collisions are renamed automatically.
Scan Only
Not sure what would be skipped? Run a scan first. It lists everything that would be removed, with live counts, so you can decide whether to clean, flatten or copy at all.
Four steps, a few seconds
No setup, no configuration files, no account.
- 1 Pick a folder. Point RepoPrep at your project. It opens the folder read-only and writes nothing back to it.
- 2 Choose a mode. Smart Clean, Flatten or Scan Only. Every mode can run as a dry scan first, so you always know what would happen.
- 3 Review the plan. See everything that would be removed, with live file counts, before any copy starts. Adjust the keep list if you disagree.
- 4 Get the copy. RepoPrep writes a cleaned folder — or one flat folder in Flatten mode — wherever you want it.
What changed in v2.2.1
The recent releases fixed the weak spots of the original tool instead of adding bells and whistles.
- Rewritten cleaning engine. Faster scans on large repositories thanks to a streaming walk that skips junk folders before they are loaded into memory.
- 225 languages detected. The engine reads manifests and applies the matching framework rules plus generic junk patterns for Node, Python, Java, Go, Rust, C#, Dart, Ruby and more.
- Keep List. Pin a file name and RepoPrep always keeps it, even when it normally matches a skip pattern. Your picks are remembered between runs.
- Include images toggle. Images are left out by default; turn this on when screenshots or assets belong in your copy.
- Live activity log. Watch what is being skipped and copied in real time, with copy, save and open-folder actions.
- Settings. Interface in English, Arabic, Russian or Chinese, light/dark/system themes, and remappable keyboard shortcuts.
- Cancellable operations. Any long scan or copy can be stopped from the interface without killing the app.
What gets skipped
RepoPrep understands the usual suspects. This is a sample, not the full list.
It fits on any Windows machine
- Windows 10 or 11, 64-bit
- Standalone executable — no installer, no runtime dependencies
- Fully offline, no account, no telemetry
- Your source project is never modified
- Free to use, MIT licensed
- Source published on GitHub