0%
バイブコーディング#ドキュメント#AI#README

AIでドキュメント作成|README、API仕様書、コメントを自動生成

AIを使ってドキュメントを効率的に作成する方法。README、API仕様書、コードコメントの書き方を解説。

||9分で読める

AIでドキュメント作成

ドキュメントは後回しになりがち。AIに任せれば一瞬。

AIでドキュメントを書くメリット

  • 時間短縮: 手動の1/5以下
  • 網羅性: 書くべき項目を提案
  • 一貫性: フォーマットが揃う
  • 多言語: 翻訳も可能

README.mdの生成

基本的な依頼

このプロジェクトのREADME.mdを書いて:

プロジェクト名: TaskManager
技術スタック: Next.js, TypeScript, Supabase
主な機能: タスク管理、チーム共有、リマインダー

詳細な依頼

以下を含むREADME.mdを書いて:
- プロジェクト概要
- 機能一覧
- インストール方法
- 使い方
- 環境変数の設定
- 開発への参加方法
- ライセンス

このpackage.jsonを参考に:
[package.jsonの内容]

API仕様書の生成

コードからSwagger/OpenAPIを生成

このAPIルートからOpenAPI仕様書を生成して:

// POST /api/users
export async function POST(request: Request) {
  const { email, password, name } = await request.json()
  // ユーザー作成処理
  return Response.json({ user: newUser })
}

生成結果例

openapi: 3.0.0
paths:
  /api/users:
    post:
      summary: 新規ユーザー作成
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                password:
                  type: string
                  minLength: 8
                name:
                  type: string
              required: [email, password, name]
      responses:
        '200':
          description: 作成成功

コードコメントの追加

JSDoc/TSDocの生成

この関数にJSDocを追加して:

function calculateShipping(weight, distance, express = false) {
  const baseRate = 500
  const weightRate = weight * 10
  const distanceRate = distance * 2
  const expressMultiplier = express ? 1.5 : 1
  return (baseRate + weightRate + distanceRate) * expressMultiplier
}

生成結果:

/**
 * 配送料を計算する
 *
 * @param {number} weight - 重量(kg)
 * @param {number} distance - 配送距離(km)
 * @param {boolean} [express=false] - 速達オプション
 * @returns {number} 配送料(円)
 *
 * @example
 * calculateShipping(5, 100) // => 1700
 * calculateShipping(5, 100, true) // => 2550
 */
function calculateShipping(weight: number, distance: number, express: boolean = false): number {
  const baseRate = 500
  const weightRate = weight * 10
  const distanceRate = distance * 2
  const expressMultiplier = express ? 1.5 : 1
  return (baseRate + weightRate + distanceRate) * expressMultiplier
}

変更履歴(CHANGELOG)

コミット履歴から生成

これらのコミットからCHANGELOGを作成して:

abc123 feat: ユーザー認証機能を追加
def456 fix: ログインエラーを修正
ghi789 docs: READMEを更新
jkl012 feat: ダークモードを追加

生成結果:

# Changelog

## [1.2.0] - 2024-12-20

### Added
- ユーザー認証機能
- ダークモード切り替え

### Fixed
- ログイン時のエラー処理を改善

### Documentation
- READMEを更新

使い方ガイドの作成

機能からガイドを生成

このログイン機能の使い方ガイドを書いて:

[ログイン機能のコード]

対象読者: 初めてこのアプリを使うユーザー

開発者向けドキュメント

この認証モジュールの開発者向けドキュメントを書いて:
- アーキテクチャ説明
- 使用方法
- カスタマイズ方法
- トラブルシューティング

翻訳

日本語→英語

このREADMEを英語に翻訳して。
技術用語はそのまま、自然な英語で。

[日本語README]

多言語対応

このドキュメントを以下の言語に翻訳して:
- 英語
- 中国語(簡体字)
- 韓国語

自動化

コミット時に自動生成

// package.json
{
  "scripts": {
    "docs:generate": "ai-docs generate",
    "prepare": "npm run docs:generate"
  }
}

CI/CDで更新

# .github/workflows/docs.yml
- name: Update Documentation
  run: |
    npm run docs:generate
    git add docs/
    git commit -m "docs: auto-update" || true

注意点

正確性の確認

・APIの仕様が実際と一致しているか
・パラメータの説明が正しいか
・サンプルコードが動くか

最新状態の維持

・コード変更時にドキュメントも更新
・古いドキュメントは混乱のもと
・自動生成で常に最新に

次のステップ

シェア:

参考文献・引用元

バイブコーディングの他の記事

他のカテゴリも見る