cosense-site-kit は「Cosense API を内部 API として扱う」前提で設計されています。Cosense は仕様変更があり得るため、依存範囲を core に閉じ込め、テーマや Astro 層は安定した中間データモデルだけを参照します。
データの流れ
Cosense public project
│
│ list + 差分 fetch(cache: .cosense-cache/)
▼
@cosense-site-kit/core
• fetch / parse / normalize / validate
• publish フィルタ
• slug + 内部リンク解決 + backlinks
• .site の site.yaml を SiteStructure にパース
│
▼
バージョン付き中間 JSON ← 公開コントラクト(schemaVersion: "1")
│
▼
@cosense-site-kit/astro (Content Loader + Integration)
│
▼
@cosense-site-kit/theme-* (Astro Integration がルートを inject)
│
▼
静的サイト → CDN (Cloudflare Workers Static Assets / GitHub Pages)設計の核となるルール
- Cosense API の知識は core/src/source/cosense/ と core/src/parse/scrapbox.ts だけに置く
- テーマ・Astro・CLI は中間モデルしか触らない
- 中間モデルは schemaVersion: "1" を持ち、将来の v2 と共存できる構造になっている
関連
- サイト構造の宣言は .site page
- 公開前の点検は Doctor