mcpField
G
GenCodeDoc

GenCodeDoc

ローカル
github.com/fkom13開発ツール137 週間前に更新

GenCodeDoc について

GenCodeDocは、スナップショット作成、バージョン比較、Markdownドキュメント生成を行う開発者向けツールです。自動保存を設定でき、CLI、REST API、MCPから操作できます。

主な機能

  1. 01重複排除によるプロジェクトスナップショット
  2. 02タイマー・差分・ハイブリッド自動保存
  3. 03ディレクトリツリー付きMarkdown生成
  4. 04Unified・JSON・AST形式の差分比較
  5. 05Python・Node.js・Go・Webのプリセット

活用シーン

  1. 01プロジェクトの変更追跡と過去ファイルの復元
  2. 02指定したパスのMarkdownドキュメント生成
  3. 03バージョン比較と変更履歴の作成
  4. 04AIアシスタント経由のスナップショット管理

MCP 対応

スナップショット、ドキュメント、プロジェクト、設定、自動保存の操作をMCPツールとして公開します。READMEではstdioとSSEに対応し、Claude DesktopやGemini CLIなどのMCPクライアントと接続できると説明されています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"gencodedoc": {
"command": "uvx",
"args": [
"gencodedoc"
]
}
}
}
起動コマンドuvx gencodedoc

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigencodedoc2.0.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🚀 GenCodeDoc

MCP を完全サポートした、スマートなドキュメント生成ツールとインテリジェントなバージョン管理システム

Python 3.10+ Poetry MCP Compatible License: MIT AI Ready

最新の開発ワークフローに対応した、インテリジェントなバージョン管理とドキュメント生成

クイックスタート • 機能 • MCP ツール • ドキュメント


⚡ クイックスタート

# 1. Install
cd /path/to/gencodedoc
poetry install

# 2. Initialize your project
poetry run gencodedoc init --preset python

# 3. Create your first snapshot
poetry run gencodedoc snapshot create -m "Initial version" -t v1.0

# 4. Generate documentation (Smart Split)
poetry run gencodedoc doc generate --limit 5000

# 5. Visualize Tree
poetry run gencodedoc tree

🎯 AI アシスタント(Claude/Gemini)向け:MCP 統合をご覧ください

✨ 機能 🎯 主な機能 📸 スマートスナップショット - SHA256 による重複排除で、約 70% の容量を節約しながらインテリジェントなスナップショットを作成 🔄 インテリジェントな自動保存 - 設定可能なしきい値を備えた 3 つのモード(タイマー/差分/ハイブリッド) 📝 美しいドキュメント - 構文ハイライト、ディレクトリツリー、スマートな分割を備えた Markdown ドキュメントを生成 🔍 高度な差分 - 統合形式、JSON、または AST ベースの差分でバージョンを比較 🗜️ 効率的なストレージ - zstd 圧縮(約 3 倍の削減)と最適化されたインデックスを備えた SQLite 🎨 プロジェクトプリセット - Python、Node.js、Go、Web プロジェクト向けに事前設定済み 🔌 MCP 統合(Model Context Protocol) 26 個の MCP ツール - CLI の全機能を MCP 経由で AI アシスタントに公開 3 つのトランスポート - stdio(Gemini CLI)+ SSE(Claude Desktop)+ REST API マルチプロジェクト - 複数のプロジェクトを同時に管理 コードインテリジェンス - ファイル履歴、検索、変更履歴の生成 ライブステータス - プロジェクトの統計情報とスナップショット管理をリアルタイムで表示 📦 インストール 前提条件 Python 3.10+ Poetry(依存関係マネージャー) Poetry のインストール Bash

Linux/macOS

curl -sSL https://install.python-poetry.org | python3 -

Windows(PowerShell)

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - GenCodeDoc のインストール Bash

リポジトリをクローンするか、プロジェクトのディレクトリに移動

cd /home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc

依存関係をインストール

poetry install

インストールを確認

poetry run gencodedoc --help 🎯 使い方 📋 CLI の使い方 プロジェクトを初期化 Bash

