0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIでコード生成+Gitフローでレビュー工数を半減する実践ガイド

0
Posted at

はじめに

プログラミング初心者でも、AI が提案するコードと Git の自動化を組み合わせれば、レビューにかかる時間を大幅に削減できます。ここでは OpenAI の ChatGPT API(もしくは同等の Claude)を使ってコードスニペットを生成し、GitHub Actions と pre‑commit フック で自動チェック・フォーマットを走らせる流れを紹介します。

1. AI でコード雛形を作る

まずは VS Code の拡張機能や CLI から API を呼び出し、簡単な関数を生成します。以下は Node.js + TypeScript で「配列の重複を除去する」関数を生成する例です。

import { Configuration, OpenAIApi } from "openai";

const config = new Configuration({ apiKey: process.env.OPENAI_API_KEY });
const openai = new OpenAIApi(config);

async function generateCode() {
  const prompt = `
  TypeScript で、文字列配列の重複を除去し、アルファベット順にソートする関数を作ってください。
  関数名は removeDuplicates とし、引数は strings: string[]、戻り値は string[] とします。
  `;

  const response = await openai.createChatCompletion({
    model: "gpt-4o-mini",
    messages: [{ role: "user", content: prompt }],
  });

  console.log(response.data.choices[0].message?.content);
}

generateCode();

AI が返すコードは そのままコピー せず、必ず自分のプロジェクトに合わせてレビューします。初心者は「何が書かれているか」だけでも読んでみると、言語の基本構造が身につきます。

2. Git にコードを取り込む

生成したコードを src/utils.ts に保存したら、通常通り Git にコミットします。

git add src/utils.ts
git commit -m "feat: AI が生成した removeDuplicates 関数を追加"

3. pre‑commit フックで自動レビュー

コミット前に ESLint と Prettier が自動で走るように設定すると、レビューで指摘されるスタイル違反が減ります。package.json に以下を追加し、npm i -D eslint prettier lint-staged husky を実行します。

{
  "scripts": {
    "lint": "eslint . --ext .ts,.tsx",
    "format": "prettier --write ."
  },
  "lint-staged": {
    "*.{ts,tsx}": ["npm run lint -- --fix", "npm run format"]
  }
}

次に husky のフックを作ります。

npx husky install
npx husky add .husky/pre-commit "npx lint-staged"

これで git commit を実行すると、対象ファイルは自動で lint と整形が走り、問題があればコミットが中断されます。レビュー担当者は「コードはすでにクリーン」な状態だけを見ることができ、コメントが減ります。

4. GitHub Actions で CI を走らせる

ローカルの pre‑commit に加えて、リモートでも同じチェックを走らせましょう。.github/workflows/ci.yml の例です。

name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node
        uses: actions/setup-node@v4
        with:
          node-version: "20"
      - run: npm ci
      - run: npm run lint
      - run: npm run format -- --check

プルリクエストが作成されると自動で lint と format のチェックが走り、失敗したらマージできません。これにより レビュー負荷が大幅に削減 されます。

5. まとめ

  • AI でコード雛形を作り、自分の言語感覚を養う
  • pre‑commit と GitHub Actions で 自動的にコード品質を保証
  • レビューは「ロジックの妥当性」だけに集中でき、工数が半減

AI と Git の連携は、初心者でもすぐに試せる実務レベルの自動化です。まずは上記の手順を自分のリポジトリで試してみましょう。


詳しい手順はこちら → https://felixstudio0.gumroad.com/?utm_source=qiita&utm_medium=github_actions&utm_campaign=2026-q1&utm_content=qiita-footer

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?