astro-developer について
Astro monorepoで作業するAIエージェントや開発者向けのコンテキスト読み込みスキルです。タスクごとに関連ドキュメントを案内し、アーキテクチャ、実行時の制約、テスト方法、コマンドをまとめます。
主な機能
- 01タスク別のドキュメント案内
- 02アーキテクチャと実行時の情報
- 03テストに関する推奨事項
- 04よくある問題と制約
- 05開発コマンドの参照
活用シーン
- 01Astroの機能開発に必要な文書探し
- 02実行時境界に関する問題の調査
- 03コード変更に適したテストの選択
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ withastro/ astro --skill astro-developerインストール後、Claude Code で/astro-developerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
architecture.mdconstraints.mddebugging.mdtesting.mdevals/evals.json詳細
Astro Developer Skill
Astro モノレポで作業する AI エージェントや開発者向けのコンテキスト読み込みスキルです。タスクに応じた関連ドキュメントを読み込みます。
クイック判断マトリックス
何をしていますか? → 以下のファイルを読んでください:
| タスク | 主なドキュメント | 参考ドキュメント |
|---|---|---|
| コア機能の追加 | architecture.md, constraints.md | testing.md |
| バグの修正 | debugging.md | architecture.md |
| テストの作成・修正 | testing.md | constraints.md |
| インテグレーションの作成 | packages/integrations/ で例を探します | testing.md |
| アーキテクチャの理解 | architecture.md | - |
| エラーへの対処 | debugging.md, constraints.md | testing.md |
| 制約の理解 | constraints.md | architecture.md |
重要な警告
作業を始める前に、よくある落とし穴を確認してください:
- ユニットテストを優先する:原則として、ユニットテスト可能なコードを書いてください。必要な場合にのみインテグレーションテストを使用します → testing.md
- Node.js API の制限:
runtime/のコードでは Node.js API を使用できません → constraints.md - テストの分離:インテグレーションテストごとに一意の
outDirを設定する必要があります → testing.md - ランタイムの境界:Core、Vite、ブラウザーの実行コンテキスト → architecture.md
- プレリリースモード:Changesets の対象は
origin/nextブランチです(.changeset/config.jsonを確認してください)
クイックコマンドリファレンス
# Development
pnpm install # Install (root only)
pnpm run build # Build all packages
pnpm run dev # Watch mode
pnpm run lint # Lint codebase
# Testing
pnpm -C packages/astro exec astro-scripts test "test/**/*.test.js" # All tests
pnpm -C packages/astro exec astro-scripts test -m "pattern" # Filter tests
pnpm run test:e2e # E2E tests
node --test test/file.test.js # Single test
# Examples
pnpm --filter @example/minimal run dev # Run example
# Changesets
pnpm exec changeset --empty # Create changeset, no interactive mode
主なファイルパス
packages/astro/src/
├── core/ # Node.js execution context (build/dev commands)
├── runtime/
│ ├── server/ # Vite SSR execution context
│ └── client/ # Browser execution context
├── virtual-modules/ # Virtual module entry points
├── content/ # Content layer system
├── vite-plugin-*/ # Vite plugins
└── types/ # Centralized TypeScript types
packages/integrations/ # Official integrations
examples/ # Test your changes here
test/fixtures/ # Test fixtures
注:node_modules/ 内のエラースタックトレースは、packages/ 内のソースに対応しています。詳細は architecture.md を参照してください。
使い方
このスキルは関連するコンテキストを読み込みます。ワークフローを実行するものではありません。適切なドキュメントを読み込んだ後は、次の手順に従ってください。
- タスクに推奨されるファイルを読む
- 説明されているパターンと制約を適用する
- 提供されているコマンドとファイルパスを使用する
- 問題が発生した場合は、エラーメッセージをドキュメント内で検索する
アーキテクチャの概要
3 つの実行コンテキスト:
- core/ → Node.js、ビルド/開発コマンド。Vite プラグイン以外では Node.js API を避けてください
- runtime/server/ → Vite SSR。Node.js API は使用できません
- runtime/client/ → ブラウザー。Node.js API は一切使用できません
5 種類のパイプライン:
- RunnablePipeline → Vite ローダーシステムを使用する
astro dev - NonRunnablePipeline → ランタイムモジュールの読み込みを行わない
astro dev(Cloudflare アダプター) - BuildPipeline →
astro build+ プリレンダリング - AppPipeline → 本番環境のサーバーレス/SSR
- ContainerPipeline → コンテナー API
詳細は architecture.md を参照してください。
テストの概要
基本方針:インテグレーションテストよりユニットテストを優先します。原則として、ユニットテスト可能なコードを書いてください。
ユニットテスト(高速で推奨):
- 純粋関数とビジネスロジックをテストする
- インフラストラクチャからビジネスロジックを切り離す
- 依存性注入を使用する
インテグレーションテスト(低速のため、必要な場合のみ使用):
- ユニットテストできない機能(仮想モジュール、ビルドパイプライン全体など)に限る
- キャッシュの汚染を防ぐため、常に一意の
outDirを設定する
完全なパターンと例については、testing.md を参照してください。
このスキルを使用しない場合
- バグのトリアージ:代わりに
triageスキルを使用する - GitHub Actions の分析:
analyze-github-action-logsスキルを使用する - 簡単な質問:このスキルを読み込まず、直接質問する
Related Documentation
- Root: /AGENTS.md
- Root: /CONTRIBUTING.md
- Astro docs: https://docs.astro.build/
- Package: packages/astro/src/core/README.md
- Build plugins: packages/astro/src/core/build/plugins/README.md
コメント
Markdown 対応