finding-dev-server-url について
Cursor で開発サーバーの URL を端末ファイルから確認するスキルです。プロセスやポート、状態を調べ、必要に応じて内蔵ブラウザーでページを開けます。
主な機能
- 01端末のメタデータと出力の確認
- 02一般的なサーバー URL とポートの検出
- 03終了したプロセスやポート競合の報告
- 04内蔵ブラウザーでページを開く手順
活用シーン
- 01実行中のローカル開発サーバーの特定
- 02サーバーポートの確認とアプリの表示
- 03サーバー終了やポート競合の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill finding-dev-server-urlインストール後、Claude Code で/finding-dev-server-urlを入力して読み込まれたか確認します。
詳細
開発サーバーの URL を見つける
実行中の開発サーバーと使用ポートを検出し、開きます。
仕組み
Cursor は、ターミナルのライブ出力をテキストファイルに保存します。各ターミナルには次の場所にファイルがあります。
<terminals_folder>/<id>.txt
ターミナルフォルダーのパスは、システムコンテキストで指定されています。各ファイルには、メタデータ(pid、cwd、最後に実行したコマンド)と、それに続くターミナルの完全な出力が含まれています。
ワークフロー
1. すべてのターミナルを一覧表示する
ls <terminals_folder>/*.txt
2. 各ターミナルのメタデータを読み取る
各ターミナルファイルの先頭約 10 行を読み取り、次の項目を確認します。
pid— プロセス IDcwd— 作業ディレクトリlast_command— 実行中のコマンド(例:npm run dev、pnpm dev、python manage.py runserver)
最後に実行したコマンドが明らかにサーバーではないターミナル(例:git status、ls、cd)はスキップします。
3. サーバー URL を検索する
サーバーを実行していると思われるターミナルの全内容を読み取ります。次のパターンを検索します。
| フレームワーク | パターン |
|---|---|
| Next.js | Local: http://localhost:XXXX または ▲ Ready |
| Vite | Local: http://localhost:XXXX/ |
| Create React App | Local: http://localhost:XXXX |
| Express | listening on port XXXX または listening at http://... |
| Django | Starting development server at http://127.0.0.1:XXXX/ |
| Rails | Listening on http://127.0.0.1:XXXX |
| Flask | Running on http://127.0.0.1:XXXX |
| Go | Listening on :XXXX または http server started on :XXXX |
| PHP | Development Server (http://localhost:XXXX) started |
| Remix | http://localhost:XXXX |
| Astro | http://localhost:XXXX |
| Nuxt | http://localhost:XXXX |
ほとんどのサーバー出力に一致する正規表現:
https?://(localhost|127\.0\.0\.1|0\.0\.0\.0)(:\d+)
単独のポートパターンも確認します。
(listening|started|running|ready|serving).*(port\s*|:)\s*(\d{4,5})
4. 報告する
概要を出力します。
Dev servers found:
Terminal 1 (pid 12345) — npm run dev → http://localhost:3000 (cwd: /Users/me/app)
Terminal 3 (pid 67890) — python manage.py runserver → http://127.0.0.1:8000 (cwd: /Users/me/api)
サーバーが見つからない場合は、その旨を伝え、起動を提案します。
5. ブラウザーで開く(任意)
ユーザーがアプリを表示したい場合は、Cursor の組み込みブラウザーを使用します。
browser_navigate → http://localhost:<port>
次に、表示を確認するためスクリーンショットを撮ります。
browser_take_screenshot
ヒント
- 複数のサーバーが見つかった場合は、どれを開くかユーザーに尋ねます
- ターミナルにエラー(例:
EADDRINUSE、address already in use)が表示されている場合は、競合を報告します - サーバーがクラッシュしてプロセスが終了している場合も、その旨を伝えます。ターミナルファイルの末尾にある
exit_codeを確認してください - よく使われるデフォルトのポート:Next.js(3000)、Vite(5173)、Django(8000)、Rails(3000)、Flask(5000)、Go(8080)
コメント
Markdown 対応