Sign In

codefetch

Package Overview
Dependencies
Maintainers
1
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codefetch

Fetches all files in the current directory and outputs them in a Markdown file.

Source
npmnpm
Version
1.1.5
Version published
Weekly downloads
762
-39.43%
Maintainers
1
Weekly downloads
 
Created
Source

codefetch

Codefetch Cover

Turn code into Markdown for LLMs with one simple terminal command

Recursively fetches all code files in the current directory, ignoring what's in .gitignore and .codefetchignore, then outputs them into a single Markdown file with line numbers.

Usage

Basic usage with output file:

npx codefetch -o my-complete-source.md

With token limit (useful for AI models):

npx codefetch -tok 20000 -o output.md

Filter by file extensions:

npx codefetch -e .ts,.js -o typescript-files.md

If no output file is specified (-o or --output), it will print to stdout.

Options

OptionAliasDescription
--output <file>-oSpecify output filename
--max-tokens <number>-tokLimit output tokens (useful for AI models)
--extension <ext,...>-eFilter by file extensions (e.g., .ts,.js)
--verbose-vShow detailed processing information

Installation

You can run directly with npx:

npx codefetch

Or install globally:

npm install -g codefetch
codefetch -o output.md

Ignoring Files

codefetch supports two ways to ignore files:

  • .gitignore - Respects your project's existing .gitignore patterns
  • .codefetchignore - Additional patterns specific to codefetch

The .codefetchignore file works exactly like .gitignore and is useful when you want to ignore files that aren't in your .gitignore. For example:

codefetch # the codefetch folder itself
*.css # all css files

Both files support standard gitignore patterns including:

  • Exact matches (file.txt)
  • Directories (dir/)
  • Wildcards (*.log)
  • Negation (!important.log)

Default Ignore Patterns

This tool uses a comprehensive set of default ignore patterns to exclude common files and directories that typically don't need to be included in code reviews or LLM analysis. You can view the complete list of default patterns in default-ignore.ts.

Output Directory

By default, when using the -o or --output option, codefetch will:

  • Create a codefetch/ directory in your project
  • Store all output files in this directory
  • Create a .codefetchignore file (if it doesn't exist) that includes the codefetch/ directory

This ensures that:

  • Your fetched code is organized in one place
  • Subsequent runs don't fetch already fetched code
  • The output directory can be safely ignored in version control

We recommend adding codefetch/ to your .gitignore file to avoid committing the fetched codebase.

Use with AI Tools

You can use this command to create code-to-markdown in bolt.new, cursor.com, ... and ask the AI chat for guidance about your codebase. The -tok option helps ensure your output stays within AI model token limits.

License

MIT

Credits

This project was heavily inspired by the sitefetch CLI made by @egoist. While sitefetch is great for fetching documentation and websites, codefetch focuses on fetching local codebases for AI analysis.

FAQs

Package last updated on 12 Jan 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