🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

llmify

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

llmify

A CLI tool that generates codebase context for LLMs

latest
Source
npmnpm
Version
0.0.20-d
Version published
Maintainers
1
Created
Source

🚀 LLMify

A CLI tool that generates a comprehensive text file containing your codebase context for Large Language Models (LLMs)

npm version MIT License PRs Welcome

✨ Features

  • 📊 Visual Project Structure - Crawls project directories and creates a tree structure
  • đź“„ File Content Extraction - Includes the content of all relevant text files
  • đź§  Context Optimization - Formats output in a way that's optimized for LLM context
  • 🔍 Intelligent Filtering - Respects .gitignore and .llmignore patterns
  • 🛠️ Highly Customizable - Control depth, paths, include/exclude patterns

📦 Installation

Pre-built Binaries

Download the appropriate binary for your platform from the Releases page.

Build from Source

# Clone the repository
git clone https://github.com/username/llmify.git
cd llmify

# Build the binary
go build -o llmify .
# Or on Windows: go build -o llmify.exe .

# Optional: Move to a directory in your PATH
# Linux/macOS
sudo mv llmify /usr/local/bin/
# Or for user-local installation: mv llmify ~/bin/

🚀 Quick Start

# Basic usage - creates llm.txt in the current directory
llmify

# Paste into your favorite LLM
cat llm.txt | pbcopy  # macOS
cat llm.txt | xclip   # Linux
type llm.txt | clip   # Windows

👩‍💻 Usage Examples

# Specify a different root directory
llmify /path/to/your/project

# Specify a different output file
llmify -o context_for_gpt.txt

# Only include content from a specific subdirectory or file
llmify -p src/components
llmify --path main.go

# Exclude specific patterns
llmify -e "*.log" -e "**/.cache/*"

# Include specific files that would otherwise be excluded
llmify -i "config/important.json"

# Limit directory depth for large projects
llmify -d 3

# Disable .gitignore processing
llmify --no-gitignore

# See detailed output (helpful for debugging)
llmify -v

đź”§ Using .llmignore

Create a .llmignore file in your project's root directory to specify patterns that should be excluded from LLM context. This uses the same syntax as .gitignore. These rules apply after the --path filter, if used.

Example .llmignore:

# Exclude large data files
data/*.csv
*.json.gz

# Exclude generated documentation
docs/generated/

# Exclude specific libraries
lib/external/

🎯 Full CLI Options

Usage:
  llmify [directory] [flags]

Flags:
  -e, --exclude strings      Glob patterns to exclude (can be used multiple times)
      --exclude-binary       Attempt to exclude binary files based on content detection (default: true)
      --header               Include a header with project info (default: true)
  -i, --include strings      Glob patterns to include (overrides excludes, use carefully)
  -d, --max-depth int        Maximum directory depth to crawl (0 for unlimited)
      --no-gitignore         Do not use .gitignore rules
      --no-llmignore         Do not use .llmignore rules
  -o, --output string        Name of the output file (default "llm.txt")
  -p, --path string          Only include files/directories within this specific relative path
  -v, --verbose              Enable verbose logging
  -h, --help                 Display help information

đź’ˇ Example Output

Click to see example output
============================================================
Project Root: /path/to/your/project
Generated At: 2023-06-15T10:30:45Z
============================================================

## File Tree Structure

yourproject/ ├── .gitignore ├── main.go ├── utils.go └── docs/ ├── README.md └── usage.md


============================================================

## File Contents

### File: .gitignore

node_modules/ *.log dist/


---

### File: main.go

```go
package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello, world!")
}

File: utils.go

package main

// ... file content here ...

</details>

## 📝 License

MIT License - See LICENSE file for details.

---

<p align="center">
  Made with ❤️ for better LLM interactions
  <br>
  <a href="https://github.com/username/llmify">Star on GitHub</a>
</p> 

Keywords

llm

FAQs

Package last updated on 06 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts