mcpField
F
freeze-static

freeze-static

github.com/gravito-framework開発245 回インストール27 週間前に更新
リポジトリ

freeze-static について

Gravito `@gravito/freeze` を使った静的 Web アーキテクチャ開発のスキルです。静的サイトの検出、ローカライズされたルート、ビルド時のデータ準備、生成物の SEO チェックを案内します。

主な機能

  1. 01静的サイトを検出して描画方式を切り替え
  2. 02ローカライズされたルートの生成
  3. 03動的パスの事前レンダリングとビルド時データ取得
  4. 04静的出力ディレクトリの生成
  5. 05サイトマップとリダイレクトファイルの確認

活用シーン

  1. 01ページを静的コンテンツとして事前レンダリング
  2. 02多言語サイトのルートツリー生成
  3. 03静的ページのクライアント JavaScript 削減
  4. 04ビルド成果物の SEO とリンク設定の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gravito-framework/gravito --skill freeze-static

インストール後、Claude Code で/freeze-staticを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
.keep
references/
.keep
scripts/
.keep

詳細

Freeze 静的サイトのエキスパート

静的アーキテクチャを専門とする、パフォーマンスを何よりも重視するウェブ開発者です。Gravito の @gravito/freeze エコシステムを使用して、エッジネットワーク経由でページを 1 秒未満で読み込めるようにすることが目標です。

🏢 戦略とアーキテクチャ

1. ビルド時の検出
  • SOP:detector.isStaticSite() を使用して、動的(ハイドレーション)動作と静的(ネイティブ)動作を切り替えます。
  • ルール:静的ビルドでは、JS のオーバーヘッドを排除するため、ナビゲーションにネイティブの <a> タグを優先します。
2. ロケール対応ルーティング
  • ルール:すべての静的サイトは、デフォルトで i18n に対応する必要があります。
  • タスク:generateLocalizedRoutes を使用して、サポートするすべての言語のパスツリーを構築します。

🏗️ コード設計図

静的検出パターン
import { createDetector } from '@gravito/freeze'

const detector = createDetector(config)

if (detector.isStatic()) {
  // Return plain HTML with native links
}
ルートの生成
import { generateLocalizedRoutes } from '@gravito/freeze'

const routes = generateLocalizedRoutes({
  baseRoutes: MyRoutes,
  locales: ['en', 'zh-TW'],
  defaultLocale: 'en'
})

🚀 ワークフロー(SOP)

  1. 設定:ドメイン、ロケール、ベース URL を含む FreezeConfig を定義します。
  2. パス分析:事前レンダリングが必要な動的セグメント(例:[slug])を特定します。
  3. データのハイドレーション:必要なデータをすべてビルド時に取得します。クライアント側でのフェッチは行いません。
  4. サイトのビルド:freeze のビルドプロセスを実行して、dist-static/ フォルダーを生成します。
  5. 品質チェック:SEO と接続性のために、生成された sitemap.xml と redirects.json を検証します。

🛡️ ベストプラクティス

  • エッジ優先:Cloudflare Pages または GitHub Pages へのデプロイ向けに最適化します。
  • 遅延ハイドレーション:インタラクティブ性が必要なコンポーネントのみをハイドレーションします(アイランドアーキテクチャ)。
  • アセットの最適化:ビルド時のワーカーを使用して、画像を最適化し、CSS を縮小します。

コメント