[Cursor-Guide]ドキュメンテーションの活用方法
Cursorでプロンプティング、外部ソース、内部コンテキストを通じてドキュメンテーションを効果的に活用する方法を学びます。APIの理解を深め、最新のベストプラクティスを把握しましょう。
[Cursor-Guide]ドキュメンテーションの活用
オリジナルリンク: オリジナルリンク
Cursorでプロンプティング、外部ソース、内部コンテキストを通じてドキュメンテーションを効果的に活用する方法
ドキュメンテーションの重要性
ドキュメンテーションは最新かつ正確なコンテキストを提供します。これがない場合、モデルは古いまたは不完全なトレーニングデータを使用します。ドキュメンテーションは以下のような情報をモデルが理解するのに役立ちます:
- 最新のAPIとパラメータ
- ベストプラクティス
- 組織の規約
- ドメイン固有の用語
その他多くの情報が含まれます。Cursorでコンテキストを切り替えることなくドキュメンテーションを活用する方法を学びましょう。
モデルのナレッジカットオフ
大規模言語モデルは特定の時点までのデータでトレーニングされており、これを「ナレッジカットオフ」と呼びます。これは以下のことを意味します:
- 最近のライブラリ更新が反映されていない可能性
- 新しいフレームワークやツールが認識されない可能性
- カットオフ日以降のAPI変更が把握できない
- トレーニング以降に進化したベストプラクティスに対応できない
例えば、モデルのナレッジカットオフが2024年初頭の場合、2024年後半にリリースされた人気フレームワークの新機能も認識できません。
どのツールを使うべきか?
この意思決定ツリーを使って適切なツールを選択しましょう
メンタルモデル
ツール | メンタルモデル |
---|---|
@Docs | 公式ドキュメンテーションを閲覧・読むような感覚 |
@Web | インターネットで解決策を検索するような感覚 |
MCP | 内部ドキュメンテーションにアクセスするような感覚 |
公開ドキュメンテーション
外部ドキュメンテーションは、モデルが限定的または古い知識しか持っていない公開情報をカバーします。Cursorではこの情報にアクセスする主要な方法が2つあります。
@Docsの使用
@Docs
はCursorを人気ツールやフレームワークの公式ドキュメンテーションに接続します。以下のような最新かつ信頼性の高い情報が必要な場合に使用します:
- APIリファレンス : 関数シグネチャ、パラメータ、戻り値の型
- 入門ガイド : セットアップ、設定、基本的な使用方法
- ベストプラクティス : ソースからの推奨パターン
- フレームワーク固有のデバッグ : 公式トラブルシューティングガイド
@Webの使用
@Web
は現在の情報、ブログ記事、コミュニティディスカッションをライブで検索します。以下のような場合に使用します:
- 最近のチュートリアル : コミュニティ生成のコンテンツや例
- 比較記事 : 異なるアプローチを比較した記事
- 最新の更新情報 : 非常に最近の更新や発表
- 複数の視点 : 問題に対する異なるアプローチ
内部ドキュメンテーション
内部ドキュメンテーションには、AIモデルがトレーニング中に遭遇したことのない組織固有の情報が含まれます。例えば:
- 内部API : カスタムサービスやマイクロサービス
- 会社標準 : コーディング規約、アーキテクチャパターン
- 独自システム : カスタムツール、データベース、ワークフロー
- ドメイン知識 : ビジネスロジック、コンプライアンス要件
MCPで内部ドキュメントにアクセス
Model Context Protocol(MCP)は、プライベートなドキュメンテーションやシステムをCursorに取り込む標準化された方法を提供します。MCPはCursorと内部リソース間の薄いレイヤーとして機能します。
MCPの重要性:
- モデルは内部規約を推測できない
- カスタムサービスのAPIドキュメントは公開されていない
- ビジネスロジックとドメイン知識は組織固有
- コンプライアンスとセキュリティ要件は会社ごとに異なる
一般的なMCP統合
統合 | アクセス | 例 |
---|---|---|
Confluence | 会社のConfluenceスペース | アーキテクチャドキュメント、内部サービスのAPI仕様、コーディング標準とガイドライン、プロセスドキュメント |
Google Drive | 共有ドキュメントとフォルダ | 仕様書、会議ノートと決定記録、設計ドキュメントと要件、チームナレッジベース |
Notion | ワークスペースデータベースとページ | プロジェクトドキュメント、チームWiki、ナレッジベース、製品要件、技術仕様 |
カスタム | 内部システムとデータベース | 独自API、レガシードキュメントシステム、カスタムナレッジベース、特殊ツールとワークフロー |
カスタムソリューション
独自のニーズに対応するため、以下のようなカスタムMCPサーバーを構築できます:
- 内部ウェブサイトやポータルをスクレイピング
- 独自データベースに接続
- カスタムドキュメントシステムにアクセス
- 内部Wikiやナレッジベースから情報を取得
カスタムMCPサーバーを構築する場合、Cursorがドキュメントを更新するためのツールも公開できます
内部ドキュメントをスクレイピングするカスタムMCPサーバーの例:
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import TurndownService from "turndown";
// 内部ドキュメントをスクレイピングするMCPサーバーを作成
const server = new McpServer({
name: "internal-docs",
version: "1.0.0"
});
const turndownService = new TurndownService();
// 内部ドキュメントをスクレイピングするツールを追加
server.tool("get_doc",
{ url: z.string() },
async ({ url }) => {
try {
const response = await fetch(url);
const html = await response.text();
// HTMLをマークダウンに変換
const markdown = turndownService.turndown(html);
return {
content: [{ type: "text", text: markdown }]
};
} catch (error) {
return {
content: [{ type: "text", text: `Error scraping ${url}: ${error.message}` }]
};
}
}
);
// stdinでメッセージを受信し、stdoutで送信するように開始
const transport = new StdioServerTransport();
await server.connect(transport);
ドキュメントを最新に保つ
ドキュメンテーションはすぐに陳腐化します。Cursorは実際のコードと開発会話に基づいてドキュメンテーションを生成・更新することで、最新で有用なドキュメンテーションを維持するのに役立ちます。
既存コードから
コードベースから直接ドキュメンテーションを作成するためにCursorを使用します:
- APIドキュメンテーション
このExpressルーターのAPIドキュメンテーションを生成し、すべてのエンドポイント、パラメータ、応答形式を含めてください
- JSDocコメント
このクラスに包括的なJSDocコメントを追加し、すべてのメソッドとそのパラメータをドキュメント化してください
- README作成
このプロジェクトのREADMEを作成し、セットアップ手順、使用例、API概要を含めてください
チャットセッションから
Cursorとの会話にはドキュメンテーションに変換できる貴重な意図が含まれています。
- 問題解決
認証設定に関する会話をチームWiki用のステップバイステップガイドにまとめてください
- アーキテクチャ
選択したデータベース設計の理由と、検討したトレードオフを含む説明ドキュメントを作成する
- デバッグ
修正したバグに基づくトラブルシューティングガイドを作成し、症状と解決手順を含める
要点
- ドキュメントをコンテキストとして提供することで、Cursorの精度と最新性が向上
- 公式ドキュメントには
@Docs
、コミュニティナレッジには@Web
を使用 - MCP(Multi-Context Provider)はCursorと内部システムの間のギャップを埋める
- コードと会話からドキュメントを生成してナレッジを最新に保つ
- 外部と内部のドキュメントソースを組み合わせて包括的な理解を得る