
「git push」でミスをなかったことにできるツール
朝の出汁版(通勤2分)
- ポイント1: 「no-mistakes」はコードをプッシュする前に自動でミスを検出・修正提案するGitツールで、3,000以上のスターを集めて注目されている。
- ポイント2: バイブコーディングでAIが生成したコードをそのまま上げがちな人ほど、うっかりミスのセーフティネットとして知っておく価値がある。
- ポイント3: GitHubページからリポジトリを確認し、Goがインストール済みであれば手元の開発環境に導入を試してみるところから始められる。
出汁の素(深読みモード)
「バイブコーディング時代のうっかりミス」がいま問題になっている理由
AIが生成したコードをそのまま git push する流れが当たり前になりつつある。Cursorや Claudeでコードを吐き出させ、ローカルで動作確認して、そのままリポジトリへ——速度は上がった一方で、「AIが出したコードの細部まで自分で目を通せているか」という問いは宙ぶらりんのままだ。
envファイルのコミット、本番URLのハードコード、デバッグログの出し忘れ。どれも「一瞬の確認不足」で起きるミスだが、AIアシスト開発ではその一瞬の確認がさらに省略されやすい。ツールの速度に作業者の確認速度が追いつかない構造的な問題とも言える。
「no-mistakes」が何をしてくれるのか
GitHubで3,300以上のスターを集めている no-mistakes(ripienaar/free-for-devとは別プロジェクト、kunchenguid/no-mistakes)は、git push の前に自動でコードをスキャンし、よくあるミスを検出・修正提案するGo製のCLIツールだ。
公式リポジトリの説明は端的に「git push no-mistakes」とだけ記してある。仕組みとしては、pushのGitフックとして動作し、コミット内容を解析してパターンマッチベースの問題検出を走らせる。AIが生成したコードに混入しがちな「本番にそのまま出てはまずいもの」を、ワークフローの最後の門番として弾く設計だ。
注目したいのは、これが「コードレビューの代替」ではなく「コードレビュー以前のスクリーニング」として機能するポジションに置かれている点。人間のレビューや他のlinterと競合するのではなく、プッシュ直前のセーフティネットとして差し込む発想は、特にソロ開発や小規模チームで使う側の感覚に近い。
「コードなしで使える部分」と「Goが書けると広がる部分」
コードを書かなくても始められること:
Goがインストールされていれば go install コマンド一発でバイナリが入り、.git/hooks/pre-push に組み込むだけで動き始める。既存のリポジトリに後付けできるのはポイントで、新規プロジェクト専用ではない。バイブコーディングで進行中のプロジェクトにすぐ差し込める。
Goが読める・書けると広がること: リポジトリはGo製のOSSなので、検出ルールのカスタマイズや新規ルールの追加は自前でできる。「自分のプロジェクト固有のアンチパターン」をルールとして定義したい場合はソースを読んで拡張するのが現実的なルートになる。また、CI/CDパイプラインのステップとして組み込む際にも、Goのビルドプロセスの理解があるとスムーズだ。
先日の記事で触れたコマンド一発のサイトコピーツールもそうだが、CLIツールは「インストールして動かす」ハードルが低い分、まず入れて挙動を見るのが最速の判断方法だ。
今すぐ手を動かすなら:最初の3ステップ
触りたい人は以下の順で進められる。
Step 1:リポジトリを確認する https://github.com/kunchenguid/no-mistakes にアクセスし、READMEでサポートされている検出パターンと導入手順を確認する。Goのバージョン要件も記載されているので先に照合しておく。
Step 2:手元の開発環境に入れてみる
Goがインストールされていれば go install で導入できる。まずは既存の個人プロジェクトのリポジトリで試してみるのが低リスク。本番リポジトリへの導入は動作を見てから判断する。
Step 3:プッシュを一度わざとやってみる 意図的に「検出されそうな状態」でpushを試み、どんなメッセージが出るか・何が引っかかるかを確認する。これが一番早くツールの実力を見極める方法だ。
導入後の判断軸としては、「誤検知の多さ」と「見落としてほしくないミスを実際に拾えるか」の2点を自分のワークフローで検証するとよい。
フックをGitHub Actionsと組み合わせて「チーム共有」する発展活用
ローカルのpre-pushフックは個人環境に依存するため、チームやコラボレーターが増えると「入れていない人はすり抜ける」問題が出てくる。これを防ぐには、no-mistakesをGitHub Actionsのワークフローに組み込み、プルリクエスト単位でCIとして走らせる構成が現実的だ。
GoのビルドをActionsで実行し、PRごとにスキャンを通す形にすれば、ローカル環境の差異に関係なくチェックが機能する。以前紹介したAWSのAIエージェント向け公式ツールキットもそうだが、個人ツールをチームのインフラに昇格させる際にCI組み込みはセットで考えておくと後々の運用が楽になる。
バイブコーディングで「AIが書いたコードを全員がプッシュする」環境では、人間のレビュアーの負担を下げる自動スクリーニング層を一枚挟む発想は、今後ますます実用的になってくるはずだ。
参照ソース
- [GitHub]ripienaar/free-for-dev→ github.com/ripienaar/free-for-dev
- [GitHub]kunchenguid/no-mistakes→ github.com/kunchenguid/no-mistakes
- [GitHub]commaai/openpilot→ github.com/commaai/openpilot
