From cb9609dd0037ba421c298709f53e41279f88fb7a Mon Sep 17 00:00:00 2001 From: Gordon Mickel Date: Sun, 21 Jul 2024 22:19:34 +0200 Subject: [PATCH] chore: update README --- README.md | 420 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 411 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 78fe15d..c7d06e9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# code-whisper +# CodeWhisper + +![CodeWhisper logo](/api/placeholder/200/200) add blazing fast AI-friendly prompts to your codebase @@ -8,25 +10,392 @@ add blazing fast AI-friendly prompts to your codebase [![GitHub Stars](https://img.shields.io/github/stars/gmickel/CodeWhisper.svg)](https://github.com/gmickel/CodeWhisper/stargazers) [![GitHub Forks](https://img.shields.io/github/forks/gmickel/CodeWhisper.svg)](https://github.com/gmickel/CodeWhisper/network) -_description_ +[Key Features](#-key-features) • +[Quick Start](#-quick-start) • +[Installation](#-installation) • +[Usage](#-usage) • +[API](#-api) • +[Contributing](#-contributing) • +[License](#-license) + +## 📖 About + +CodeWhisper is a powerful tool designed to convert your repository code into AI-friendly prompts. It streamlines the process of generating comprehensive code summaries, making it easier to integrate your codebase with AI-powered tools and workflows. + +## ✨ Key Features + +* 🚀 Blazingly fast code processing with concurrent workers +* 🎯 Customizable file filtering and exclusion +* 📊 Intelligent caching for improved performance +* 🔧 Extensible template system +* 🖥️ CLI and programmatic API +* 🔒 Respects .gitignore rules +* 🌈 Full language support for all text-based file types +* 🤖 Interactive mode for granular file selection +* ⚡ Optimized for large repositories + +## 🚀 Quick Start + +```bash +# Install CodeWhisper globally +npm install -g codewhisper + +# Navigate to your project directory +cd /path/to/your/project + +# Generate an AI-friendly prompt +codewhisper generate +``` + +## 📦 Installation + +You can install CodeWhisper using your preferred package manager: + +```bash +# Using npm +npm install -g codewhisper + +# Using yarn +yarn global add codewhisper + +# Using pnpm +pnpm add -g codewhisper + +# Using bun +bun add -g codewhisper +``` + +## 💻 Usage + +### Basic Usage + +Generate a markdown file from your codebase: + +```bash +codewhisper generate -p /path/to/your/project -o output.md +``` + +### Default Ignores + +CodeWhisper comes with a set of default ignore patterns to exclude common files and directories that are typically not needed in code analysis (e.g., `.git` , `node_modules` , build outputs, etc.). You can view the full list of default ignores in the [file-processor.ts](https://github.com/gmickel/CodeWhisper/blob/main/src/core/file-processor.ts#L41) file. + +These default ignores can be overridden using the filter options or interactive selection. For example, if you want to include files that are ignored by default, you can use the `-f` or `--filter` option: + +```bash +codewhisper generate -f "node_modules/**/*.js" +``` + +Alternatively, you can use the interactive mode to manually select files and directories, including those that would be ignored by default: + +```bash +codewhisper interactive +``` + +### Binary Files + +CodeWhisper ignores all binary files by default. + +### Advanced Options + +* `-p, --path `: Path to the codebase (default: current directory) +* `-o, --output `: Output file name +* `-t, --template