make-folder-txt
v1.1.0
Published
Generate a single .txt file containing the full folder structure and file contents of any project, ignoring node_modules and other junk.
Maintainers
Readme
📁 make-folder-txt
Instantly dump your entire project into a single, readable .txt file.
Perfect for sharing your codebase with AI tools, teammates, or code reviewers — without zipping files or giving repo access.
Installation · Usage · Output Format · What Gets Skipped · Contributing
✨ Why make-folder-txt?
Ever needed to share your entire project with ChatGPT, Claude, or a teammate — but copy-pasting every file one by one is painful? make-folder-txt solves that in one command.
- ✅ Run it from any project directory — no arguments needed
- ✅ Generates a clean folder tree + every file's content
- ✅ Automatically skips
node_modules, binaries, and junk files - ✅ Zero dependencies — pure Node.js
- ✅ Works on Windows, macOS, and Linux
📦 Installation
Install globally once, use anywhere:
npm install -g make-folder-txt🚀 Usage
Navigate into your project folder and run:
cd my-project
make-folder-txtThat's it. A my-project.txt file will be created in the same directory.
Ignore specific folders/files by name:
make-folder-txt --ignore-folder examples extensions docs
make-folder-txt --ignore-folder examples extensions "docs and explaination"
make-folder-txt --ignore-folder examples extensions docs --ignore-file LICENSE
make-folder-txt --ignore-file .env .env.local secrets.txtInclude only specific folders/files by name (everything else is ignored):
make-folder-txt --only-folder src docs
make-folder-txt --only-file package.json README.md
make-folder-txt --only-folder src --only-file package.json🎯 Real World Examples
Sharing with an AI tool (ChatGPT, Claude, etc.):
cd "C:\Web Development\my-app\backend"
make-folder-txt
# → backend.txt created, ready to paste into any AI chatOn macOS / Linux:
cd /home/user/projects/my-app
make-folder-txt
# → my-app.txt created📄 Output Format
The generated .txt file is structured in two clear sections:
================================================================================
START OF FOLDER: my-project
================================================================================
================================================================================
PROJECT STRUCTURE
================================================================================
Root: C:\Web Development\my-project
my-project/
├── src/
│ ├── controllers/
│ │ └── userController.js
│ ├── models/
│ │ └── User.js
│ └── index.js
├── node_modules/ [skipped]
├── package.json
└── README.md
Total files: 5
================================================================================
FILE CONTENTS
================================================================================
--------------------------------------------------------------------------------
FILE: /src/index.js
--------------------------------------------------------------------------------
const express = require('express');
...
--------------------------------------------------------------------------------
FILE: /package.json
--------------------------------------------------------------------------------
{
"name": "my-project",
...
}
================================================================================
END OF FOLDER: my-project
================================================================================🚫 What Gets Skipped
The tool is smart about what it ignores so your output stays clean and readable.
| Category | Details |
| --------------- | -------------------------------------------------------------- |
| 📁 Folders | node_modules, .git, .next, dist, build, .cache |
| 🖼️ Binary files | Images (.png, .jpg, .gif...), fonts, videos, executables |
| 📦 Archives | .zip, .tar, .gz, .rar, .7z |
| 🔤 Font files | .woff, .woff2, .ttf, .eot, .otf |
| 📋 Lock files | package-lock.json, yarn.lock |
| 📏 Large files | Any file over 500 KB |
| 🗑️ System files | .DS_Store, Thumbs.db, desktop.ini |
Binary and skipped files are noted in the output as [binary / skipped] so you always know what was omitted.
🛠️ Requirements
- Node.js v14.0.0 or higher
- No other dependencies
🤝 Contributing
Contributions, issues, and feature requests are welcome!
- Fork the repository
- Create your feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m 'Add my feature' - Push to the branch:
git push origin feature/my-feature - Open a Pull Request
👤 Author
AnnonymousThinker
📝 License
This project is licensed under the MIT License — feel free to use it in personal and commercial projects.
If this tool saved you time, consider giving it a ⭐ on npm!
