quarto-dsh — 自動化(正確に・自動で)
Quarto の編集・レンダリングを強化するハーネス(CLI / Web UI / LSP)の解説と既存チュートリアルへの導線
概要
quarto-dsh は、Quarto の 編集・レンダリングを「正確に・自動で」支えるハーネス です。quarto-pe(実在キー・記法の辞書)と deepseek-harness(プラグイン型エージェント基盤)の技術エッセンスを融合し、実在キーの検証・記法の検査・レンダリングの自動化を CLI / Web UI / LSP から提供します。
- リポジトリ: https://github.com/watanabe3tipapa/quarto-dsh
- 公開サイト: https://watanabe3tipapa.github.io/quarto-dsh/
- ライセンス: MIT(v0.1.3)
役割
「Quarto を正しく仕立てる」ことを担当します。ネットに転がる誤った設定に惑わされず、公式仕様に基づく正確な設定だけを手元で確認し、レンダリング・デプロイまでを自動化します。
| コマンド | 内容 |
|---|---|
quarto-dsh lint |
_quarto.yml / front matter を実在キーで検証 |
quarto-dsh scan |
callout 型・チャンクオプション・相互参照・Div 開閉を検査 |
quarto-dsh render |
quarto render / preview を CLI・エージェント・CI から実行 |
quarto-dsh project |
5 種のテンプレートからプロジェクトを生成 |
quarto-dsh ci |
GitHub Pages 自動デプロイ設定を生成 |
quarto-dsh chat |
DeepSeek エージェントで検証・修正・レンダリングを遂行 |
quarto-dsh web |
ブラウザで lint / scan / render / preview / chat |
quarto-dsh-lsp |
エディタの補完・診断 |
特徴
- 実在キーの検証: 辞書は quarto-pe のリファレンスを基に凍結・独立管理(
scripts/extract-quarto-pe.ts)。project.type: blogのような実在しない値も即座に指摘 - 正確さが命:
project.typeは実在値のみ(default / website / book / manuscript)。実在しないコマンド(quarto check projectなど)は収録しない - プラグイン型アーキテクチャ: 実物の Cordis(
@cordisjs/core)上に構築し、能力シーム(llm / shell / tools)で構成 - LLM エージェント:
chatが DeepSeek モデルとツールを組み合わせてタスクを遂行し、step / turn を append-only セッションログに記録 - LSP: エディタで YAML キー・記法の補完と診断
使い方
git clone https://github.com/watanabe3tipapa/quarto-dsh.git
cd quarto-dsh
pnpm install
pnpm build
quarto-dsh lint # 設定の検証(実在キーかどうか)
quarto-dsh scan index.qmd
quarto-dsh render # レンダリング前提: Quarto >= 1.3、Node.js >= 20。LLM エージェントを使う場合は DEEPSEEK_API_KEY が必要です。
長所
- 誤りを機械的に検出: lint / scan が実在キー・記法を検証し、Web 上の誤情報に惑わされない
- ワンストップ: 検証 → レンダリング → CI デプロイまでカバー
- エージェント対応:
chatで編集・検証・修正を LLM に委任できる - 複数インターフェース: CLI / Web UI / LSP を同じコアで提供
- quarto-pe との親和: 知識層の出典が明示され、凍結・独立管理されている
短所・制約
- 前提が重い: Quarto + Node.js >= 20 + pnpm の準備が必要
- LLM 依存:
chatは DeepSeek API キーが必要で、エージェント機能を使わない場合は不要 - 辞書の凍結: 知識層は quarto-pe から取り込んだ時点で凍結するため、quarto-pe 側の更新に追随するには再取り込み(
extract-quarto-pe)が必要 - 対象は Quarto に特化: Quarto 以外の文書形式(
.adocなど)の統合は担当外(そこは quarto-plus の担当)
適用例
- 本サイト quarto-dsh 自体の LP・チュートリアル・REPORT の検証・ビルド・公開(lint / scan / render / ci)
- Kitesurf × Quarto 情報収集のような収集→検証→レポート化パイプライン
- CI でプッシュのたびに設定・記法を検査してからデプロイ