はじめに
プログラミング初心者でも、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 の連携は、初心者でもすぐに試せる実務レベルの自動化です。まずは上記の手順を自分のリポジトリで試してみましょう。