cosense-site doctor は、ビルド前に「うまく動かなさそうなところ」を1コマンドで洗い出します。CI のゲートにそのまま使えます。

実行

npx cosense-site doctor

出力例

Doctor report for "cosense-site-kit"
  ✓ Pipeline warnings  none
  ✓ Publish rules produce pages  23 kept, 5 excluded
  ✓ Site-config page  ".site" parsed successfully
  ✗ Nav references resolve  1 nav reference(s) point to missing pages
      · "Contact" is not a published page
  ⚠ Internal page links resolve  4 broken page link target(s)
      · "Old Topic" referenced by 2 page(s)
  ✓ No slug collisions  all slugs unique
  ✓ No draft leak  no excluded-tag pages published
  Summary: 6 ok, 1 warn, 1 fail

fail が1つでもあれば exit code 1。CI で cosense-site doctor && astro build のようにすれば公開前ゲートになります。

チェック項目

  • Pipeline warnings: site.yaml の警告
  • Publish rules produce pages: 公開対象が 0 件でないか
  • Site-config page: .site page が認識できているか
  • Nav references resolve: nav が指すページが公開されているか
  • Home reference resolves: home.page が公開されているか
  • Featured references resolve: featured 内のページが公開されているか
  • Posts tag has content: posts.tag が付いたページが存在するか
  • Redirect destinations exist: redirect 先が公開ページか
  • Internal page links resolve: 内部リンクの飛び先が存在するか
  • No slug collisions: slug 重複が無いか
  • No draft leak: #draft 付きページが誤って公開されていないか