Safely convert local codebases or public GitHub repos into clean, LLM-ready context with token estimation and directory mapping.
CodeSlimmer packs any code repository—whether stored on your local machine or hosted on GitHub—into a single text file structured specifically for AI models like Claude 3.5, Gemini 3.1 Pro/3.6 Flash, GPT-4o, and DeepSeek R1.
- 🌐 Remote GitHub URL Support: Pass any public GitHub URL (
[https://github.com/user/repo](https://github.com/user/repo)) to fetch, extract, and slim repositories directly—zerogitrequired. - 📋 Cross-Platform Clipboard Integration: Instantly copies output directly to your system clipboard (Windows, macOS, or Linux).
- 🛡️ Overwrite Safety: Inspects signature headers to ensure local files are never overwritten accidentally.
- 🌳 ASCII Directory Tree: Builds a visual project structure map at the very top of your context output.
- 🏷️ LLM-Friendly XML Output: Encloses code in clear
<file path="...">tags for max prompt accuracy. - 📊 Token Estimator: Estimates context size (~4 chars/token) and checks capacity against major models.
- 📏 Smart File Sizes: Calculates and formats physical sizes (
B,KB,MB,GB).
Install CodeSlimmer using pip:
pip install code-slimmer
Clone the repository and run the script directly:
git clone [https://github.com/akasula09/codeslimmer.git](https://github.com/akasula09/codeslimmer.git)
cd codeslimmer
If installed via pip:
codeslimmer
If running directly from source:
python codeslimmer.py
CodeSlimmer supports two distinct input modes:
Enter a relative or absolute local folder path. CodeSlimmer creates ai_context.txt inside that folder and offers an optional clipboard copy. An example is below.
--- CODE SLIMMER v2.2 ---
Enter a local folder path OR a GitHub URL: my_project_folder
📄 Loaded rules from .gitignore
--- SUCCESS! ---
Packed 12 code files.
Final Context Size: 18.45 KB
💾 Added 'ai_context.txt' directly into your folder!
📊 Estimated Token Count: ~4,612 tokens
--------------------------------------------------
Which AI provider are you targeting? (gemini / claude / chatgpt / deepseek): gemini
--------------------------------------------------
🎯 Evaluated against Gemini Models:
✅ Gemini 3.1 Pro: Fits! (4,612 / 2,000,000 tokens — 0.2306% capacity)
✅ Gemini 3.6 Flash: Fits! (4,612 / 1,000,000 tokens — 0.4612% capacity)
✅ Gemini 3.5 Flash-Lite: Fits! (4,612 / 1,000,000 tokens — 0.4612% capacity)
Do you want to copy the output text directly to your clipboard as well?
Type 'y' for Yes, or press Enter to skip: y
📋 Copied full context directly to your clipboard! Ready to Ctrl+V into AI.
Paste any public GitHub URL. CodeSlimmer fetches and slims the repository in a temporary workspace, estimates tokens, and prompts you to copy the result straight to your clipboard without leaving messy files behind.
--- CODE SLIMMER v2.2 ---
Enter a local folder path OR a GitHub URL: [https://github.com/akasula09/codeslimmer](https://github.com/akasula09/codeslimmer)
🌐 Fetching repository 'akasula09/codeslimmer' from GitHub...
--- SUCCESS! ---
Packed 5 code files.
Final Context Size: 12.30 KB
📊 Estimated Token Count: ~3,075 tokens
--------------------------------------------------
Which AI provider are you targeting? (gemini / claude / chatgpt / deepseek): claude
--------------------------------------------------
🎯 Evaluated against Claude Models:
✅ Claude 3.5 Sonnet / Haiku: Fits! (3,075 / 200,000 tokens — 1.5375% capacity)
✅ Claude 3 Opus: Fits! (3,075 / 200,000 tokens — 1.5375% capacity)
Do you want to copy the output text directly to your clipboard?
Type 'y' for Yes, or press Enter to skip: y
📋 Copied full context directly to your clipboard! Ready to Ctrl+V into AI.
ℹ️ Private Repositories: Unauthenticated requests to private or non-existent repositories will output:
❌ Repository does not exist or is private.
CodeSlimmer structures the prompt context using this clean, LLM-optimized XML format:
<!-- GENERATED BY CODESLIMMER v2.2 - DO NOT EDIT MANUALLY -->
<project_structure_tree>
my_project_folder/
├── src/
│ ├── index.js
│ └── utils.js
├── .gitignore
└── package.json
</project_structure_tree>
<file path="src/index.js">
console.log("Hello World");
</file>
<file path="src/utils.js">
export function add(a, b) { return a + b; }
</file>
Distributed under the PolyForm Noncommercial License 1.0.0. Free for personal, educational, research, and internal business use. See LICENSE for details.