# 企画書(初版)
## プロジェクト概要
* [cite_start]**説明**: オープンソースのCLIツール「auto-commit」をフォークし、バックエンドのLLMをOpenAIからDeepSeekへ置き換え、さらにコミットメッセージのフォーマットを自由に変更できる機能を追加する魔改造プロジェクト [cite: 18]。
* **スコープ**:
* LLM API連携部分の再実装。
* コミットメッセージフォーマット機能の追加。
* `main.rs`のリファクタリングによるコード品質の向上。
## 背景
* [cite_start]**現状**: `auto-commit`はOpenAIのAPIを前提としており、他のLLM(例: DeepSeek)を利用できない [cite: 7][cite_start]。また、コミットメッセージのフォーマットが固定であり、プロジェクトの規約に合わせたカスタマイズが困難である [cite: 19]。
* **解決すべき問題**:
1. 特定のLLMへの依存。
2. コミットメッセージフォーマットの柔軟性の欠如。
3. [cite_start]`main.rs`に多くのロジックが集中しており、機能追加やメンテナンスがしにくい [cite: 7]。
* **機会**: DeepSeekのようなコーディングに特化したLLMを活用することで、より高品質なコミットメッセージを生成できる可能性がある。また、フォーマットを自由にすることで、より多くの開発者やチームのニーズに応えることができる。
## 目的
* [cite_start]**主要な目的**: `auto-commit`をより柔軟で、高性能かつメンテナンスしやすいツールへと進化させる [cite: 20]。
* **価値提案**: 開発者は好みのLLMを選択し、かつプロジェクトのルールに沿ったコミットメッセージをこれまで通り自動生成できるようになる。
## 目標
## どのように世界を変えるか
* [cite_start]**インパクト**: コミットメッセージ自動生成ツールの新たなスタンダードを提示し、開発者が「コミットメッセージを考える」という認知負荷から解放される世界を加速させる [cite: 22]。
* **受益者**:
* **個人開発者**: コミット作業の時間を短縮し、開発本務に集中できる。
* **開発チーム**: コミットメッセージの規約遵守を自動化し、コードレビューの効率を高める。
## KPI(重要業績評価指標)
* **ビジネス・メトリクス**:
* GitHubリポジトリのスター数: +50
* フォーク数: +10
* **技術・メトリクス**:
* `main.rs`のコード行数: 20%削減
* CIのビルド成功率: 99%以上を維持
* [cite_start]**成功基準**: 上記の機能要件をすべて満たし、オリジナルのリポジトリが提供するインストール方法(`install.sh`)やビルドプロセス(`release.yml`)を壊さずにリリースできること [cite: 8]。
## 技術構成
* **テクノロジースタック**:
* [cite_start]**バックエンド**: Rust, Tokio [cite: 7]
* **API連携**: `reqwest`などのHTTPクライアントライブラリ(`async-openai`から変更)
* [cite_start]**CLI**: `clap` [cite: 7]
* **インテグレーション**: DeepSeek API
## 開発体制
* **チーム構成**:
* **役割**: プロジェクトリーダー兼開発者
* **責務**: 設計、実装、テスト、リリース全般
* **必須スキル**: Rustプログラミング、Git操作、REST APIに関する知識
## プロジェクトフェーズ
## 具体的なフェーズ
* **フェーズ1: 基盤整備とAPI連携**
* **期間**: 1週間
* [cite_start]**成果物**: `main.rs`のリファクタリング(Git操作、CLI解析の分離)。DeepSeek APIと通信し、コミットメッセージ案を取得できるプロトタイプ [cite: 27]。
* **フェーズ2: 機能実装**
* **期間**: 1週間
* [cite_start]**成果物**: カスタムフォーマット機能の実装。既存の`--review`, `--dry-run`オプションとの連携 [cite: 27]。
* **フェーズ3: テストとリリース**
* **期間**: 3日間
* [cite_start]**成果物**: 各OSでの動作確認。READMEの更新。新バージョンのリリース [cite: 27]。
## 具体的なマイルストーン
* **マイルストーン1**: DeepSeek APIからコミットメッセージを取得成功 (フェーズ1完了時)
* **マイルストーン2**: `--format`引数での出力制御に成功 (フェーズ2完了時)
* **マイルストーン3**: v1.0.0としてGitHubにリリース (フェーズ3完了時)
## 開発プロセス・進め方
* **手法**: アジャイル(上記フェーズをスプリントと見立て、迅速なイテレーションを回す)
* **レビュープロセス**: `cargo clippy` と `cargo fmt` をCIに組み込み、コード品質を自動的にチェックする。セルフレビューを徹底する。
* **コミュニケーション計画**: 進捗はGitHubのIssueとPull Requestで管理・可視化する。