知識バンドルを Quarto だけで作る「okf-seedling」
okf-seedling は、Open Knowledge Format(OKF)v0.2 に準拠した知識バンドルを Quarto だけで作成・公開するテンプレートツールです。この記事ではそのサイトと リポジトリ を調査して評価します。
okf-seedling とは
- エージェントにも人間にも読める
.qmdをソースにする quarto use template一発でバンドルの雛形を生成- レンダリングで 人間用 HTML と 機械用 OKF バンドル(
okf/ディレクトリ)を二系統出力 - GitHub Pages と Cloudflare Pages に並行デプロイ
「OKF バンドル」は okf/(index.md / log.md / concepts/*.md)に自動生成される機械可読な Markdown 群です。人間向け HTML と同じ .qmd ソースから同時に出力されます。
Concept 型(1 ファイル 1 概念)
| 型 | 内容 |
|---|---|
| API Overview | API 全体の概要(認証・バージョン・エラー) |
| API Endpoint | 1 エンドポイントの仕様 |
| API Schema | 入出力の型・JSON スキーマ |
| Playbook | 手順書・対処手順 |
| Metric | 指標の定義 |
| Attested Computation | 検証可能な計算定義 |
型はレジストリ(tools/okf-types.json)で拡張できます。
評価:良い点
1. 単一ソースで二系統出力
concepts/*.qmd が唯一の source of truth で、post-render に指定された node tools/stamp-okf.mjs が okf/ バンドルを自動生成します。
frontmatter はそのまま保持され(provenance / trust 情報として)、エージェントが追跡できる設計です。実際、リポジトリには okf/index.md・okf/log.md・okf/concepts/*.md が生成物としてコミットされていました。
2. sha 差分追跡
okf/log.md がバンドル全体の更新差分を記録するため、機械が更新を検知できます。
3. 検証とスタンプの自動化
tools/validate-okf.mjs… バンドルの妥当性チェックtools/stamp-okf.mjs… OKF バージョンのスタンプ(tools/okf-version.jsonのcurrentを参照)
4. デプロイ先の選択肢が広い
GitHub Pages と Cloudflare Pages の並行デプロイに対応。_quarto.yml の site-url は Cloudflare Pages(okf-seedling.pages.dev)を指しています。
評価:気になる点
1. 開発初期段階(公開当日)
作成日が 2026-08-11 と公開当日のため、以下が未整備でした。
- README なし(リポジトリの description も空)
- リリース未作成
_quarto.ymlのrepo-url: ""が空
2. Node 環境が前提
stamp-okf.mjs / validate-okf.mjs は Node スクリプトです。検証・生成の前に Node 環境の導入が必要になります(この CMS は GitHub Actions 側で完結するのと対照的です)。
3. Playwright 連携は「可能」止まり
サイトには「Playwright による知識蓄積にも対応」とありますが、具体的な導入手順はまだ tutorial に含まれていません。
まとめ
| 項目 | この CMS(issues-quarto-cms) | okf-seedling |
|---|---|---|
| 原稿 | GitHub Issue / Discussion | .qmd ファイル |
| 生成 | GitHub Actions → posts/{slug}/index.qmd |
post-render → okf/ バンドル |
| 出力 | ブログ + 検索 + RSS | 人間用 HTML + 機械用 OKF |
| 対象読者 | 人間 | 人間 + エージェント |
「Quarto をパイプラインの中心に置く」思想は共通で、出力先が「ブログ」か「知識バンドル」かの違いです。エージェント時代のドキュメント配信という着眼点は興味深く、今後の発展(README・実例・型の拡充)に期待します。