取り組みの背景 ― Issue を書くだけでコードが生まれる時代
ソフトウェア開発において、GitHub Issues はバグ報告や機能要望を管理する中核的なツールです。しかし、Issue を起票してから実際にコードを書き始めるまでには、仕様の理解、既存コードの調査、実装方針の検討といった多くのステップが必要になります。
Antigravity の AI エージェントと GitHub MCP サーバーを組み合わせると、Issue の内容を自動的に読み取り、コンテキストに沿ったコードを生成するワークフローを構築できます。ここではこの「Issue → コード自動生成」パイプラインの構築方法を、具体的な設定ファイルとコード例を交えながら解説します。
対象読者は、Antigravity の基本操作に慣れていて、チームや個人プロジェクトでの開発効率をさらに向上させたい方です。GitHub の基本的な操作(Issue の作成、ブランチの管理)を理解していることを前提としています。
GitHub MCP サーバーの導入と設定
Antigravity から GitHub のデータにアクセスするには、GitHub MCP(Model Context Protocol)サーバーを設定します。MCP サーバーは Antigravity のエージェントが外部サービスと通信するための標準プロトコルです。詳しい仕組みについては MCP サーバー活用ガイド で解説しています。
インストール手順
まず、Antigravity の設定ファイルに GitHub MCP サーバーを追加します。プロジェクトルートの .antigravity/settings.json を編集してください。
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}GITHUB_PERSONAL_ACCESS_TOKEN には、GitHub で発行した Personal Access Token を設定します。トークンには repo スコープ(プライベートリポジトリの場合)と read:org スコープ(Organization リポジトリの場合)を付与してください。
接続確認
設定後、Antigravity のエージェントモードで以下のように確認できます。
# Antigravity Agent モードで実行
> GitHub リポジトリ my-org/my-project の Issue 一覧を取得して
# エージェントが MCP サーバー経由で Issue を取得し、一覧を表示
# 期待出力例:
# Issue #42: ユーザープロフィール画面のレスポンシブ対応
# Issue #41: 検索機能に曖昧検索を追加
# Issue #40: ダッシュボードの読み込み速度改善MCP サーバーが正しく動作していれば、エージェントが GitHub API を呼び出して Issue の情報を取得します。
AGENTS.md で Issue → コード生成ルールを定義する
Antigravity の AGENTS.md は、エージェントの振る舞いをプロジェクト単位でカスタマイズするための設定ファイルです。ここに「Issue からコードを生成する際のルール」を定義することで、一貫性のある高品質なコードを自動生成できます。
プロジェクトルートに .antigravity/AGENTS.md を作成し、以下のように記述します。
# Issue からのコード生成ルール
## 事前確認
- Issue のラベル(bug, feature, enhancement)を確認し、作業の種類を特定する
- 関連する既存コードを `src/` 配下から検索し、変更箇所を特定する
- 依存関係のあるファイルを洗い出す
## コード生成の方針
- 既存のコーディングスタイル(ESLint / Prettier の設定)に準拠する
- 新しい関数には必ず JSDoc コメントを付与する
- テストファイルも同時に生成する(`__tests__/` ディレクトリに配置)
- 型定義は `types/` ディレクトリに集約する
## ブランチ命名規則
- feature: `feature/issue-{番号}-{短い説明}`
- bugfix: `fix/issue-{番号}-{短い説明}`
- enhancement: `enhance/issue-{番号}-{短い説明}`
## コミットメッセージ
- Conventional Commits 形式を使用
- Issue 番号を必ず含める(例: `feat(auth): add OAuth2 login flow (#42)`)この設定により、エージェントは Issue の内容を読み取った後、自動的にブランチを作成し、コーディング規約に沿ったコードを生成するようになります。
実践:Issue からコードを自動生成するワークフロー
実際のワークフローを、具体的な Issue を例に見ていきましょう。
Step 1: Issue の内容をエージェントに渡す
Antigravity の Agent モードで、以下のようにプロンプトを入力します。
> GitHub Issue #42「ユーザープロフィール画面のレスポンシブ対応」の内容を読み取り、
> AGENTS.md のルールに従ってコードを生成して。
> 既存の src/components/Profile/ を確認してから作業を始めて。Step 2: エージェントの自動処理フロー
エージェントは以下のステップを自動的に実行します。
- GitHub MCP サーバー経由で Issue #42 の詳細(本文、ラベル、コメント)を取得
src/components/Profile/配下の既存コードを分析- AGENTS.md のルールに基づき、
feature/issue-42-responsive-profileブランチを作成 - レスポンシブ対応のコードを生成(メディアクエリ、Tailwind クラスの追加など)
__tests__/Profile.responsive.test.tsxにテストコードを生成- Conventional Commits 形式でコミット
Step 3: 生成されたコードの確認
// src/components/Profile/ProfileCard.tsx(エージェントが修正)
import { FC } from 'react';
import { User } from '@/types/user';
interface ProfileCardProps {
user: User;
}
/**
* ユーザープロフィールカード
* モバイル・タブレット・デスクトップに対応したレスポンシブレイアウト
* @see Issue #42
*/
export const ProfileCard: FC<ProfileCardProps> = ({ user }) => {
return (
<div className="w-full max-w-sm mx-auto md:max-w-md lg:max-w-lg">
<div className="flex flex-col items-center md:flex-row md:items-start gap-4">
<img
src={user.avatarUrl}
alt={`${user.name} のプロフィール画像`}
className="w-24 h-24 rounded-full md:w-32 md:h-32"
/>
<div className="text-center md:text-left">
<h2 className="text-xl font-bold md:text-2xl">{user.name}</h2>
<p className="text-gray-600 mt-1">{user.bio}</p>
</div>
</div>
</div>
);
};このように、Issue の要件に基づいたコードがエージェントによって自動生成されます。Antigravity のエージェントファーストなワークフロー設計の詳細は Agent-first ワークフロー実践ガイド も参考にしてください。
複数 Issue の一括処理とバッチワークフロー
個人開発や小規模チームでは、溜まった Issue を一括で処理したい場面も多いでしょう。Antigravity のエージェントは、複数の Issue を順番に処理するバッチワークフローにも対応しています。
> 以下の Issue を順番に処理して:
> - #42: プロフィール画面のレスポンシブ対応
> - #43: 検索バーにオートコンプリートを追加
> - #44: ダークモード対応のカラーパレット修正
>
> 各 Issue ごとにブランチを分けて、それぞれ独立したコミットにして。エージェントは各 Issue を順番に処理し、Issue ごとに独立したブランチとコミットを作成します。処理が完了すると、変更の概要と各ブランチ名を報告してくれます。
さらに高度な CI/CD パイプラインとの連携については、Antigravity × GitHub Actions 上級CI/CDパイプライン構築 で詳しく解説しています。
運用のベストプラクティス
Issue → コード自動生成ワークフローを効果的に運用するためのポイントをまとめます。
Issue テンプレートを整備する
エージェントが正確にコードを生成するためには、Issue の記述が明確である点が肝心です。GitHub の Issue テンプレートを活用し、以下の情報を必ず含めるようにしましょう。
- 概要: 何を実現したいか(1〜2文)
- 受け入れ条件: 完了の基準(箇条書き)
- 技術的な補足: 使用するライブラリや API の指定
- 関連ファイル: 変更が必要なファイルパスのヒント
レビューフローを組み合わせる
自動生成されたコードは、必ず人間のレビューを通してからマージしましょう。エージェントが作成した PR に対して、以下の観点でレビューを行います。
- ビジネスロジックの正確性
- セキュリティ上の問題がないか
- パフォーマンスへの影響
- 既存のテストが壊れていないか
ラベルで優先度を管理する
GitHub のラベルを活用して、エージェントに処理の優先度を指示できます。AGENTS.md に優先度ルールを追加しておくと、priority: high ラベルの Issue を優先的に処理するといった制御が可能です。
まとめ
Antigravity と GitHub Issues を連携した AI ワークフローは、「Issue の起票 → コードの自動生成 → PR の作成 → CI/CD での検証」という開発サイクル全体を加速します。特に、AGENTS.md による生成ルールの定義と GitHub MCP サーバーの組み合わせが、この仕組みの核になります。
まずは小さな Issue(スタイル修正やユーティリティ関数の追加など)で試し、エージェントの出力品質を確認しながら、徐々に適用範囲を広げていくのが実践的な始め方です。GitHub 連携の基本設定については GitHub 連携ガイド も合わせてご覧ください。