Skip to content

.clinerules と instructions.md の作成ガイド

AIエージェント(Antigravity等)にGitHub連携を自律的かつ安全に行わせるための、コンテキスト提供ファイル(「エージェントのOS」)の書き方ガイド。

目的

AIがリポジトリのルールを理解し、勝手なIssue操作や認証エラーを防ぎ、自律的にタスクを遂行できるようにする。

1. .clinerules の役割と書き方

役割: そのリポジトリ専用の「AIへの強制ルール」。作業開始時に必ず読み込まれる。

推奨記述例

markdown
# GitHub連携ルール
- GitHubの操作には必ず `gh` コマンドを使用すること。
- Issueを読み取る際は `gh issue view [number] --json title,body,comments` を使用して、コンテキストを正確に把握すること。
- 実装計画(Implementation Plan)を生成した後は、必ず対象のGitHub Issueの本文を更新、またはコメントとして投稿して永続化すること。
- プロジェクトボード(Projects v2)のステータス変更が必要な場合は、`gh project item-edit` コマンドを使用すること。

# コミットメッセージのルール
- コミット時は必ず関連するIssue番号を含めること(例: "feat: add user auth (fixes #12)")。

2. instructions.md の役割と書き方

役割: プロジェクトの「設計思想や技術スタック」を伝えるドキュメント。

GitHub連携向け記述例

markdown
# プロジェクト管理フロー
- **Single Source of Truth:** GitHub Issues が常に正解である。
- **タスク管理:** 
    - 全ての機能開発はIssueから始まる。
    - 実装中にタスクが追加された場合、ローカルのメモだけでなくGitHub Issueのチェックリストを更新する。
- **GitHub Projects:** 
    - プロジェクトIDは "12" である。
    - 作業開始時にStatusを "In Progress"、完了時に "Done" へ移行させること。

3. コンテキスト提供の3つのコツ

① gh コマンドの結果を食わせる

作業開始時にAIにリポジトリの状態を把握させる。

gh repo view --json name,description,urlgh issue list --limit 5

② ディレクトリ構造の要約 (architecture.md)

AIがファイルを探す手間を省くため、主要ディレクトリの役割を記述しておく。

③ ステータスマッピングの定義

GitHub Projectsのカラム名(Status)の意味を教える。

  • "Backlog" = 実現したいこと、将来のタスク(AIにまだ触らせない),
  • "Ready" = 仕様が確定し、AIに渡せる状態のタスク
  • "In Progress" = 現在実行中のタスク
  • "Done" = 完了したタスク

4. ワークフロー指示のテンプレート

最初の指示プロンプト例:

「.clinerules を確認して。その後、GitHub Issue #12を読み取って、現在のリポジトリ構造と照らし合わせ、不足している実装ファイルを特定して。計画ができたら、Issue #12の本文をその計画で更新して。」

まとめ

  • 迷いの解消: AIが正しいコマンドと情報の場所を理解する。
  • 一貫性: 誰が作業しても同じルールが適用される。
  • 自動化: 自律的な更新サイクルが生まれる。

Released under the MIT License.