@mimalef70/codetree
v1.0.1
Published
A tool to pack repository contents to single file for AI consumption
Downloads
64
Maintainers
Readme
🌳 CodeTree
A powerful CLI tool that packs your entire repository into a single, AI-friendly file for seamless integration with Large Language Models (LLMs) like Claude, ChatGPT, and Gemini.
📚 Table of Contents
- Features
- Installation
- Quick Start
- Usage
- Configuration
- Output Formats
- AI Integration Guide
- Contributing
- License
✨ Features
- 🤖 AI-Optimized Output: Creates LLM-friendly file formats with clear structure and context
- 📊 Token Analytics: Tracks token usage per file and repository-wide for LLM context management
- 🎯 Smart File Selection: Intelligent file filtering with extensive ignore patterns support
- 🔄 Remote Repository Support: Direct processing of GitHub repositories without manual cloning
- ⚙️ Highly Configurable: Flexible configuration through CLI options or config files
- 📝 Multiple Output Formats: Supports Plain Text, XML, and Markdown output styles
- 🧹 Code Processing: Optional comment removal and line number addition
- 📋 Clipboard Integration: Direct copying to system clipboard for quick AI tool usage
🚀 Installation
Global Installation (Recommended)
npm install -g codetree
Per-Project Installation
npm install --save-dev codetree
No Installation Required
npx codetree
🎯 Quick Start
- Navigate to your project directory
- Run CodeTree:
codetree
- Find your packed code in
codetree.txt
💻 Usage
Basic Commands
# Pack current directory
codetree
# Pack specific directory
codetree path/to/directory
# Pack with specific include patterns
codetree --include "src/**/*.ts,**/*.md"
# Pack remote repository
codetree --remote mimalef70/codetree
# Initialize configuration
codetree --init
Advanced Options
# Custom output format
codetree --style xml
# Remove comments and show line numbers
codetree --output-show-line-numbers --copy
# Process with custom config file
codetree -c ./custom-config.json
⚙️ Configuration
Config File Structure
{
"output": {
"filePath": "codetree.txt",
"style": "plain",
"showLineNumbers": false,
"removeComments": false,
"topFilesLength": 5
},
"include": ["**/*"],
"ignore": {
"useGitignore": true,
"useDefaultPatterns": true,
"customPatterns": []
}
}
Global vs Local Config
- Local:
./codetree.config.json
- Global:
- Windows:
%LOCALAPPDATA%\CodeTree\codetree.config.json
- Unix:
~/.config/codetree/codetree.config.json
- Windows:
📄 Output Formats
Plain Text (Default)
================================================================
Repository Structure
================================================================
src/
index.ts
utils/
helper.ts
XML
<repository_structure>
src/
index.ts
utils/
helper.ts
</repository_structure>
Markdown
# Repository Structure
src/ index.ts utils/ helper.ts
🤖 AI Integration Guide
Best Practices
Choose appropriate output format based on your LLM:
- Claude: Use XML format (
--style xml
) - GPT/Gemini: Any format works well
- Claude: Use XML format (
Consider token limits:
- Monitor the token count summary
- Use
--top-files-len
to identify large files
Example Prompts
Please analyze this codebase and:
1. Review the overall architecture
2. Identify potential improvements
3. Suggest optimizations for performance
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Code of Conduct
- Development Setup
- Pull Request Process
- Coding Standards
📝 License
MIT © Mostafa Alahyari