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 failfail が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付きページが誤って公開されていないか