Skip to content

Latest commit

 

History

History
145 lines (100 loc) · 4.03 KB

File metadata and controls

145 lines (100 loc) · 4.03 KB

link-crawler

技術ドキュメントサイトをクロールし、AIコンテキスト用のMarkdownとして保存するCLIツール。

特徴

  • 🕷️ 再帰的なWebクロール - 深度指定可能なリンク追跡
  • 📝 AIコンテキスト用出力 - Markdown形式で構造化された情報
  • 🔄 差分クロール対応 - 変更ページのみ効率的に更新
  • 🎯 スコープ制御 - include/exclude パターンによる柔軟なフィルタリング
  • 🌐 クロスドメイン対応 - 同一ドメイン制限の有効/無効化
  • 高速処理 - Playwright + Bunによる効率的なクロール

インストール

ワンコマンドセットアップ(推奨)

./install.sh

このスクリプトは以下を自動で行います:

  • Bun/Node.jsの確認
  • playwright-cliのインストール(必要な場合)
  • 依存関係のインストール
  • 動作確認

手動セットアップ

# 依存関係のインストール
bun install

# playwright-cli のインストール(未インストールの場合)
npm install -g @playwright/cli

前提条件:

使用方法

基本的な使い方

bun run src/crawl.ts <url> [options]

実用例

# Next.jsドキュメントをクロール(深度2)
bun run src/crawl.ts https://nextjs.org/docs -d 2

# 差分クロール(変更ページのみ更新)
bun run src/crawl.ts https://nextjs.org/docs -d 2 --diff

# カスタム出力先を指定
bun run src/crawl.ts https://example.com -o ./my-output

# URLパターンで絞り込み
bun run src/crawl.ts https://nextjs.org/docs \
  --include "/docs/app/" \
  --exclude "/api-reference/"

よく使うオプション

オプション 説明 デフォルト
-d, --depth <num> 最大クロール深度 1
-o, --output <dir> 出力ディレクトリ ./.context/<サイト名>/
--diff 差分クロール(変更ページのみ) false
--include <pattern> 含めるURLパターン(正規表現) -
--exclude <pattern> 除外するURLパターン(正規表現) -

📖 完全なオプション一覧: CLI仕様書 を参照

出力ファイル

クロール後、以下のファイルが生成されます:

ファイル 用途
full.md 全ページを結合したMarkdown(AIコンテキスト用
pages/*.md ページ単位のMarkdown
chunks/*.md 見出しベースで分割されたMarkdown(--chunks有効時)
index.json メタデータ・ハッシュ・クロール情報

📖 詳細な出力構造: CLI仕様書 を参照

ドキュメント

ドキュメント 対象読者 内容
SKILL.md piユーザー piスキルとしての使い方・オプション一覧
CLI仕様書 CLIユーザー 完全なオプション一覧・詳細な使用例・出力形式
設計書 開発者 アーキテクチャ・データ構造・技術仕様

開発

テスト実行

# 全テスト実行
bun run test

# ウォッチモード
bun run test:watch

# カバレッジ付き
bun run test:coverage

Lint・フォーマット

# チェック
bun run check

# 自動修正
bun run fix

# 型チェック
bun run typecheck

ビルド

bun run build

ライセンス

MIT

リポジトリ

takemo101/dict-skills - link-crawler

作者

takemo101