AIアシスタントとの連携
codeknitには、AIコーディングアシスタントが効果的に使用する方法を教える、すぐに使えるスキルが同梱されています。これらのスキルにより、アシスタントは手動でのプロンプトなしでコード構造の抽出、重複の検出、および構造分析を実行できます。
スキルの概要
Section titled “スキルの概要”codeknitは2つのスキルを提供します:
codeknit-parse:アシスタントにコード構造(関数、クラス、メソッド、変数)と関係性(呼び出し、継承、包含)を.sktファイルに抽出する方法を教えます。codeknit-fingerprint:アシスタントにファジー・ハッシングを使用して重複および近似重複コードを検出する方法を教えます。
各スキルには、アシスタントが使用方法、フラグ、出力形式、およびワークフローを理解するためにオンデマンドで読み取るドキュメントが含まれています。
インストール
Section titled “インストール”インストーラーヘルパーを使用して、スキルディレクトリをアシスタントのスキルフォルダにコピーします。インストーラーはバンドルされたスキルファイルのみをダウンロードするため、リポジトリをクローンする必要はありません。
Codex、Kiro、およびClaude Code用にインストール:
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash特定のアシスタント用にインストール:
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant codexcurl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant kirocurl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant claudeローカルチェックアウトからは、Makefileヘルパーを使用できます:
make skills-install-dry-runmake skills-installインストーラーは既存のスキルディレクトリをデフォルトでスキップします。置き換えるには、--forceを追加します:
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant all --forceインストール後、アシスタントは自動的にcodeknitコマンドの呼び出し方法、適切なフラグの選択、および.skt出力の解釈方法を理解します。
各スキルが教える内容
Section titled “各スキルが教える内容”codeknit-parse
Section titled “codeknit-parse”codeknit-parseスキルは、アシスタントに以下を教えます:
- 様々なシナリオに適したフラグで
codeknit parseを実行する - 適切な出力モードを選択する:
directory-flat(デフォルト)ほとんどのプロジェクト向けinline単一ファイルまたは小さな入力向けdirectory-treeソース構造をミラーリングするため
.skt出力ファイルを読み取り、解釈する。これには[symbols]、[edges]、およびオプションの[dict]セクションが含まれる- 構造データをリファクタリング、依存関係マッピング、およびコードレビューに使用する
codeknit graph analyzeを実行して、より深いコード品質の洞察を得る(循環依存、ハブシンボル、god classesなど)
codeknit-fingerprint
Section titled “codeknit-fingerprint”codeknit-fingerprintスキルは、アシスタントに以下を教えます:
codeknit fingerprintを使用して重複検出、DRY監査、およびリファクタ識別を行う- 適切な類似度範囲(
--min-similarity、--max-similarity)を選択する [duplicates]セクションを読み取り、近似重複コードを識別する- フィンガープリントは意味的な意図ではなく、構造的な形状を測定することを理解する
- 必要に応じてOllama埋め込みで
--rerankを使用して偽陽性を減らす
ワークフローの例
Section titled “ワークフローの例”- アシスタントにコードベースの構造を分析するよう依頼する
- アシスタントが
codeknit parse ./srcを実行し、結果の.sktファイルを読み取る - アシスタントが構造的な質問に答える:依存関係、呼び出しチェーン、dead code
- より深い洞察のために、
codeknit graph analyze ./srcを実行し、レポートを解釈する
[symbols]## src/service.goS1 type/struct L5-L8 AuthService {}S2 callable/method L10-L15 Authenticate(token: string) {receiver=*AuthService}
[edges]S1 --contains--> S2- アシスタントに重複コードを見つけるよう依頼する
- アシスタントが
codeknit fingerprint ./srcを実行する - アシスタントが出力の
[duplicates]セクションを読み取る - アシスタントがフラグ付けされたペアを調査し、統合を提案する
[duplicates]S1, S2: 87% 類似度S3, S4: 76% 類似度- 構造的な質問には、生のソースではなく
.sktファイルを読み取る — これらは抽出された構造をコンパクトで信頼性の高い形式で含んでいる codeknit graph analyzeを使用して、循環依存、ハブシンボル、深い継承チェーンなどのコード品質の問題を発見する- 大規模なリファクタリングの前に
codeknit fingerprintを実行して、統合すべきコピー&ペーストされたコードを識別する .skt形式はトークン効率が良く設計されており、LLMのコンテキストウィンドウに理想的- 大規模なコードベースを処理する際には、
--minifyを使用してトークン使用量をさらに削減する