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βzerogit
required. - π
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.