diny
Dino Danic · コーディング
dinyは、ステージング済みのgit変更を1つのコマンドで読みやすいコミットメッセージに変える、無料のオープンソースCLIツールだ。ターミナルで動くgitコミットメッセージ生成ツールと考えればいい。ステージング済みのdiffを読み、lockfileやビルド成果物といったノイズを取り除き、編集もそのままコミットもできる3つのメッセージ案を提示する。申請するAPIキーも作るアカウントもないため、インストールは1行で済み、数秒でコミットを始められる。

diny について
dinyとは
dinyは、空のコミットメッセージ欄を眺めるのに疲れた開発者向けに作られたAI搭載のCLIだ。新しいワークフローを覚えさせるのではなく、すでに使っているgitの流れにそのまま収まる。変更をステージングしてdiny commitを実行すれば、実際に変わった内容に基づいた明確なメッセージを生成する。
このツールが狙うのは、プロジェクトを通じて積み重なる小さな摩擦だ。「fix stuff」や「wip」といった曖昧なコミットは、半年後に履歴を役立たずにする。Conventional Commitsツールとして、dinyはその形式に寄っており、ログをざっと見やすくし、自動化ツールとも相性がいい。一度にステージングしすぎた厄介なケースも処理でき、大きなdiffを関心事ごとにまとめた複数のコミットに分割できる。
そのどれもクラウドアカウントを必要とせず、すべてをローカルに置きたいならdiffがマシンの外に出ることもない。これは多くのチームにとって重要だ。
主な制約は守備範囲にある。dinyはメッセージを書き、コミットを整理するだけだ。コードをレビューしたり、バグを見つけたり、何をコミットに入れるべきか代わりに判断したりはしない。AI gitコミットメッセージツールとして、その集中こそが要点だ。すべてはターミナルで動くので、GUIのgitクライアントだけで作業するなら、好みのアプリに連携できるかを確認する必要がある。標準で備わる連携はLazyGitだけだ。
はじめかた
- macOSかLinuxでは
brew install dinoDanic/tap/diny、Windowsではscoop install dinyでCLIをインストールする。ビルド済みバイナリはGitHubのリリースページからも入手できる。 git add .を実行するか特定のファイルを追加して、コミットしたい変更をステージングする。diny commitを実行して対話型のターミナルインターフェースを開く。ステージング済みのdiffを読み、3つのメッセージ案を生成する。- 案を選び、その場で編集するか
$EDITORで開いてからコミットする。ステージング済みの変更を複数のコミットに分割したいなら、準備画面でSを押す。 - 任意で
diny configを実行し、既定のテーマ、コミット形式、トーン、長さを設定する。
AIツール情報
dinyの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- 頻繁にコミットし、速度を落とさずに一貫して読みやすい履歴を求める個人開発者。ターミナルに慣れていると最もよく合う。
- 共通のコミット規約を求める小さなチーム。バージョン管理された `.diny.yaml` ファイルがあれば、全員が同じ設定に従える。
タスク
- ステージング済みのdiffからコミットメッセージを書く。空行を残す代わりに、すぐ編集できる3つの案を生成する。
- 大きなdiffを関心事ごとにまとめた複数の焦点を絞ったコミットに分割し、それぞれが明確な物語を語るようにする。
- 2つのタグやコミットの間の変更履歴を生成し、リリースノートに使う。
- ある期間のコミット履歴を確認し、何がいつ出荷されたかを見る。
シーン
- pull requestを開く前に散らかったブランチを片付けるとき。作業中のコミットが素早く雑だった場合に効く。
- 長い編集の一日を終え、流れを崩さずメッセージだけ片付けたいとき。考える必要はない。
- 慣れないリポジトリに入るとき。要約されたタイムラインがあれば最近の動きを素早く把握できる。
主な機能
1コマンドでのコミット生成
中心の流れは単純だ。ステージングして diny commit を実行し、確認する。dinyはgit diffでステージング済みの変更を読み、選べる3つのメッセージ案を下書きする。その場で編集しても、コミット前にエディタへ渡してもいい。多くの人がこのコマンドラインコミットツールを入れる理由がこれで、キーもログインもなく動く。
diffのノイズ除去
生のdiffは、メッセージを形作るべきでないもので溢れている。lockfile、バイナリ、ビルド成果物などだ。dinyはテキストを生成する前にこれらを取り除くので、メッセージは依存関係の変動ではなく実際のコード変更を反映する。利点は単純だ。「update package-lock.json」と書かれたコミットが減る。
変更を複数のコミットに分割
一度にステージングしすぎたか。準備画面でSを押せば、dinyがdiffを関心事ごとにまとめた別々のコミットに分解する。各グループを編集し、グループ間でファイルを移し、再生成し、順番にコミットできる。はるかに楽だ。こうして曖昧な塊が、後から確認しやすい整った一連のコミットになる。
ワークフロー全体を扱う対話型TUI
dinyはメッセージを1つ送って終わるだけではない。そのターミナルインターフェースはcommit、config、changelog、timeline、yoloを1か所で扱う。内蔵のファイル選択機能があれば、ツールを離れずにファイルをステージングしたり外したりできるので、メッセージを書く前にコミットを形作れる。
AI搭載の変更履歴とタイムライン
単一のコミットを超えて、dinyはタグやコミットの間のAI搭載の変更履歴生成ツールとして働き、リリースノートに便利だ。timelineコマンドはコミット履歴を要約して分析し、日付プリセットやカスタム範囲を使える。どちらの機能もコミットと同じローカル生成を使うので、追加で設定するものはない。
3層の設定
設定は3つの層に分かれる。~/.config/diny/config.yaml のグローバル設定、チーム向けにコミットするプロジェクト共有の .diny.yaml、そしてローカルに留まる個人用のプロジェクト単位ファイルだ。優先順位はローカル > バージョン管理 > グローバルで、プロジェクトファイルには上書きする値だけを書けばいい。すっきりしている。規約を全員に押し付けずに共有する、明快な方法だ。
トーン・形式・絵文字のオプション
メッセージをどう読ませたいかをdinyに伝えられる。Conventional Commits形式をオンかオフにし、トーン(プロフェッショナル、カジュアル、フレンドリー)を選び、長さ(短い、普通、長い)を制御し、任意でコミットの先頭に絵文字を付けられる。カスタム指示はエッジケースに向けた追加の指針をAIに与える。
メリットとデメリット
メリット
- APIキーも登録もアカウントもないので、最初のコミット前に設定するものがない。
- MITライセンスで無料かつオープンソースなので、このオープンソースのコミットメッセージ生成ツールは中身を確認でき、自分でホストできる。
- HomebrewとScoopによる1行インストールで、macOS、Linux、Windowsで動く。
- 膨らんだステージング済みのdiffを焦点を絞ったコミットに分割し、履歴を読みやすく保つ。
- 内蔵のchangelogとtimelineコマンドが、単一コミットの用途を超えて広げる。
デメリット
- コミットメッセージと履歴しか扱わないので、コードをレビューしたり誤りを見つけたりはしない。
- ターミナルで動くため、GUIだけのgitユーザーはLazyGitや同様の構成を導入しない限り同じ体験にはならない。
- 生成されるメッセージはステージングするdiff次第なので、雑なステージングは依然として曖昧なコミットを生む。
よくある質問
はい。dinyはMITライセンスで無料かつオープンソースで、有料プランはない。インストールして実行すれば、支払いも登録もなしにコミットを生成できる。
関連コンテンツ
dinyに関連するツール、スキル、記事を探す。
dinyの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
