nino
  • ドキュメント
  • レジストリ
  • メンバーシップ

Command Palette

Search for a command to run...

スポンサー
メニュー

AGENTS.md

 

1分 27秒

AGENTS.md とは

AGENTS.md は、エージェントを使用する際のガイドラインを記載したファイルです。オープンフォーマットなので特定のエージェントに依存しません。

Anthropic の Claude Code は CLAUDE.md を独自ファイルとして持ちますが、ルール内で AGENTS.md を参照させることで一元化が可能です。

Loading...

当サイトの AGENTS.md

実際に使用しているものです。

Loading...

AGENTS.md のポイント

個人的には Cursor のガイドライン がシンプルなので、踏襲しています。

  • ルールは500行以内に抑える
  • 大きなルールは複数の合成可能なルールに分割する
  • 具体例や参照ファイルを提示する
  • あいまいな指針は避ける。社内ドキュメントのように明確に書く
  • チャットで同じプロンプトを繰り返す場合は、ルールを再利用する

体感として「何度も同じ指示をしているな」と感じた時に指示を加える運用で良いと感じています。過剰にルールを整備するとエージェントがルールに縛られて冗長な実装をすることがあります。

各種ガイドライン、参考ファイル

  • Cursor のガイドライン
  • Anthropic のガイドライン
  • Codex のガイドライン
  • Codex プロンプトガイドライン
  • Vercel web-interface-guidelines
Discord で質問する
何か気になったこと、分からないことがあれば気軽に質問してください!
DiscordDiscordで質問する
nino

Developer

XXGitHubGitHubYouTubeYouTubeZennZennDiscordDiscord

    リンク

  • ドキュメント
  • レジストリ
  • アーキテクチャ

    ツール

  • フィード
  • ステータス

    ポリシー

  • 利用規約
  • プライバシーポリシー
  • 特定商取引法に基づく表示
ドキュメント
はじめに
  • Changelog
ガイド
  • Webアプリの環境構築
  • ニュース収集&AI要約
  • Turso のテーブル移行
  • 日時の管理
  • 中規模のリストをブラウザにキャッシュし、クライアントでフィルタする
  • Search Params Dialog
  • コードの整理
  • AGENTS.md
  • Better Auth
  • プロダクト開発ポリシー
  • 推奨ツール
  • Proxy.ts
  • 多言語対応
  • SWR
  • Cache Component
  • Next.js の課題、不具合
  • アプリ開発フロー
  • プロンプトガイド
  • CSS Tips
  • Font Family
  • セルフブランディング
  • セルフオンボーディング
  • オフィスツール
  • Email
  • Breadcrumb(パンくず)
  • 並べ替え
@AGENTS.md
# Agents

## Commit

- コミットメッセージは conventional commits に従う。

## 実装フロー

1. Drizzle スキーマの更新 /packages/db/schemas/
2. /packages/db でマイグレーション
3. /packages/db/types/ にDrizzleスキーマを使って型を定義
  - `export type Task = typeof taskSchema.tasks.$inferSelect;`
4. /packages/db/zod/ にDrizzleスキーマを使ってZodスキーマを定義
  - `export const insertTaskSchema = createInsertSchema(tasks, {title: ...});`
5. /data にデータ取得関数を作成(`import "server-only"`)
6. /actions にデータ作成、更新、削除関数を作成(`"use server"`)
7. 各アプリケーションで使用

## 画面

- ページコンポーネントは "use client" にしない
- ページコンポーネントは metadata、もしくは generateMetadata をexportする

## データ通信

- クライアントからフェッチする場合、ルートハンドラーを作成し、 /swr にSWRフックを作成して使用する。

## パッケージのインストール

- パッケージをインストールする際は常に @latest をつけて最新バージョンをインストールする
- app, package 間で同じパッケージがある場合最新バージョンに合わせて揃える

## Forms

- ローディング中のボタンはラベルを変更せず、横にスピナーを表示する
- プレースホルダーは「…」で終わり、例となるパターンを含める(例: +1 (123) 456-7890、sk-012345…)
- autocomplete属性と意味のあるname属性を付与し、適切なtypeやinputmodeを設定する
- メールアドレスやコード、ユーザー名などにはスペルチェックを無効にする
- 入力をブロックせず、自由入力を許可しバリデーションは後で行う
- ボタンのラベルは明確にする。「続行」ではなく「APIキーを保存」など。

## Copywriting

- エラーメッセージは解決方法まで案内する。何が問題かだけでなく、ユーザーがどうすれば直せるかまで明記する。
  - 例: 「無効なAPIキーです」ではなく、「APIキーが間違っているか期限切れです。アカウント設定で新しいキーを生成してください。」のように、コピーやボタン・リンクがユーザーに学びや具体的なアクションを示すようにする。
- メッセージは前向きな言葉を基本とし、エラーも含めてユーザーを励ます・解決につながる表現にする。
  - 例: 「デプロイに失敗しました」ではなく、「問題が発生しました。再試行するかサポートにご連絡ください。」のように案内する。

## Content & Accessibility

- すべての状態を設計する。空、疎、密、エラー状態。
- アイコンのみのボタンには、わかりやすい aria-label を付ける

## Zod

- 文字列を必須入力にする場合、.trim().min(1, "...") を使用する。