基本的な初期化

gencodedoc init

Python プリセットを使用(Oracle プロジェクトにおすすめ)

gencodedoc init --preset python

利用可能なプリセット:python、nodejs、go、web

スナップショットの管理 Bash

スナップショットを作成

gencodedoc snapshot create --message "Feature X completed" --tag v1.0

スナップショットを一覧表示

gencodedoc snapshot list --limit 10

スナップショットの詳細を表示

gencodedoc snapshot show v1.0

特定のバージョンのファイル内容を表示(新機能)

gencodedoc snapshot cat v1.0 src/main.py

スナップショット内のファイルを一覧表示(新機能)

gencodedoc snapshot files v1.0 --pattern "*.py"

バージョンを比較

gencodedoc snapshot diff v1.0 v2.0

スナップショットを復元(全体または一部)

gencodedoc snapshot restore v1.0 --force gencodedoc snapshot restore v1.0 --filter "src/*.py" # 一部のみを復元

スナップショットをエクスポート(新機能)

gencodedoc snapshot export v1.0 ./dist-v1 --archive # .tar.gz を作成

スナップショットを削除

gencodedoc snapshot delete old-version --force

孤立データをクリーンアップ(新機能)

gencodedoc snapshot cleanup ドキュメントの生成 Bash

ドキュメント全体を生成

gencodedoc doc generate

出力先を指定

gencodedoc doc generate --output docs/API.md

指定したパスのみを対象にする

gencodedoc doc generate --include src/api/ --include README.md

構造をプレビュー

gencodedoc doc preview --max-depth 3

プロジェクトの統計情報を表示

gencodedoc doc stats 設定 Bash

設定を表示

gencodedoc config show

設定を編集

gencodedoc config edit

特定の値を設定

gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid

プリセットを適用

gencodedoc config preset python

除外ルールを管理

gencodedoc config ignore --add-dir dist gencodedoc config ignore --add-ext .tmp gencodedoc config ignore --list-all

カスタマイズ可能なプリセット

