mdzilla について
mdzillaは、ターミナル利用者やエージェント向けのMarkdownドキュメントブラウザーです。ローカルディレクトリ、GitHub、npm、HTTP、`llms.txt`から取得・表示し、検索やプレーンテキスト出力、Markdown形式でのエクスポートもできます。
主な機能
- 01ローカル、GitHub、npm、HTTPのドキュメント読み込み
- 02ドキュメントのページ解決と表示
- 03タイトルと本文の検索
- 04プレーンテキスト出力
- 05Markdownファイルへのエクスポート
活用シーン
- 01ターミナルでプロジェクト文書を閲覧
- 02エージェント向けに特定ページを取得
- 03トピックやキーワードで文書を検索
- 04オフライン処理用に文書をエクスポート
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pi0/ mdzilla --skill mdzillaインストール後、Claude Code で/mdzillaを入力して読み込まれたか確認します。
詳細
mdzilla
ターミナルやエージェント向けのMarkdownドキュメントブラウザーです。ローカルディレクトリ、GitHub、npm、HTTP、llms.txt からドキュメントを取得してレンダリングします。
CLI
npx mdzilla <source> [query] [options]
ソース
| ソース | 構文 | 備考 |
|---|---|---|
| ローカルディレクトリ | mdzilla ./docs | ローカルのドキュメントディレクトリをスキャンします |
| ファイル | mdzilla README.md | 単一のMarkdownファイルをレンダリングします |
| GitHub | mdzilla gh:owner/repo | リポジトリ内の docs/ を探します |
| npm | mdzilla npm:package-name | パッケージをダウンロードして、ドキュメントを読み込みます |
| HTTP | mdzilla https://example.com | /llms.txt、Markdownネゴシエーション、HTMLからMarkdownへの変換の順に試します |
オプション
--export <dir>— ドキュメントをフラットな.mdファイルにエクスポートします--plain— プレーンテキストで出力します。AI エージェントまたはTTYではない標準出力の場合は自動的に有効になります
スマート解決
2番目の位置引数はスマート解決されます。
- ナビゲーションパスと一致する場合 → そのページをレンダリングします
- 一致しない場合 → タイトルと本文を検索します
エージェントでの使用
npx mdzilla gh:unjs/h3 /guide/basics # render a specific page
npx mdzilla gh:unjs/h3 router # search for 'router'
npx mdzilla https://h3.unjs.io /guide # render page from URL
npx mdzilla npm:consola --plain # list all pages (plain)
オフライン処理用にドキュメントをエクスポートします。
npx mdzilla <source> --export ./fetched-docs
その後、必要に応じてエクスポートされた .md ファイルを読み込みます。
プログラムから利用するAPI
ドキュメントのエクスポート
import { exportSource } from "mdzilla";
await exportSource("./docs", "./dist/docs");
await exportSource("gh:unjs/h3", "./dist/h3-docs");
await exportSource("npm:h3", "./dist/h3-docs", { plainText: true });
await exportSource("https://h3.unjs.io", "./dist/h3-docs");
コレクション
import { Collection, resolveSource } from "mdzilla";
const docs = new Collection(resolveSource("./docs"));
await docs.load();
console.log(docs.tree); // NavEntry[] navigation tree
console.log(docs.flat); // FlatEntry[] flat list
const content = await docs.getContent(docs.flat[0]);
const results = docs.filter("query"); // fuzzy search
コメント
Markdown 対応