# MashuPack

> A browser-based tool that packages local codebases into a single structured text file with clear file boundaries, making them navigable by AI tools like Claude and ChatGPT.

MashuPack is a static browser app that converts local project folders into a single structured text export optimized for AI tools. It runs entirely client-side using the File System Access API, meaning no files are ever uploaded to a server. The project is open-source and hosted on GitHub under the handle `junovhs/mashu`.

## What It Is

MashuPack solves a specific problem: getting a local codebase into an AI tool in a way the model can actually navigate. Rather than producing a raw dump of file contents, it wraps each file in explicit `START OF FILE` / `END OF FILE` markers with full path headers, preceded by a directory tree. The docs explain that this structure lets AI tools like Claude and ChatGPT treat the export as a virtual project — locating a function, tracing an import, or reading a specific file — without loading every byte into the attention window at once.

## How the Export Works

The output format is plain text. Each file is wrapped in markers like:

```
// ===== START OF FILE: src/app.ts ===== //
...
// ===== END OF FILE: src/app.ts ===== //
```

A directory tree precedes the file contents, giving the AI a structural map before it reads anything. The docs note that without these boundaries, the model sees "one undifferentiated blob"; with them, it can navigate the export like a filesystem.

## Architecture and Performance

MashuPack's indexing and selection math runs in **Rust compiled to WebAssembly**, executed inside a Web Worker to keep the main thread free for UI rendering. The tree uses virtualized rendering so only visible rows are in the DOM — the docs report that a 28,481-file scan of the `kubernetes/kubernetes` repository completed in about 20.9 seconds total on a desktop browser, with tree initialization taking only 16ms after the filesystem scan. The full stack includes TypeScript for UI logic, Vite for build tooling, the File System Access API for local folder access, and CodeMirror for syntax-highlighted file preview.

## Key Capabilities

- Drag-and-drop or folder-picker loading of local directories
- Checkbox-based file and folder selection to scope exports
- File-type pills and a file types table for bulk selection by extension
- Token count toggle (using a ~4 chars/token approximation matching GPT and Claude tokenizers) to check context window fit before exporting
- Export as combined `.txt`, copy to clipboard, or download as `.zip`
- Syntax-highlighted file preview via CodeMirror
- Keyboard shortcuts including `/` to focus search and `Shift+click` to expand/collapse subtrees

## Update: v0.2.0-alpha.1

The latest release, published on June 9, 2025, is tagged `v0.2.0-alpha.1: Versioning Backend Foundation & Docs Overhaul`. The repository was created in May 2025 and last pushed in late May 2026, indicating active early-stage development. The project has 7 stars and 3 forks on GitHub as of the available data.

## Privacy Model

MashuPack has no server. File contents are read only when a user previews or exports — the tree, stats, file names, and sizes come from filesystem metadata. The docs are explicit: "There is no MashuPack server for it to go to." If a user uploads the resulting export to an AI tool, that upload is governed by the AI provider's privacy policy, not MashuPack's.

## Features
- Drag-and-drop or folder-picker project loading
- Structured text export with START/END file markers
- Directory tree header in export
- Checkbox-based file and folder selection
- File-type pills for bulk selection by extension
- Token count toggle (~4 chars/token estimate)
- Copy to clipboard export
- Download as .zip
- Syntax-highlighted file preview via CodeMirror
- Virtualized tree rendering for large repos
- Rust/WebAssembly indexing engine via Web Worker
- Keyboard shortcuts (/, Shift+click, Alt+click)
- Resizable sidebar
- Live stats: file count, folder count, size, root name
- Composition bar showing file type breakdown
- No server, no upload, fully client-side

## Integrations
Claude, ChatGPT, File System Access API, WebAssembly, CodeMirror

## Platforms
WEB, API

## Pricing
Open Source

## Version
v0.2.0-alpha.1

## Links
- Website: https://mashupack.com
- Documentation: https://mashupack.com/docs.html
- Repository: https://github.com/junovhs/mashu
- EveryDev.ai: https://www.everydev.ai/tools/mashupack