プリセットは現在、YAML ファイル(gencodedoc/config/presets/*.yaml)で定義されています。

ソースコードを直接編集して変更できます。

プロジェクトのステータス Bash

プロジェクトのステータスを表示

gencodedoc status 🔌 MCP 統合 GenCodeDoc は Model Context Protocol を通じて 22 個の強力なツールを提供しており、Claude Desktop、Gemini CLI、および MCP 互換クライアントで利用できます。

🎯 トランスポートモード トランスポート 用途 AI アシスタント ポート stdio CLI 統合 Gemini CLI、カスタムスクリプト stdin/stdout SSE Web/デスクトップアプリ Claude Desktop、Web UI 8000(HTTP) REST API 統合 任意の HTTP クライアント 8000(HTTP) 🚀 Gemini CLI のセットアップ(stdio)

  1. Poetry 仮想環境のパスを確認します。

Bash

cd /home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc poetry env info --path

パスをコピーし、末尾に /bin/python を追加します

  1. ~/.config/gemini-desktop-app/settings.json に追加します。

JSON

{ "mcpServers": { "gencodedoc": { "command": "/path/to/your/venv/bin/python", "args": ["-m", "gencodedoc.mcp.server_stdio"], "env": { "PROJECT_PATH": "/home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc" } } } } 3. Gemini CLI を再起動すれば、準備完了です!🎉

🚀 Claude Desktop のセットアップ(SSE)

  1. SSE サーバーを起動します。

Bash

ターミナル 1:サーバーを起動

poetry run python -m gencodedoc.mcp.server_sse

サーバーは http://127.0.0.1:8000 で稼働します

  1. Claude Desktop の設定に追加します。

場所:

macOS:/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json Linux:/.config/Claude/claude_desktop_config.json 設定:

JSON

{ "mcpServers": { "gencodedoc": { "url": "http://127.0.0.1:8000/mcp/sse", "transport": "sse", "description": "GenCodeDoc - スマートなドキュメント作成とバージョン管理" } } } 3. Claude Desktop を再起動してください。サーバーは起動したままにしておく必要があります!

🚀 REST API Bash

REST サーバーを起動

poetry run python -m gencodedoc.mcp.server

利用可能なエンドポイント

GET http://127.0.0.1:8000/ # サーバー情報 GET http://127.0.0.1:8000/mcp/tools # ツール一覧 POST http://127.0.0.1:8000/mcp/execute # ツールを実行 🛠️ MCP ツール(26 個)

🧠 コードインテリジェンス(3 個のツール)

ツール説明主なパラメーター
get_file_historyバージョン間のファイル変更を追跡しますfile_path
search_snapshotsすべてのスナップショット内のテキストを検索しますquery、case_sensitive、file_filter
generate_changelogKeep-a-Changelog を生成しますfrom_ref、to_ref

📸 スナップショット管理(11 個のツール)

ツール説明主なパラメーター
create_snapshot新しいスナップショットを作成しますmessage、tag、include_paths
list_snapshotsすべてのスナップショットを一覧表示しますlimit、include_autosave
get_snapshot_detailsスナップショットの詳細情報を取得しますsnapshot_ref
restore_snapshotスナップショットを復元します(全体または一部)snapshot_ref、force、file_filters
restore_files指定したファイルを復元しますsnapshot_ref、file_filters
delete_snapshotスナップショットを削除しますsnapshot_ref
diff_versions2 つのバージョンを比較しますfrom_ref、to_ref、format、file_filters
get_file_at_version単一ファイルの内容を取得しますsnapshot_ref、file_path
list_files_at_versionスナップショット内のファイルを一覧表示しますsnapshot_ref、pattern
export_snapshotスナップショットをフォルダーまたはアーカイブにエクスポートしますsnapshot_ref、output_path、archive
cleanup_orphaned_contents未使用のデータをクリーンアップしますなし

📝 ドキュメント(3 個のツール)

ツール説明主なパラメーター
generate_documentationMarkdown ドキュメントを生成しますoutput_path、split_limit、ignore_tree_patterns
preview_structureディレクトリツリーを表示しますmax_depth、ignore_add、limit、page
get_project_statsプロジェクトの統計情報を取得しますなし

🎯 プロジェクト管理(2 個のツール)

ツール説明主なパラメーター
init_projectgencodedoc を初期化しますproject_path、preset
get_project_statusプロジェクトのステータスを取得しますproject_path

⚙️ 設定(4 個のツール)

ツール説明主なパラメーター
get_config設定を表示しますproject_path
set_config_value設定値を変更しますkey、value
apply_presetプリセット設定を適用しますpreset(python/nodejs/go/web)
manage_ignore_rules除外ルールを管理しますadd_dir、add_file、add_ext、list_all

🔄 自動保存(3 個のツール)

ツール説明主なパラメーター
start_autosave自動バージョン管理を開始しますproject_path、mode
stop_autosave自動バージョン管理を停止しますproject_path
get_autosave_statusすべての自動保存のステータスを取得しますなし

🤝 コントリビューション コントリビューションを歓迎します! 🎉

🐛 バグは GitHub Issues で報告してください 💡 機能の提案は Discussions でお寄せください 🔧 プルリクエストを送信してください

開発ワークフロー:

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing)
  3. 変更を加えます
  4. テストを実行します(make test)
  5. PR を送信します

📄 ライセンス MIT ライセンス - LICENSE ファイルを参照してください

🐛 課題:GitHub Issues 💬 ディスカッション:GitHub Discussions 🌐 ウェブサイト:esprit-artificiel.com 📧 メール:[email protected]

スマートなバージョン管理と美しいドキュメントを愛する開発者のために、❤️を込めて作成しました

💡 プロのヒント:AI を活用したバージョン管理には、GenCodeDoc を Gemini CLI または Claude Desktop と一緒にお使いください!

⭐ 役に立った場合は、このリポジトリにスターを付けてください!

🤖 「このプロジェクトでハイブリッドモードの自動保存を開始して」 → 呼び出し:start_autosave(project_path="..."、mode="hybrid")

🤖 「すべての自動保存を停止して、ステータスを表示して」 → 呼び出し:stop_autosave(...) + get_autosave_status() ⚙️ 設定 設定ファイル(.gencodedoc.yaml) YAML

project_name: "my-project"

無視するファイル/ディレクトリ

ignore: dirs: - node_modules - venv - .venv - pycache - .git - dist - build files: - "*.log" - package-lock.json - .DS_Store extensions: - .pyc - .pyo - .exe - .jpg - .png - .pdf patterns: [] # gitignore 形式のパターン

インテリジェントな自動保存

autosave: enabled: false # 有効にするには true に設定します mode: hybrid # timer | diff | hybrid(推奨)

タイマーモード:固定間隔

timer: interval: 300 # 秒(5 分)

差分モード:しきい値ベース

diff_threshold: threshold: 0.05 # ファイルの 5% が変更されたら保存します check_interval: 60 # 60 秒ごとに確認します ignore_whitespace: true ignore_comments: false

ハイブリッドモード:タイマーと差分を組み合わせます(推奨)

hybrid: min_interval: 180 # 保存間隔の最短値:3 分 max_interval: 600 # 保存間隔の最長値:10 分 threshold: 0.03 # ファイルの 3% が変更されたら保存します

保持ポリシー

retention: max_autosaves: 50 # 自動保存は最大 50 件保持します compress_after_days: 7 # 7 日後に圧縮します delete_after_days: 30 # 30 日後に削除します keep_manual: true # 手動スナップショットは常に保持します

ドキュメントの出力

output: default_name: "{project}doc{date}.md" include_tree: true include_code: true tree_full_code_select: false # ツリー全体、選択したコードのみ language_detection: true max_file_size: 1000000 # ファイルごとの最大サイズ:1 MB

差分の出力形式

diff_format: default: unified # unified | json | ast unified_context: 3 json_include_content: true ast_enabled: false # 試験的機能

ストレージ

storage_path: .gencodedoc compression_enabled: true compression_level: 3 # 1~22(3 = バランス良好) クイック設定コマンド Bash

自動保存を有効にする

gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid

自動保存のしきい値を調整する

gencodedoc config set autosave.hybrid.min_interval 300 gencodedoc config set autosave.hybrid.max_interval 1800 gencodedoc config set autosave.hybrid.threshold 0.03

無視ルールを追加する

gencodedoc config ignore --add-dir dist gencodedoc config ignore --add-ext .tmp gencodedoc config ignore --add-file debug.log 🏗️ アーキテクチャ text

┌─────────────────────────────────────────────────────────────┐ │ GenCodeDoc システム │ └─────────────────────────────────────────────────────────────┘

┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ CLI(Typer) │ │ MCP stdio │ │ MCP SSE/REST │ │ │ │(Gemini CLI)│ │(Claude/Web)│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ │ └─────────────────┼──────────────────┘ │ ┌──────────▼──────────┐ │ コアマネージャー │ ├─────────────────────┤ │ • ConfigManager │ │ • VersionManager │ │ • DocGenerator │ │ • AutosaveManager │ └──────────┬──────────┘ │ ┌───────────────┼───────────────┐ │ │ │ ┌────▼─────┐ ┌─────▼──────┐ ┌────▼──────┐ │ スキャナー│ │ 差分比較 │ │ ストレージ│ │ │ │ │ │ │ │ • スキャン│ │ • 統合形式 │ │ • SQLite │ │ • フィルター│ │ • JSON │ │ • zstd │ │ • 検出 │ │ • AST │ │ • 重複排除│ └──────────┘ └────────────┘ └───────────┘ ┌─────────────────────────────────────────────────────────────┐ │ ストレージレイヤー │ ├─────────────────────────────────────────────────────────────┤ │ .gencodedoc/ │ │ ├── gencodedoc.db ← SQLite(メタデータ) │ │ │ ├── snapshots ← スナップショットレコード │ │ │ ├── snapshot_files ← ファイルエントリ │ │ │ ├── file_contents ← 重複排除済みコンテンツ(SHA256) │ │ │ └── autosave_state ← 自動保存ステータス │ │ └── config/ ← 設定ファイル │ └─────────────────────────────────────────────────────────────┘

主な機能: • 🔑 SHA256 による重複排除 → 約 70% の容量削減 • 🗜️ zstd 圧縮 → 約 3 倍にサイズを削減 • 📊 インデックス付き SQLite → 高速なクエリ • 🔄 Watchdog オブザーバー → リアルタイムのファイル監視 プロジェクト構成 text

gencodedoc/ ├── gencodedoc/ # ソースコード │ ├── cli/ # CLI コマンド(Typer) │ │ ├── main.py # エントリーポイント │ │ ├── snapshot_cmd.py │ │ ├── doc_cmd.py │ │ ├── config_cmd.py │ │ └── mcp_cmd.py │ ├── core/ # ビジネスロジック │ │ ├── config.py # 設定管理 │ │ ├── scanner.py # ファイルのスキャンとフィルタリング │ │ ├── versioning.py # スナップショット管理 │ │ ├── documentation.py │ │ ├── differ.py # バージョン比較 │ │ └── autosave.py # インテリジェントな自動保存 │ ├── mcp/ # MCP サーバー │ │ ├── server_stdio.py # stdio トランスポート │ │ ├── server_sse.py # SSE トランスポート │ │ ├── server.py # REST トランスポート │ │ └── tools.py # ツール定義 │ ├── models/ # データモデル(Pydantic) │ │ ├── config.py │ │ └── snapshot.py │ ├── storage/ # ストレージと圧縮 │ │ ├── database.py # SQLite マネージャー │ │ ├── snapshot_store.py │ │ └── compression.py # zstd 圧縮 │ └── utils/ # ユーティリティ │ ├── filters.py │ ├── formatters.py │ └── tree.py ├── config/ # 設定プリセット │ └── presets/ │ ├── python.yaml │ ├── nodejs.yaml │ ├── go.yaml │ └── web.yaml ├── tests/ # 単体テスト ├── pyproject.toml # Poetry の設定 ├── Makefile # 開発用コマンド └── README.md 🔬 高度な機能 🎯 インテリジェントな重複排除(約 70% の容量削減) GenCodeDoc は SHA256 ベースの重複排除を使用します。

✅ スナップショット間で同一のファイルは 1 回だけ保存されます ✅ 大幅な容量削減(実際のプロジェクトでは約 70%) ✅ zstd 圧縮により、さらに約 3 倍の削減 ✅ インデックスを備えた最適化済み SQLite

例:100 MB のプロジェクトを 10 個のスナップショットで保存する場合

重複排除なし:1 GB GenCodeDoc を使用:約 300 MB(重複排除と圧縮) 🔄 自動保存モード モード 仕組み 最適な用途 timer X 秒ごとに保存 継続的な開発 diff X% 変更されたら保存 重要なプロジェクト hybrid ⭐ 最小/最大間隔としきい値 一般的な用途(推奨) ハイブリッドモードの例:

YAML

hybrid: min_interval: 300 # 5 分より頻繁に保存しない max_interval: 1800 # 30 分後に強制保存 threshold: 0.03 # またはファイルの 3% が変更された場合 📊 差分形式 形式 説明 用途 unified Git スタイルの差分 人間による確認 json 構造化データ 自動化 ast セマンティック差分 コード分析(試験的) Bash

統一形式の差分(デフォルト)

gencodedoc snapshot diff v1.0 v2.0

スクリプト用 JSON

gencodedoc snapshot diff v1.0 v2.0 --format json > changes.json

AST(セマンティック)

gencodedoc snapshot diff v1.0 v2.0 --format ast 🐛 トラブルシューティング よくある問題 1️⃣ MCP エラー:notifications/initialized 症状:MCP の起動時にエラーが発生します。

text

MCP ERROR: Unknown method: notifications/initialized 原因:MCP プロトコルは、古いバージョンでは処理されない通知を送信します。

解決策:✅ 現行バージョンではすでに修正されています。サーバーは MCP 通知を無視するようになりました。

2️⃣ スナップショットが誤った場所に作成される 症状:すべてのスナップショットが対象プロジェクトではなく、gencodedoc 自身のディレクトリに保存されます。

原因:MCP tools/call パラメーターから project_path が正しく抽出されていません。

解決策:✅ すでに修正されています。サーバーは引数から project_path を正しく抽出するようになりました。

修正を確認する:

Bash

これは gencodedoc ではなく /path/to/project にスナップショットを作成します

/gencodedoc create_snapshot project_path=/path/to/project tag=test 3️⃣ Zod 検証エラー(id=null) 症状:

text

Error: Expected string or number, received null (path: ["id"]) 原因:"id": 0 ではなく "id": null を含む JSON-RPC レスポンスが返されます。

解決策:✅ すでに修正されています。すべてのエラーレスポンスで request_id または 0 を使用するようになりました。

4️⃣ ファイルが正しくスキャンされない 症状:スナップショットに表示されるファイル数が間違っているか、誤ったディレクトリのファイルが含まれています。

原因:snapshot_store.py が絶対パスではなく相対パスを使用していました。

解決策:✅ すでに修正されています。SnapshotStore は project_path を受け取り、絶対ファイルパスを使用するようになりました。

5️⃣ データベースが初期化されていない 症状:

text

Error: no such table: snapshots 原因:スナップショットを作成する前にプロジェクトが初期化されていません。

解決策:

Bash

必ず最初に初期化します(テーブルが作成されます)

gencodedoc init --preset python

または MCP 経由で実行します

/gencodedoc init_project project_path=/path/to/project preset=python 6️⃣ 自動保存が開始されない 症状:start_autosave ツールが動作しません。

原因:自動保存には MCP サーバーを起動したままにしておく必要があります(バックグラウンドプロセスです)。

解決策:

stdio モード:サーバーはリクエストごとに実行されるため、リクエストが終了すると自動保存も停止します SSE/REST モード:✅ サーバーが常時稼働するため、自動保存が動作します! 推奨:自動保存には SSE/REST を、単発コマンドには stdio を使用してください。

デバッグモード Bash

詳細なログを有効にします(実装されている場合)

export GENCODEDOC_DEBUG=1 poetry run gencodedoc snapshot create --message "test"

SQLite DB を直接確認します

sqlite3 /path/to/project/.gencodedoc/gencodedoc.db ".tables" sqlite3 /path/to/project/.gencodedoc/gencodedoc.db "SELECT * FROM snapshots;" 🧪 テスト Bash

すべてのテストを実行します

poetry run pytest

カバレッジ付きで実行します

poetry run pytest --cov=gencodedoc --cov-report=html

特定のテストを実行します

poetry run pytest tests/test_scanner.py -v poetry run pytest tests/test_versioning.py -v poetry run pytest tests/test_mcp.py -v

ウォッチモード(pytest-watch が必要です)

poetry run ptw 🛠️ 開発 開発環境のセットアップ Bash

開発用依存関係を含めてインストールします

poetry install

仮想環境を有効にします

poetry shell

pre-commit フックをインストールします(設定されている場合)

pre-commit install Makefile コマンド Bash

make help # すべてのコマンドを表示します make install # 依存関係をインストールします make test # テストを実行します make test-cov # カバレッジ付きでテストを実行します make lint # コード品質をチェックします make format # コードをフォーマットします(Black) make clean # 一時ファイルを削除します make docs # ドキュメントを生成します make serve-mcp-sse # SSE サーバーを起動します make serve-mcp-stdio # stdio サーバーを起動します make all # lint + test + build を実行します コードスタイル フォーマッター:Black(行の長さ 100) リンター:Ruff 型ヒント:Pydantic で強制 Docstring:Google スタイル 🎯 ユースケース 1️⃣ ドキュメントの継続的な更新 Bash

自動保存を有効にして初期化します

gencodedoc init --preset python gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid

ドキュメントは常に最新の状態に保たれます

gencodedoc doc generate --output docs/API.md 2️⃣ 安全なリファクタリング Bash

重要な変更を行う前にスナップショットを作成します

gencodedoc snapshot create
--message "Before refactoring authentication system"
--tag before-refactor

... 変更を加えます ...

リファクタリング後のスナップショット

gencodedoc snapshot create
--message "After refactoring - tests passing"
--tag after-refactor

比較

gencodedoc snapshot diff before-refactor after-refactor

必要に応じてロールバック

gencodedoc snapshot restore before-refactor --force 3️⃣ API ドキュメントを選択して生成 Bash

特定のモジュールのみをドキュメント化

gencodedoc doc generate
--include src/api/
--include src/models/
--include README.md
--output docs/API_Reference.md 4️⃣ AI 支援ワークフロー(Gemini/Claude) Bash

1. MCP を設定する(一度だけ)

AI アシスタントの設定に gencodedoc を追加します

2. 自然言語で指示する

「タグ v2.0 でスナップショットを作成して」 「v1.0 と v2.0 を比較して」 「プロジェクトの統計情報を表示して」 「ハイブリッドモードで自動保存を開始して」 「完全なドキュメントを生成して」

AI が適切な MCP ツールを自動的に呼び出します!🎉

🌟 ロードマップ Git 統合(コミット時にスナップショットを自動作成) クラウドバックアップ(S3、GCS) Web UI ダッシュボード AST ベースのセマンティック差分(完全な実装) 複数言語向けプリセット(Rust、Java、C++) スナップショットの暗号化 コラボレーション機能(スナップショットの共有) 📄 ライセンス MIT License - LICENSE ファイルを参照してください

🤝 コントリビューション コントリビューションを歓迎します!🎉

🐛 GitHub Issues でバグを報告してください 💡 Discussions で機能を提案してください 🔧 プルリクエストを送信してください 開発ワークフロー:

リポジトリをフォークします 機能ブランチを作成します(git checkout -b feature/amazing) 変更を加えます テストを実行します(make test) PR を送信します 📞 サポート 🐛 課題:GitHub Issues 💬 ディスカッション:GitHub Discussions 🌐 ウェブサイト:esprit-artificiel.com 📧 メール:[email protected] 🙏 謝辞 以下の素晴らしいツールを使用して構築しました:

FastAPI - MCP サーバーのフレームワーク Pydantic - データ検証 Typer - CLI フレームワーク Rich - ターミナルのフォーマット zstandard - 圧縮 Watchdog - ファイル監視 SQLite - 組み込みデータベース

スマートなバージョン管理と美しいドキュメントを愛する開発者のために、❤️を込めて作りました

💡 プロのヒント:AI を活用したバージョン管理には、Gemini CLI または Claude Desktop で GenCodeDoc を使用してください!

⭐ 便利だと思ったら、このリポジトリにスターを付けてください!

``` 🎯 旧バージョンからの変更点 ✅ 主な追加点 上部のバッジ(Python、Poetry、MCP、License、AI Ready) 目立つクイックスタート(5 ステップ) ドキュメント化された 17 個の MCP ツールと表 完全な ASCII アーキテクチャ図 修正した 6 つのバグのトラブルシューティング 具体的な AI の使用例 自動保存の説明を改善(3 つのモードと表) 3 種類のトランスポートを明確化(stdio/SSE/REST) 実用的なユースケース(実際の 4 つのシナリオ) 今後のロードマップ 🎨 視覚面の改善 全体で一貫した絵文字 比較用の表 適切にフォーマットされたコードブロック 区切り線を使った明確なセクション フッターの行動喚起 📊 構成の改善 最初にクイックスタート(重要事項) インストールの前に機能を紹介 専用セクションに MCP ツールを掲載 充実したトラブルシューティング 開発に関する内容を独立したセクションに分離

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。