1.0.1 โ€ข Published 12 months ago

@mimalef70/codetree v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

๐ŸŒณ 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

  • ๐Ÿค– 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

  1. Navigate to your project directory
  2. Run CodeTree:
codetree
  1. 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

View all CLI options

โš™๏ธ 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

๐Ÿ“„ 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

  1. Choose appropriate output format based on your LLM:

    • Claude: Use XML format (--style xml)
    • GPT/Gemini: Any format works well
  2. 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