Skip to main content

A CLI tool to bundle coding files into a single Markdown file.

Project description

summd

See below for the English version.

Source code available on GitHub! 👥

summd は、ディレクトリ内のソースコードや設定ファイルを 1つのMarkdownファイル にまとめるためのコマンドラインツールです。 プロジェクト全体の構造を俯瞰したり、LLM(大規模言語モデル)へのインプットとして利用するのに最適です。


✨ 特徴

  • 複数ファイルの一括集約: プロジェクト内のコード・設定ファイルをまとめて1ファイル化。
  • .gitignore 対応: .gitignore の内容を自動反映し、不要ファイルを除外。
  • Jupyter Notebook 対応: .ipynb のMarkdownセル・コードセルを抽出して整形。
  • 柔軟な除外設定: デフォルト無視パターン(node_modules/, .venv/, __pycache__/など)に加えて、任意の拡張子やパターンを指定可能。
  • 多言語サポート: Python, JavaScript, HTML, CSS, Dockerfile, YAML など主要言語に対応。

🚀 インストール

開発中のツールのため、pipx でのインストールを推奨します。

pipx install summd

pip install summd でも利用可能ですが、CLIツールは pipx 管理が便利です。

💡 使い方

基本コマンド:summd <対象ディレクトリ> <出力ファイルパス>

例: 現在のディレクトリをまとめる

summd . output/summary.md

⚙️ オプション

-i, --ignore

特定の拡張子を持つファイルを除外します。複数指定可能。

例: .log と .tmp を無視

summd . summary.md --ignore .log .tmp

📚 ユースケース

  • LLMへのインプット用に、リポジトリを丸ごとMarkdown化
  • プロジェクト概要をキャッチアップするためのドキュメント生成
  • レビューやアーカイブ用途でのコードスナップショット化

📝 ライセンス

このプロジェクトは MITライセンス の下で公開されています。


summd is a command-line tool that consolidates source code and configuration files in a directory into a single Markdown file. It’s ideal for getting an overview of an entire project or preparing input for LLMs (Large Language Models).


✨ Features

  • Aggregate multiple files: Combine code and config files across a project into one Markdown file.
  • .gitignore support: Automatically respects .gitignore rules to exclude unwanted files.
  • Jupyter Notebook support: Parses .ipynb files, extracting and formatting Markdown and code cells.
  • Flexible exclusions: Skips default patterns (node_modules/, .venv/, __pycache__/, etc.) and lets you specify custom extensions or patterns.
  • Multi-language support: Handles Python, JavaScript, HTML, CSS, Dockerfile, YAML, and many more.

🚀 Installation

As this tool is still under development, we recommend installing with pipx:

pipx install summd

pip install summdalso works, but pipx is generally better for managing CLI tools.

💡 Usage

Basic command:summd <target-directory> <output-file>

Example: consolidate the current directory into output/summary.md

summd . output/summary.md

⚙️ Options

-i, --ignore

Exclude files with specific extensions. Multiple extensions can be specified.

Example: ignore .log and .tmp files:

summd . summary.md --ignore .log .tmp

📚 Use Cases

  • Consolidate a repository into Markdown for LLM input
  • Generate project overviews for quick onboarding
  • Create code snapshots for review or archiving

📝 License

This project is released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

summd-0.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

summd-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file summd-0.1.0.tar.gz.

File metadata

  • Download URL: summd-0.1.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.13 Darwin/23.6.0

File hashes

Hashes for summd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ef6d93106423ec989e39a632dee34bee12388df42636d24f001ec4e2f8762e25
MD5 7ea71478c94307590c8454827e879ecd
BLAKE2b-256 bee4bea914314f8f929e7c7f7efe9e94e10b93442e6f43d3fe929ba09a038a6d

See more details on using hashes here.

File details

Details for the file summd-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: summd-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.13 Darwin/23.6.0

File hashes

Hashes for summd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 932570c054f56e9aa0a21236a601e6fd22bce9e22e75916f4b809bcbe6637872
MD5 5783f69ca51a34a86e730c84aed0bffd
BLAKE2b-256 fb0a4f11d543e8885e64d1b7a09db7fa0e5d5947f2024f7961f3799ee25ead56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page