hassak
v0.0.10
Published
コードベース分析と実装提案を生成するAI搭載CLIツール
Maintainers
Readme
hassak
コードベース分析と実装提案ツール
概要
hassakは、プロジェクトのコードベースを再帰的に分析し、特定のタスクチケットに対する詳細な実装方針を提供するAI搭載CLIツールです。OpenAIのGPTモデルまたはローカルで動作するOllamaモデルを活用して、コード構造を理解し、具体的で実用的な実装提案を生成します。
特徴
- 🔍 プロジェクト全体の構造を自動解析
- 📝 各ファイルの内容をAIがサマリー化
- 🤖 特定のタスクに関連するファイルを自動特定
- 📊 詳細な実装提案(変更ファイル、コード例、新規ファイル)を生成
- 🔧
.hassakフォルダに整理された分析結果を保存 - 🚀 NEW: ローカルで動作するOllamaモデルをサポート(APIキー不要!)
インストール
# npm
npm install -g hassak
# yarn
yarn global add hassak
# pnpm
pnpm add -g hassak前提条件
- Node.js 16以上
- OpenAI APIキー または Ollamaのローカルインストール
LLMプロバイダー対応
hassakは以下の2つのLLMプロバイダーをサポートしています:
1. Ollama(推奨)
- ローカルで動作するAIモデル
- APIキー不要
- 完全にプライベートで使用可能
- 高速なレスポンス
- Ollamaのインストール手順を参照
2. OpenAI
- クラウドベースのAIモデル
- APIキーが必要
- インターネット接続が必要
- 一般的にはより高性能
使い方
基本コマンド
こんにちは!と表示する:
npx hassak helloコードベース分析とタスク実装提案
指定したプロジェクトを分析し、タスクチケットに基づいた実装提案を生成します:
npx hassak analyze --ticket "実装したい機能の詳細説明"オプション
--ticket(必須): 実装したいタスクチケットの詳細説明--path(オプション): 分析するプロジェクトのパス (デフォルト: カレントディレクトリ)--output(オプション): 分析結果の出力ファイル名 (デフォルト: hassak-analysis.json)--model(オプション): 使用するAIモデル- OpenAI:
gpt-4o(デフォルト),gpt-4-turbo,gpt-3.5-turbo - Ollama:
llama3,codellama,mistral,phiなど(モデル選択を参照)
- OpenAI:
実行例
# カレントディレクトリを分析して、OpenAIを使用した認証機能の実装提案を生成
npx hassak analyze --ticket "ユーザー認証機能をFirebaseAuthからAuth0に移行する" --model gpt-4o
# 指定したプロジェクトを分析して、Ollamaを使用したAPIエンドポイント追加の提案を生成
npx hassak analyze --ticket "ユーザープロフィール編集用のAPIエンドポイントを追加する" --path ./my-project --model llama3
# Ollamaのcodellama(コード特化モデル)を使用
npx hassak analyze --ticket "検索機能の最適化" --model codellamaOllamaのインストールと設定
インストール
# macOS
brew install ollama
# Linux (Debian/Ubuntu)
curl -fsSL https://ollama.com/install.sh | sh
# Windows
# https://ollama.com/download/windows からインストーラーをダウンロードモデルのダウンロード
# Llama 3 (8B) - 最新の高性能モデル
ollama pull llama3
# CodeLlama - コーディングに特化
ollama pull codellama
# Mistral - バランスの良いモデル
ollama pull mistral
# Phi-3 - Microsoftの小型高性能モデル
ollama pull phiOllamaサーバーの起動
# サーバーを起動
ollama serveモデル選択ガイド
Ollama(ローカルモデル)
- llama3: 一般的なタスクに最適、バランスが良い
- codellama: コード生成、解析に特化(コーディングタスクに推奨)
- mistral: 少ないリソースでも比較的高性能
- phi: 小型ながら優れた推論能力
OpenAI(クラウドモデル)
- gpt-4o: 最新・最高性能(デフォルト)
- gpt-4-turbo: 高性能、長いコンテキスト対応
- gpt-3.5-turbo: より高速、コスト効率が良い
出力ファイル
分析結果は .hassak ディレクトリに保存されます:
hassak-analysis.json- プロジェクト分析結果(ファイル構造とサマリー)hassak-analysis.json.proposal.json- 実装提案のJSON形式データhassak-analysis.json.structure.json- プロジェクト構造のJSONデータlast-proposal-response.txt- AIが生成した生の提案テキスト
処理フロー
hassakの処理フロー:
- ディレクトリ構造の分析: プロジェクト内のディレクトリとファイルを再帰的にスキャン
- ファイル内容の読み取り: 各ファイルの内容を取得
- コードのサマリー作成: AIを使用してコードファイルの内容を要約
- 実装提案の生成: タスクチケットと分析結果に基づいて、詳細な実装提案を生成
プロバイダーの選択方法
hassakは自動的にLLMプロバイダーを判断します:
- OPENAI_API_KEY 環境変数が設定されていて、モデル名が
gpt-で始まる場合、OpenAIを使用 - それ以外の場合、Ollamaを使用(要インストール)
--modelオプションでモデルを明示的に指定できます
開発
# リポジトリをクローン
git clone https://github.com/kspace-trk/hassak.git
cd hassak
# 依存関係をインストール
npm install
# 開発モードでビルド
npm run dev
# ビルド
npm run build
# テスト
npm run test注意事項
- OpenAI APIキーを使用する場合は、環境変数
OPENAI_API_KEYに設定するか、実行時に入力を求められます - Ollamaを使用する場合は、事前にOllamaをインストールし、必要なモデルをダウンロードしておく必要があります
- 大規模なプロジェクトでは、分析に時間がかかる場合があります
- AIの提案は参考情報です。実際の実装は開発者の判断が必要です
- OpenAI APIを使用する場合は、コストに注意してください
ライセンス
MIT
