npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

codemap-cli

v1.1.0

Published

Convert code repos into a single LLM-friendly text snapshot

Readme

Codemap-cli

codemap-cli — кроссплатформенная утилита командной строки для создания текстового снепшота репозитория. Инструмент конвертирует дерево файлов в единый структурированный текстовый файл, удобный для анализа, аудита или передачи в сторонние инструменты.

Основные возможности

• обработка игнор-файлов (.gitignore, .gptignore, .codemapignore, .dockerignore)
• рекурсивный обход директории
• исключение бинарных файлов
• корректная работа с UTF-8, включая многоязычные комментарии
• вывод в одном текстовом файле с блоками # file: ... и code fences
• кроссплатформенная работа (Windows, macOS, Linux)
• возможность глобальной установки и запуска из любой директории

Установка

Глобальная установка

npm install -g codemap-cli

После установки команда codemap становится доступна в $PATH.

Локальная установка в проект

npm install --save-dev codemap-cli

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

npx codemap .

Быстрый старт

Создать снепшот текста из текущей директории

codemap .

По умолчанию будет создан файл output.txt в текущей папке.

Указать путь и файл вывода

codemap ./frontend -o frontend.txt

Добавить преамбулу

codemap . -o snapshot.txt -p preamble.txt

Вывести результат в STDOUT

codemap . -o -

Поддерживаемые ignore-файлы

Утилита автоматически обрабатывает следующие файлы (если они присутствуют в корне дерева):

  • .codemapignore
  • .gptignore
  • .gitignore
  • .dockerignore

Формат соответствует синтаксису .gitignore.

Файлы игнора:

  • используются как источник правил исключения
  • не включаются в итоговый снепшот

Принцип работы

1. Определение корневой директории

Первый позиционный аргумент команды задаёт путь.
Если он отсутствует — используется . (текущая директория).

2. Загрузка ignore-правил

Утилита:

  • подгружает стандартные исключения (например, node_modules/, .git/)
  • ищет и загружает поддерживаемые ignore-файлы
  • объединяет все правила в единый фильтр

3. Рекурсивный обход дерева

Алгоритм:

  • обходит директории с помощью fs.readdirSync и recursive walk
  • пропускает игнорируемые пути
  • пропускает бинарные файлы (определяются наличием 0x00)

4. Определение типа файла

Язык подсветки для блока определяется по расширению файла:
.js → javascript, .ts → typescript, .vue → vue, и т.д.

5. Формирование снепшота

Результат записывается в одном текстовом файле с таким форматом:

# file: src/index.js

```javascript
console.log("example");
```

Опции CLI

| Опция | Описание | | ----------------------- | -------------------------------------------------------------- | | [path] | Путь к каталогу (по умолчанию .) | | -o, --output <file> | Имя файла вывода или - для STDOUT. По умолчанию output.txt | | -p, --preamble <file> | Путь к файлу, содержимое которого будет добавлено в начало | | -h, --help | Показать справку |

Примеры использования

Генерация текстового слепка фронтенда

cd project/frontend
codemap . -o frontend.txt

Снепшот всей монорепы

codemap . -o repo.txt

Снепшот с преамбулой (например, инструкцией)

codemap . -p docs/header.txt -o summary.txt

Тестирование

Для запуска тестов требуется Node.js v18+.

Запуск:

npm test

Тесты покрывают:

  • парсинг аргументов
  • обработку игнор-файлов
  • определение бинарных/текстовых файлов
  • форматирование вывода
  • рекурсивный обход каталога

Ограничения

  • Вложенные .gitignore (в поддиректориях) на данный момент не обрабатываются. В будущем может быть добавлена расширенная поддержка.
  • Бинарные файлы исключаются полностью и не получают даже заголовочного блока.
  • Поддержка других форматов вывода (JSON, Markdown-таблица и т.д.) отсутствует в текущей версии.

Лицензия

MIT License