code2prompt: преобразование библиотек кода в понятные файлы подсказок с большой моделью

Общее введение

code2prompt - это инструмент командной строки с открытым исходным кодом, созданный разработчиком Mufeed VH и размещенный на GitHub, призванный помочь пользователям быстро преобразовывать целые базы кода в подсказки, подходящие для Large Language Model (LLM). Он генерирует форматированный вывод в формате Markdown, обходя каталог кода, создавая структуру дерева исходных текстов и консолидируя содержимое файлов для непосредственного использования в таких задачах, как анализ кода, документирование или улучшение функций. Благодаря поддержке настройки шаблонов Handlebars, статистики подсчета токенов и интеграции с Git diff, инструмент особенно хорошо подходит для разработчиков, которые хотят использовать возможности больших моделей, таких как ChatGPT (или Claude) для работы со сложными кодовыми базами. Будь то оптимизация производительности, поиск ошибок или генерация коммитов, code2prompt обеспечивает значительное повышение эффективности. По состоянию на 3 марта 2025 года проект имеет более 4 500 звезд, что свидетельствует о его широком признании в сообществе разработчиков.

code2prompt:将代码库转换为大模型可理解的prompt文件

 

Список функций

  • Преобразование кодовой базы: Консолидировать файлы кода из указанного каталога в один LLM-читаемый запрос.
  • Генерация дерева исходного кода: Автоматическое создание древовидной структуры каталогов кода для облегчения понимания схемы проекта.
  • Настройка шаблонов: Настройте формат вывода с помощью шаблонов Handlebars для поддержки широкого спектра сценариев использования.
  • Счетчик жетонов: Статистическая генерация подсказок для жетон число для обеспечения адаптации к контекстуальным ограничениям различных моделей.
  • Интеграция с Git: Поддержка добавления Git diff и log для отображения истории изменений кода.
  • Фильтрация документов: Поддерживает фильтрацию файлов в режиме glob, игнорируя постороннее содержимое, например .gitignore.
  • Вывод в формате уценки: Генерируйте структурированные документы в формате Markdown для удобной загрузки непосредственно в LLM.
  • Поддержка кросс-платформы: Стабильно работает на Linux, macOS и Windows.
  • Поддержка буфера обмена: Автоматическое копирование созданных подсказок в буфер обмена для повышения эффективности работы.

 

Использование помощи

Процесс установки

code2prompt - это инструмент командной строки, написанный на языке Rust, с простым процессом установки и поддержкой нескольких методов. Ниже приведены подробные шаги:

Метод 1: Установка через исходный код

  1. предварительные условия: Убедитесь, что Rust и Cargo (менеджер пакетов Rust) установлены в вашей системе. Это можно проверить с помощью следующей команды:
    rustc --version
    cargo --version

Если у вас нет этой программы, посетите сайт Rust, чтобы загрузить и установить ее.
2. склад клонов::

git clone https://github.com/mufeedvh/code2prompt.git
cd code2prompt
  1. Компиляция и установка::
    cargo build --release
    

    После компиляции target/release/ каталог, чтобы найти code2prompt Исполняемый файл.

  2. Переход к глобальному пути(Необязательно): перемещение файлов в системный путь для глобальных вызовов, например:
    sudo mv target/release/code2prompt /usr/local/bin/
    

Метод 2: Предварительная компиляция двоичных файлов

  1. Посетите страницу GitHub Releases, чтобы загрузить последнюю версию бинарного файла для вашей операционной системы (например. code2prompt-v2.0.0-linux-x86_64).
  2. Распакуйте и дайте разрешение на выполнение:
    chmod +x code2prompt
    
  3. Перемещение на глобальный путь (необязательно):
    sudo mv code2prompt /usr/local/bin/
    

Метод 3: Установка через Nix

Если вы используете менеджер пакетов Nix, вы можете установить его напрямую:

# 无 flakes
nix-env -iA nixpkgs.code2prompt
# 有 flakes
nix profile install nixpkgs#code2prompt

Использование

После установки вы можете запустить его из командной строки code2prompt. Ниже приведен подробный порядок работы с основными функциями:

1. Основное использование: генерация подсказок для кодовой базы

Предположим, у вас есть каталог с кодом /path/to/codebaseВыполните следующую команду:

code2prompt /path/to/codebase
  • Выходные данные будут содержать дерево источника и все содержимое файлов, сгенерированное по умолчанию в формате Markdown и скопированное в буфер обмена.
  • Образец вывода:
    Source Tree:
    

    dir/
    file1.rs
    └──── file2.py

    `dir/file1.rs`:
    <文件内容>
    

2. Пользовательские шаблоны

code2prompt предоставляет встроенные шаблоны (например, для генерации сообщений о фиксации git, комментариев к документации и т. д.), расположенные в каталоге установки templates/ папка. Можно также создавать пользовательские шаблоны. Например, используя document-the-code.hbs Добавьте комментарии к документу:

code2prompt /path/to/codebase -t templates/document-the-code.hbs
  • Пользовательские шаблоны должны следовать синтаксису Handlebars, с такими переменными, как absolute_code_path(путь кода),source_tree(дерево исходного кода) и files(список документов).

3. Варианты подсчета токенов и кодирования

Просмотр количества сгенерированных маркеров подсказок с поддержкой нескольких разделителей:

code2prompt /path/to/codebase --tokens -c cl100k
  • Необязательное причастие:cl100k(по умолчанию),p50k, иp50k_edit, иr50k.

4. Интеграция с Git

Добавьте Git diff (поэтапные файлы):

code2prompt /path/to/codebase --diff

Сравните различия между двумя ветвями:

code2prompt /path/to/codebase --git-diff-branch "main, development"

Получите журнал фиксации между ветками:

code2prompt /path/to/codebase --git-log-branch "main, development"

5. фильтрация документов

Исключите определенные файлы или каталоги:

code2prompt /path/to/codebase --exclude "*.log" --exclude "tests/*"

Содержит только определенные файлы:

code2prompt /path/to/codebase --include "*.rs" --include "*.py"

6. Сохранить вывод

Сохраните результаты в файл, а не просто скопируйте их в буфер обмена:

code2prompt /path/to/codebase -o output.md

Пример работы

Предположим, вы хотите сгенерировать рекомендации по оптимизации производительности для проекта на Python:

  1. Выполнить команду:
    code2prompt /path/to/project -t templates/improve-performance.hbs -o prompt.md
    
  2. главнокомандующий (военный) prompt.md Содержание, загруженное в Клод или ChatGPT, введите: "Предложите оптимизацию производительности на основе этой базы кода".
  3. Получите параметры оптимизации, возвращаемые моделью, такие как оптимизация циклов, рекомендации по управлению памятью и т.д.

предостережение

  • Если функция буфера обмена не работает на некоторых системах (например, Ubuntu 24.04), экспортируйте в терминал и скопируйте вручную:
    code2prompt /path/to/codebase -o /dev/stdout | xclip -selection c
    
  • зонд .gitignore файл, чтобы обеспечить корректное игнорирование лишних файлов (доступно с помощью --no-ignore (Инвалид).

Выполнив описанные выше действия, вы сможете быстро начать работу с code2prompt и легко превратить свою кодовую базу в большую модель, пригодную для использования, завершая весь процесс от анализа до оптимизации.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...