Live Application: make1txt.vercel.app
make1txt is a secure, client-side web application. It bundles your entire project codebase into a single formatted text file.
Providing context to Large Language Models (LLMs) like ChatGPT or Claude requires pasting multiple files manually. This process is tedious, error-prone, and clutters the chat interface. make1txt automates this workflow. It generates a clean, readable text bundle containing your file structure and code, ready to be pasted into any AI prompt.
- 🔒 100% Local Processing: Files never leave your machine. The app uses the browser's native File System Access API.
- ⚡ High Performance: Uses Web Workers to process large codebases in the background without freezing the user interface.
- 🎯 Smart Filtering: Automatically parses and respects your
.gitignorefiles. - 🛠️ Advanced Rules: Add custom global or local rules to ignore specific extensions, folders, or regex patterns.
- 🌳 Structure Generation: Generates and appends a visual ASCII file tree to the output file.
- 💾 Profile Management: Saves directory bindings and complex filter settings via IndexedDB for quick loading.
Follow these steps to run make1txt locally on your machine.
- Node.js (v18.0.0 or higher)
- npm (v9.0.0 or higher)
- Clone the repository:
git clone https://github.com/Rivgoo/make1txt.git
- Navigate to the project directory:
cd make1txt - Install dependencies:
npm install
Start the local development server:
npm run devOpen your browser and navigate to http://localhost:5173.
Create an optimized production build:
npm run buildWe welcome community contributions. To contribute to make1txt, follow these steps:
- Fork the Repository: Click the "Fork" button at the top right of this page.
- Clone your Fork: Download the repository to your local machine.
- Create a Branch: Create a new branch for your feature or bugfix.
git checkout -b feature/your-feature-name
- Make Changes: Write clean, readable, and strictly typed TypeScript code. Follow the existing ESLint configuration.
- Commit: Write clear, concise commit messages.
git commit -m "feat: add amazing new feature" - Push: Push the changes to your fork.
git push origin feature/your-feature-name
- Open a Pull Request: Go to the original repository and open a Pull Request. Describe your changes in detail.
This project is licensed under the GNU General Public License v3.0.
You are free to use, modify, and distribute this software. If you distribute modified versions of this software, you must make the source code available under the same license. See the LICENSE file for full details.