🚀 Chainguard - Claude Code用MCPサーバー
Chainguardは、タスク追跡、構文検証、長期記憶、およびインテリジェントなコンテキスト管理機能を備えた、Claude Codeを強化するモデルコンテキストプロトコル(MCP)サーバーです。
✨ 主な機能
コア機能
- タスクスコープ管理 - タスクの境界、受け入れ基準を定義し、進捗を追跡します。
- 自動構文検証 - ファイル変更時に、PHP、JavaScript、JSON、Python、TypeScriptの構文を検証します。
- PHPStan統合 (v6.3) - 静的解析により、実行前にランタイムエラー(nullアクセス、型エラー)を検出します。
- スマートコンテキスト追跡 - カナリーベースのコンテキストリフレッシュにより、Claudeが重要な指示を失うことがないようにします。
- HTTPエンドポイントテスト - セッションサポートと自動認証検出を備えたエンドポイントテストを行います。
長期記憶 (v5.1+、v6.6で書き換え)
- 意味論的コード検索 - 「認証はどこで処理されていますか?」のような自然言語クエリをサポートします。
- 軽量ベクトルストア - fastembed (ONNX Runtime) + numpy + sqlite3を使用し、約500MBのRAMで動作します(ChromaDBに代わるもの)。
- 多言語埋め込み -
paraphrase-multilingual-MiniLM-L12-v2により、ドイツ語を含む50以上の言語をサポートします。
- 6つの知識コレクション - コード構造、関数、データベーススキーマ、アーキテクチャ、学習内容、コード要約
- RAGパイプライン - 意味的類似度(60%)、キーワードマッチング(25%)、最近度スコアリング(15%)によるハイブリッド検索を行います。
- 自動コンテキスト注入 -
UserPromptSubmitフックにより、LLM呼び出しの前に関連するメモリコンテキストを注入します。
- 古いメモリの自動リフレッシュ (v6.8) -
set_scope時に30日以上古いメモリを検出し、変更されたファイルを段階的に再インデックス化します。
- プロジェクト分離 - セキュリティ検証済みの分離により、プロジェクト間のアクセスを防止します。
- エクスポート/インポート - オプションのgzip圧縮付きのポータブルJSON/JSONLエクスポートをサポートします。
注意: v6.6から、RAM使用量が約3.8GBから約500MBに削減されたため、長期記憶はデフォルトで有効になっています (MEMORY_ENABLED=True)。
TOONエンコーダー (v6.0)
- トークン指向オブジェクト表記 - トークンを30 - 60%節約するコンパクトなデータ形式です。
- 配列に最適化 - ファイルのリスト、テーブル、履歴エントリなどの配列に最適です。
- 自動フォーマット -
chainguard_projects、chainguard_historyなどのツールはデフォルトでTOONを使用します。
幻覚防止 (v6.1+)
- シンボル検証 - 信頼度スコアリングを用いて、幻覚された関数/メソッド呼び出しを検出します。
- PHP組み込み関数データベース - JetBrains phpstorm-stubsからの11,000以上のPHP関数/クラス/メソッドを含みます (v6.3.1)。
- スロップスクワッティング検出 - タイポスクワッティングされたパッケージ名(例:
requets の代わりに requests)を検出します。
- 7言語サポート - PHP、JavaScript、TypeScript、Python、C#、Go、Rust
- パッケージレジストリ検証 - composer.json、package.json、requirements.txtに対してインポートを検証します。
- 適応モード - 誤検知率に基づいて感度を自動調整します。
| モード |
動作 |
OFF |
検証を無効にします。 |
WARN |
警告のみを表示します(デフォルト)。 |
STRICT |
高信頼度の問題をブロックします。 |
ADAPTIVE |
誤検知率に基づいて自動調整します。 |
深層ロジック要約 (v5.4)
- コード理解 - コードが実際に行っていることを人間が読める形式で要約します。
- 目的推論 - ドキュメント文字列、コメント、および命名規則からパターンを認識します。
- 多言語サポート - Python、PHP、JavaScript、TypeScript
アーキテクチャ分析 (v5.3+)
- パターン検出 - MVC、MVVM、クリーンアーキテクチャ、ヘキサゴナル、レイヤード、APIファースト
- フレームワーク認識 - Laravel、Django、React、Vue、Angular、FastAPIなど
- AST分析 - Tree-sitterベースのコード解析と正規表現フォールバックを使用します。
PRD自動検出 (v6.7)
- 自動PRD発見 -
set_scope時にPRD/要件文書を検出します。
- 16のファイル名パターン -
PRD.md、REQUIREMENTS.md、SPEC.md、SPECIFICATION.mdなど
- 7つの検索ディレクトリ - ルート、
docs/、doc/、.claude/、requirements/、specs/、.github/
- ワークフローリマインダー - 実装前にPRDを確認するようにリマインドし、
finish時にPRDを更新するように促します。
カンバンシステム (v6.5)
- 永続的なタスク管理 - 視覚的なボードを使用して、複雑な数日間のプロジェクトを追跡します。
- スマートカンバン提案 - 5つ以上の基準または複雑性キーワードが検出された場合、自動的にカンバンを提案します。
- 7つの列プリセット - デフォルト、プログラミング、コンテンツ、DevOps、調査、アジャイル、シンプル
- カスタム列 - LLMプロンプト注入により、タスク固有の列を定義できます。
- 依存関係追跡 - カードは他のカードに依存することができ、ブロックされたカードは強調表示されます。
- リンク付き詳細ファイル - 各カードには、詳細な指示が記載されたマークダウンファイルをリンクできます。
- アーカイブシステム - 完了したカードは履歴のためにアーカイブできます。
- グラフィカルボードビュー - 進行状況バー付きのASCIIアートビジュアライゼーションを提供します。
タスクモード
| モード |
使用例 |
programming |
コード、バグ、機能(デフォルト) |
content |
書籍、記事、ドキュメント |
devops |
サーバー管理、CLIツール、WordPress |
research |
分析、情報収集 |
generic |
最小限の追跡 |
機能フラグ
~/.chainguard/chainguard/config.pyで設定できます。
| フラグ |
デフォルト |
説明 |
TOON_ENABLED |
True |
配列出力にTOON形式を使用します(トークンを30 - 60%節約) |
MEMORY_ENABLED |
True |
長期記憶を有効にします(fastembed + numpy + sqlite3、約500MBのRAM) |
AUTO_REFRESH_STALE_MEMORY |
True |
set_scope時に30日以上古いメモリを自動的にリフレッシュします。 |
XML_RESPONSES_ENABLED |
False |
構造化されたXML応答を有効にします。 |
PHPSTAN_ENABLED |
True |
PHPファイルのPHPStan静的解析を有効にします。 |
PHPSTAN_LEVEL |
8 |
解析レベル(0 - 9、5以上でnullエラーを検出、8が推奨) |
📦 インストール
クイックインストール (推奨)
curl -fsSL https://raw.githubusercontent.com/provimedia/chainguard/main/installer/install.sh | bash
インストーラーは、~/.chainguard/venv/にPython仮想環境を作成し、すべての依存関係をインストールします(PEP 668準拠)。
手動インストール
- リポジトリをクローンします:
git clone https://github.com/provimedia/chainguard.git
cd chainguard
- インストーラーを実行します:
./installer/install.sh
- Claude Codeを再起動します。
依存関係の更新
~/.chainguard/venv/bin/pip install --upgrade fastembed numpy mcp aiofiles aiohttp aiomysql pyyaml
必要条件
- Python 3.9以上
- Claude Code CLI
- 長期記憶のための
fastembedとnumpy(仮想環境を通じて自動的にインストールされます)
- オプション: PHP静的解析のための
phpstan(実行前にランタイムエラーを検出します)
💻 使用例
基本的なワークフロー
chainguard_set_scope(
description="ユーザーログインを実装する",
mode="programming",
acceptance_criteria=["ログインが機能する", "テストが通過する"]
)
chainguard_track(file="src/AuthController.php", ctx="🔗")
chainguard_status(ctx="🔗")
chainguard_finish(confirmed=True)
長期記憶
chainguard_memory_init()
chainguard_memory_query(query="認証はどこで処理されていますか?")
chainguard_memory_query(query="Wo wird Validierung gemacht?")
chainguard_memory_query(query="ユーザーテーブル", filter_type="database")
chainguard_memory_summarize()
chainguard_memory_summarize(file="src/auth.py")
chainguard_memory_update(action="add_learning", learning="認証には24時間有効期限のあるJWTを使用しています")
chainguard_memory_status()
chainguard_memory_export(format="json", compress=True)
chainguard_memory_import(file="path/to/export.json")
データベーススキーマの検査
chainguard_db_connect(
host="localhost",
user="root",
password="...",
database="myapp"
)
chainguard_db_schema()
メモリシステムの詳細
RAGパイプライン
chainguard_memory_queryを使用してクエリを行うと、以下のパイプラインが実行されます。
Query → キーワード抽出 → キーワード拡張 → 埋め込み (384次元)
→ ベクトル検索 (6つのコレクション) → スコアリング → 重複排除 → フォーマット
- キーワード抽出 - 最大10個のキーワードを抽出し、英語とドイツ語のストップワードを削除します。
- キーワード拡張 - 30の同義語グループで拡張します(例:
login → auth, authentication, signin, session, jwt, token)。
- 埋め込み - fastembed (ONNX Runtime)を使用して384次元のベクトルに変換します。
- ベクトル検索 - コサイン距離を使用してすべての6つのコレクションをクエリします。
- スコアリング - 重み付けされた関連性スコアを計算します:
- 意味的類似度: 60%
- キーワードマッチ: 25%
- 最近度ボーナス: 15%(直近24時間: 1.0、直近1週間: 0.8、直近1か月: 0.5)
- タスクタイプボーナス: 0 - 20%(例:
databaseタスクはテーブル/マイグレーション結果をブーストします)
- ソースタイプの重み: テストファイル 0.7倍、設定ファイル 0.8倍、マイグレーション 0.85倍
- 重複排除 - 各ファイルパスについて最良の結果のみを保持します。
- コレクションバランシング - コレクションごとの制限を尊重します(code_structure: 4、functions: 3、architecture: 2など)。
- フィルタリング - スコアが0.4を超える結果のみを返します。
- キャッシュ - 結果は5分間キャッシュされます(TTLLRUCache、最大100エントリ)。
コレクション
| コレクション |
内容 |
制限 |
code_structure |
ファイルパス、クラス、インポート |
4 |
code_summaries |
コードが実際に行っていることの深層ロジック要約 |
3 |
functions |
関数/メソッドのシグネチャと目的 |
3 |
architecture |
検出されたパターン(MVC、レイヤードなど) |
2 |
learnings |
memory_updateを通じて保存された開発者の洞察 |
2 |
database_schema |
テーブル構造、列、関係 |
2 |
自動コンテキスト注入
chainguard_memory_inject.pyフックは、UserPromptSubmitイベントごとに実行されます。
- ユーザーのプロンプトからキーワードを抽出します(最大10個)。
- fast キーワードベースのLIKEクエリを使用してsqlite3に対してメモリをクエリします(fastembedのコールドスタートを回避)。
- 関連するコードの場所、関数、および構造をタイプ別にグループ化して返します。
- 3秒のタイムアウトを設定して、Claude Codeがハングするのを防止します。
- ファイルベースのキャッシュを使用し、繰り返しのクエリに対して5分のTTLを設定します。
- 20文字未満のプロンプトはスキップされます。
多言語サポート
モデル: paraphrase-multilingual-MiniLM-L12-v2 (384次元)
ドイツ語、英語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語、ポーランド語、ロシア語、中国語、日本語、韓国語など、50以上の言語をサポートします。クエリとインデックス化されたコンテンツは、サポートされる任意の言語で記述できます。
英語とドイツ語のストップワード(100以上の単語)がフィルタリングされます。
自動リフレッシュ (v6.8)
chainguard_set_scope()が呼び出されると、以下の処理が行われます。
- メモリが30日以上古いかどうかを確認します (
STALE_MEMORY_THRESHOLD_DAYS)。
- gitログを使用して変更されたファイルを検出します(高速パス)、またはmtimeフォールバックを使用します(最大1000ファイルまで)。
- 最大30個の変更されたファイルを段階的に再インデックス化します (
STALE_MEMORY_MAX_FILES)。
- すべてのファイルが成功した場合のみ、メタデータを保存します(エラー保護)。
ベクトルストアのアーキテクチャ
軽量ベクトルストア (vectorstore.py) はChromaDBに代わるものです。
- ストレージ: プロジェクトごとに1つの
vectors.sqlite3ファイル(1700ドキュメントで約3MB)
- RAM内のベクトル: すべてのベクトルがnumpy配列としてロードされ、高速なコサイン類似度計算が可能です。
- スレッドセーフ: スレッドローカルのsqlite3接続、同時読み取りのためのWALモード
- ChromaDB互換API: ドロップイン置換可能(add、upsert、query、get、delete、count)
- WHEREフィルター: メタデータに対する
$eqおよび$ne演算子をサポートします。
エクスポート & インポート
chainguard_memory_export(format="json", compress=True, include_embeddings=False)
chainguard_memory_import(file="path/to/export.json", merge=True, skip_existing=True)
chainguard_list_exports()
- エクスポートファイルごとに最大10,000ドキュメント
- 形式: JSON(単一ファイル)またはJSONL(ストリーミング、大規模データセットに適しています)
- マージモード: 既存のデータと結合するか、クリアして置換します。
- エクスポートは
~/.chainguard/exports/に保存されます。
メモリ設定
~/.chainguard/chainguard/config.py内のすべての定数は以下の通りです。
| 定数 |
デフォルト |
説明 |
MEMORY_ENABLED |
True |
メモリシステムを有効/無効にします。 |
AUTO_REFRESH_STALE_MEMORY |
True |
set_scope時に自動的にリフレッシュします。 |
STALE_MEMORY_THRESHOLD_DAYS |
30 |
メモリが古くなると見なされる日数 |
STALE_MEMORY_MAX_FILES |
30 |
自動リフレッシュごとの最大ファイル数 |
MTIME_FALLBACK_MAX_FILES |
1000 |
mtimeベースのファイルスキャンの上限 |
SCORING_WEIGHTS |
semantic: 0.6, keyword: 0.25, recency: 0.15 |
関連性スコアリングの重み |
SOURCE_TYPE_WEIGHTS |
test: 0.7, config: 0.8, migration: 0.85 |
ソースのペナルティ乗数 |
COLLECTION_LIMITS |
コレクションごとの最大結果数 |
コレクション間で結果をバランスさせます。 |
利用可能なツール
コアツール
| ツール |
説明 |
chainguard_set_scope |
タスクのスコープと基準を定義します。 |
chainguard_track |
構文検証付きでファイルの変更を追跡します。 |
chainguard_status |
超コンパクトなステータスラインを表示します。 |
chainguard_finish |
検証付きでタスクを完了します。 |
メモリツール
| ツール |
説明 |
chainguard_memory_init |
プロジェクトのメモリを初期化します(コード、関数、要約をインデックス化) |
chainguard_memory_query |
意味論的コード検索(多言語、50以上の言語をサポート) |
chainguard_memory_summarize |
コードファイルの深層ロジック要約を生成します。 |
chainguard_memory_update |
ファイルを再インデックス化、学習内容を追加、または古いエントリをクリーンアップします。 |
chainguard_memory_status |
メモリの統計情報(ドキュメント数、ストレージサイズ、古さ)を表示します。 |
chainguard_memory_export |
メモリをポータブルなJSON/JSONLファイルにエクスポートします。 |
chainguard_memory_import |
エクスポートされたファイルからメモリをインポートします。 |
chainguard_list_exports |
使用可能なメモリエクスポートファイルをリストします。 |
分析ツール
| ツール |
説明 |
chainguard_analyze |
事前コード分析を行います。 |
chainguard_analyze_code |
ASTベースのコード分析を行います。 |
chainguard_detect_architecture |
アーキテクチャパターンを検出します。 |
幻覚防止ツール
| ツール |
説明 |
chainguard_symbol_mode |
シンボル検証モードを設定します(OFF/WARN/STRICT/ADAPTIVE) |
chainguard_validate_symbols |
コードベースに対して関数/メソッド呼び出しを検証します。 |
chainguard_validate_packages |
プロジェクトの依存関係に対してインポートを検証します。 |
データベースツール
| ツール |
説明 |
chainguard_db_connect |
データベースに接続します。 |
chainguard_db_schema |
データベースのスキーマを取得します。 |
chainguard_db_table |
テーブルの詳細を取得します。 |
HTTPテストツール
| ツール |
説明 |
chainguard_set_base_url |
テストのベースURLを設定します。 |
chainguard_test_endpoint |
HTTPエンドポイントをテストします。 |
chainguard_login |
ログインしてセッションを保存します。 |
カンバンツール
| ツール |
説明 |
chainguard_kanban_init |
プリセットまたはカスタム列でボードを初期化します。 |
chainguard_kanban |
コンパクトなボードビューを表示します。 |
chainguard_kanban_show |
完全なグラフィカルボードビューを表示します。 |
chainguard_kanban_add |
優先度、タグ、詳細付きでカードを追加します。 |
chainguard_kanban_move |
カードを列に移動します。 |
chainguard_kanban_detail |
カードの詳細を取得します。 |
chainguard_kanban_update |
カードのプロパティを更新します。 |
chainguard_kanban_delete |
カードを削除します。 |
chainguard_kanban_archive |
完了したカードをアーカイブします。 |
chainguard_kanban_history |
アーカイブされたカードを表示します。 |
アーキテクチャ
~/.chainguard/
├── venv/ # Python仮想環境 (v6.6+)
├── chainguard/ # MCPサーバーパッケージ (34モジュール)
│ ├── handlers.py # ツールハンドラー (224 KB)
│ ├── tools.py # ツール定義
│ ├── models.py # データモデル
│ ├── config.py # 設定と機能フラグ
│ ├── kanban.py # カンバンシステム (v6.5)
│ ├── memory.py # 長期記憶
│ ├── vectorstore.py # 軽量ベクトルストア (sqlite3 + numpy)
│ ├── embeddings.py # fastembed統合
│ ├── code_summarizer.py # 深層ロジック抽出
│ ├── ast_analyzer.py # AST分析
│ ├── architecture.py # パターン検出
│ ├── symbol_validator.py # 幻覚防止
│ ├── symbol_patterns.py # 言語固有のパターン
│ ├── package_validator.py # スロップスクワッティング検出
│ ├── db_inspector.py # データベースインスペクター (MySQL/PG/SQLite)
│ ├── db_credentials.py # 永続的なデータベース資格情報
│ ├── http_session.py # HTTPセッション管理
│ ├── test_runner.py # テスト実行ランナー
│ ├── history.py # エラー/変更履歴
│ ├── memory_export.py # メモリのインポート/エクスポート
│ ├── toon.py # TOONエンコーダー
│ └── ...
├── chainguard_mcp.py # MCPエントリポイント
├── hooks/ # Claude Codeフック
│ ├── chainguard_enforcer.py # PreToolUse: 編集/書き込み違反をブロック
│ ├── chainguard_memory_inject.py # UserPromptSubmit: メモリコンテキスト注入
│ └── chainguard_scope_reminder.py # UserPromptSubmit: スコープリマインダー (v6.1)
├── projects/ # プロジェクト状態の保存先
├── memory/ # sqlite3ベクトルストレージ
└── templates/ # CLAUDE.mdテンプレート
フック
Chainguardは、自動エンフォースメントのためにClaude Codeフックを使用しています。
| フック |
タイプ |
目的 |
chainguard_scope_reminder.py |
UserPromptSubmit |
作業開始前にスコープを設定することをリマインドします。 |
chainguard_enforcer.py |
PreToolUse |
ルール違反時に編集/書き込みをブロックします。 |
chainguard_memory_inject.py |
UserPromptSubmit |
関連するメモリコンテキストを注入します。 |
📚 ドキュメント
- 使用ガイド
- テストガイド
- 長期記憶の概念
- 同期とインストールチェックリスト
開発
テストの実行
cd src/mcp-server
python3 -m pytest tests/ -v
テストカバレッジ
| モジュール |
テスト数 |
| コア (キャッシュ、モデル、ハンドラー) |
88 |
| バリデーター |
48 |
| アナライザー |
46 |
| メモリシステム |
103 |
| メモリ統合 (PRD、リフレッシュ) |
24+ |
| ベクトルストア (sqlite3 + numpy) |
50+ |
| コード要約器 |
45 |
| TOONエンコーダー |
63 |
| 幻覚防止 |
71 |
| シンボル検証 |
47 |
| データベース資格情報 |
30 |
| カンバンシステム |
50 |
| 合計 |
1300+ |
コントリビュート
コントリビューションは大歓迎です!プルリクエストを送信してください。
- リポジトリをフォークします。
- 機能ブランチを作成します (
git checkout -b feature/amazing-feature)。
- 変更をコミットします (
git commit -m 'Add amazing feature')。
- ブランチにプッシュします (
git push origin feature/amazing-feature)。
- プルリクエストを開きます。
📄 ライセンス
このプロジェクトは、Polyform Noncommercial License 1.0.0の下でライセンスされています。
あなたは以下のことができます:
- このソフトウェアを非商用目的で使用する。
- ソフトウェアを変更し、派生作品を作成する。
- ソフトウェアを共有および配布する。
あなたは以下のことはできません:
- このソフトウェアを販売する、または商用目的で使用する。
- このソフトウェアを販売する権限はProvimedia GmbHのみに与えられています。
詳細については、LICENSEファイルを参照してください。
サードパーティライセンス
このプロジェクトには、以下のオープンソースプロジェクトから派生したデータが含まれています。
PHP組み込み関数データベース (data/php_builtins.json) はphpstorm-stubsから生成され、シンボル検証における幻覚防止に使用されています。
クレジット
このプロジェクトは、**Provimedia GmbH**によって作成および維持されています。
変更履歴
v6.8.1
- 部分リフレッシュタイムスタンプ保護 - すべてのファイルが成功した場合のみ(エラー数 == 0)、メモリメタデータを保存します。
- PRDファイルキャッシュ -
set_scope時に検出されたPRDファイルは、ProjectState.prd_filesにキャッシュされます。
- mtimeフォールバック制限 - モノレポ保護のため、
os.walk()を1000ファイルに制限します。
v6.8.0
- 古いメモリの自動リフレッシュ -
set_scope時に30日以上古いメモリを検出し、変更されたファイルを段階的に再インデックス化します。
- Gitログベースの検出(高速パス)とmtimeベースのフォールバックを使用します。
- 新しい設定:
AUTO_REFRESH_STALE_MEMORY、STALE_MEMORY_THRESHOLD_DAYS、STALE_MEMORY_MAX_FILES
- メタデータを読み取るための新しい
ProjectMemory.get_metadata()メソッド
v6.7.0
- PRD自動検出 -
set_scope時に自動的にPRD/要件文書を検出します。
- 16のファイル名パターン:
PRD.md、REQUIREMENTS.md、SPEC.md、SPECIFICATION.mdなど
- 7つのディレクトリを検索: ルート、
docs/、doc/、.claude/、requirements/、specs/、.github/
set_scope時のワークフローリマインダー(PRDを確認)とfinish時(3つ以上のファイルが変更された場合にPRDを更新)
v6.6.0
- メモリシステムの見直し - ChromaDB + sentence-transformersをfastembed + numpy + sqlite3に置き換えました。
- RAM使用量が約3.8GBから約500MBに削減されました(7.6倍の削減)。
- 新しい
vectorstore.pyモジュール: sqlite3バックエンドとRAMベクトルを備えた軽量ベクトルストア。
- 新しい
embeddings.pyモジュール: fastembed (ONNX Runtime)の統合。
- ChromaDB Collection APIを維持するドロップイン置換。
MEMORY_ENABLEDがデフォルトでTrueになりました。
- 多言語埋め込み -
all-MiniLM-L6-v2(英語のみ)からparaphrase-multilingual-MiniLM-L12-v2(50以上の言語)に切り替えました。
- 同じ384次元、ストレージの移行は必要ありません。
- モデル変更時に自動的に再初期化を強制します。
- Python仮想環境のインストール -
pip install --userを~/.chainguard/venv/の専用仮想環境に置き換えました。
- 最新のmacOS/LinuxでのPEP 668互換性の問題を解決します。
- インストーラー、検証ツール、およびアンインストーラーを更新しました。
- コンテキスト注入の品質向上 - ソースタイプの重み付け(テストファイル0.7倍)、ファイルごとの重複排除、関連性の閾値を下げました(0.5 → 0.4)。
v6.5.0
- カンバンシステム - 複雑な数日間のプロジェクトのための永続的なタスク管理。
- 新しい
kanban.pyモジュールにKanbanCard、KanbanBoard、KanbanManagerクラスが含まれています。
- 完全なカンバンワークフローのための10の新しいツール。
- 7つの列プリセット: デフォルト、プログラミング、コンテンツ、DevOps、調査、アジャイル、シンプル
- ツールの説明にLLMプロンプト注入によるカスタム列。
.claude/kanban.yamlにYAML形式で永続化。
.claude/cards/にカードの詳細を記載したリンク付きマークダウンファイル。
- 完了したカードのアーカイブシステム。
- 進行状況バーとブロックされたカードの強調表示付きのグラフィカルボードビュー。
- カード間の依存関係追跡。
- 50の新しい単体テスト。
- スマートカンバン提案 - 5つ以上の受け入れ基準または複雑性キーワード("mehrtägig"、"komplex"、"pipeline"など)が検出された場合、自動的にカンバンを提案します。
v6.4.6
- 誤検知防止のための文字列内容の削除 - 文字列内のテキストに対する幻覚警告を防止します。
- HTMLプレースホルダー:
placeholder="Max Mustermann (optional)"はもはや警告をトリガーしません。
- 文字列内のSQL:
"SELECT * FROM table_name WHERE..."はもはやテーブル名を呼び出しとして検出しません。
- 補間文字列(f-strings、$-strings、テンプレートリテラル)は実際のコードを含むため、保持されます。
- 文字列内容の誤検知防止のための9つの新しいテスト。
v6.4.5
- シンボル警告による完了ブロック - シンボル警告が存在する場合、
chainguard_finish()はブロックされます(force=Trueの場合を除く)。
- ドキュメント文字列/複数行コメントのスキップ - ドキュメント文字列とコメント内の関数呼び出しはもはや検出されません。
- Python標準ライブラリの拡張 -
field、dataclass、Optional、Path、Any、List、Dictなどを追加しました。
v6.4.4
- 拡張された組み込み関数: JS Web API + SQL関数 - 誤検知を修正します。
- JavaScript:
IntersectionObserver、MutationObserver、ResizeObserver、FormData、AbortController、WebSocket、Workerなど30以上のWeb APIを追加しました。
- PHP: PHPコードに現れるSQL関数(
CURDATE、NOW、COALESCE、CONCAT、GROUP_CONCAT、SUM、AVGなど50以上)を追加しました。
- Web APIとSQL関数のための10の新しいテスト。
v6.4.3
- PHPの大文字小文字を区別しない組み込み関数チェック - 大文字のPHP関数に対する誤検知を修正します。
MAX()、DATE()、COUNT()、StrLen()などが組み込み関数として正しく認識されます。
- PHPは大文字小文字を区別しないため、
is_builtin()はPHPに対して小文字で比較します。
- PHPコードで使用されるSQL関数による誤検知を減らします。
- 大文字小文字を区別しないための4つの新しいテスト。
v6.4.2
- アクションが必要なコンテキスト注入 - LLMに幻覚警告を積極的に確認させます。
<action-required> XMLタグがchainguard_finish()時にシンボル警告をラップします。
- 目立つ「🔴 AKTION ERFORDERLICH」メッセージが表示され、微妙な警告ではなくなります。
- 明確な3ステップの指示: 存在を確認 → インポートを確認 → 誤検知の場合は無視する
- 警告: "NICHT IGNORIEREN - Halluzinierte Funktionen führen zu Runtime-Fehlern!"
- 長いセッションで多数のタスクがある場合に警告が見落とされるのを防止します。
v6.4.1
- シンボル警告の集約 - 幻覚警告がセッション中に収集されるようになりました。
- 警告は
state.symbol_warningsに保存され、一度だけ表示されるのではなくなりました。
- すべての収集された警告が
chainguard_finish()時に表示され、警告が失われるのを防止します。
- 40以上のタスクがある長いセッションで警告が無視されるのを防ぐのに役立ちます。
- 潜在的な幻覚関数呼び出しの可視性が向上しました。
v6.4.0
- 永続的なデータベース資格情報 - プロジェクトごとにデータベース資格情報が保存されます(暗号化されています)。
- パラメータなしで
chainguard_db_connect()を呼び出すと、保存された資格情報が使用されます。
- 資格情報はXOR + Base64で暗号化されています(マシン固有のキー)。
- 接続成功後に自動保存され、失敗時に自動削除されます。
- 保存された資格情報を削除するための新しい
chainguard_db_forgetツール。
CredentialStoreクラスを含む新しいdb_credentials.pyモジュール。
- 資格情報の処理のための30の新しいテスト。
chainguard_db_connectに新しいrememberパラメータが追加されました(デフォルト: True)。
v6.3.1
- PHP組み込み関数データベース - JetBrains phpstorm-stubsからの11,000以上のPHP関数/クラス/メソッド。
- シンボル検証における誤検知を劇的に減らします(170以上からほぼゼロ)。
- 含まれる内容: コア関数(5,028)、クラス(1,035)、メソッド(10,039)
- 最初のPHP検証時に遅延ロードされ、起動コストがゼロです。
- 最新のphpstorm-stubsからデータベースを更新するためのジェネレータースクリプト。
- データベースを更新するための新しい
generate_php_builtins.pyスクリプト。
v6.3.0
- PHPStan統合 - PHPファイルの静的解析により、実行前にランタイムエラーを検出します。
- nullアクセスエラー(
$user['id']がnullの場合)を検出します。
- 型の不一致(文字列と整数)を検出します。
- 未定義のメソッドとプロパティを検出します。
- 構成可能な解析レベル(0 - 9、デフォルト: 8)
- スマートなプロジェクトルート検出(composer.json、vendor/、phpstan.neon)
- 自動的なPHPStan検出(グローバル、vendor/bin、またはcomposer global)
- 新しい設定フラグ:
PHPSTAN_ENABLED、PHPSTAN_LEVEL
v6.1.0
- 幻覚防止 - LLMによる幻覚関数呼び出しとパッケージインポートを検出します。
chainguard_validate_symbols - コードベースに対して関数/メソッド呼び出しを検証します。
chainguard_validate_packages - タイポスクワッティングされたパッケージの検出。
- 7言語サポート: PHP、JavaScript、TypeScript、Python、C#、Go、Rust
- 適応モードは誤検知率に基づいて自動調整します。
- スコープリマインダーフック - スコープを設定することをリマインドする新しいUserPromptSubmitフック。
- 純粋な分析タスク(Task/Explore)がスコープエンフォースメントを回避する問題を修正します。
- 30分のクールダウン期間を設定して、スパムを防止します。
- 118の新しいテスト(シンボル検証: 47、パッケージバリデーター: 71)
v6.0.0
- TOONエンコーダー - トークンを30 - 60%節約するトークン指向オブジェクト表記。
encode_toon、toon_array、toon_object関数を含む新しいtoon.pyモジュール。
chainguard_projectsとchainguard_historyに統合されています。
- メモリはデフォルトで無効 - 低メモリシステムでのRAM問題を防止します。
- 機能フラグ:
TOON_ENABLED=True、MEMORY_ENABLED=False、XML_RESPONSES_ENABLED=False
- TOONエンコーダーのための63の新しいテスト、合計764以上のテスト。
v5.4.0
code_summarizer.pyによる深層ロジック要約。
- 新しい
chainguard_memory_summarizeツール。
- 意味論的コード理解のための
code_summariesコレクション。
- コード要約器のための45の新しいテスト。
v5.3.0
- tree-sitterによるAST分析。
- アーキテクチャパターン検出。
- フレームワーク認識。
- メモリのエクスポート/インポート。
v5.2.0
- スマートコンテキスト注入。
- 追跡/完了時の自動メモリ更新。
v5.1.0
- ChromaDBによる長期記憶。
- 意味論的コード検索。
- プロジェクト分離。
v5.0.0
- タスクモードシステム(プログラミング、コンテンツ、DevOps、調査)。
- モード固有のツール。
Provimedia GmbHによって丁寧に作られました