md-business

AI はコードを書ける。
仕様書は、開けない。

請求書も設計書も検証シートも、.docx の中ではなく Markdown として置く。
人は PDF と Sheets で読み、AI は同じファイルを読んで直す。

デスクトップアプリを落とす GitHub Chrome 拡張 Windows / macOS · MIT
md-business デスクトップアプリの画面。左は請求書・設計書・検証シート・報告書に分かれた Markdown ファイルの一覧。中央は請求書の Markdown で、発行者・登録番号・明細・税率が frontmatter に並んでいる。右は同じファイルを適格請求書として描画したもので、税率ごとの内訳と合計 566,980 円が出ている。
フォルダから開いたままの適格請求書。人が承認するための紙面に見えているが、 実体は Markdown ファイル 1 枚で、AI が開いて 1 行直し、差分を見せられる。

なぜ文書は嘘になるのか

設計が変わる → 仕様書は共有ドライブの .docx → AI が開けない → コードから推測する → 文書が実物と食い違う → 誰も開かなくなる。

仕事のほとんどは、AI が読めるテキストへ移った。残っているのは「その仕事がどうあるべきかを書いた文書」だけ。 Word・Excel・PDF や多くの文書 SaaS が AI に渡すのは、中身の見えないバイナリか、差分の取れない API になる。 だから AI はコードのほうを見て、文書はそこから離れていく。

md-business は、その正本を Markdown へ移す OSS(MIT)。請求書・検証シート・基本設計書・ API 仕様書・DB 設計書を、YAML frontmatter と JSON Schema 検証付きの Markdown で持つ。 人が読む形式を取り上げはしない。人は PDF・Google Sheets・専用ビューワーで読み、 AI は同じファイルを読み、直し、検証し、差分を出す。

どう繋がっているか

Markdown                       ← 正本。1 文書 1 ファイル
   ↓
JSON Schema 検証               ← 壊れた請求書は、誰かが押印する前に落ちる
   ↓
AI が直す                      ← MCP 経由で、いま開いているフォルダの中を
   ↓
git diff でレビュー・承認      ← どの行が変わったかが見える
   ↓
PDF・Sheets・Chrome・デスクトップ ← 人が実際に読む形

要点は最後の行。文書は、人が信用できる形で読んで初めてレビューされたことになる —— A4 の請求書、表になった検証シート。下が Markdown であることは、そこを変えない。

デスクトップアプリの中身

入れる前に、何ができるのかを見る。

基本設計書を左右 2 画面で開いた状態。左は文書番号・版・作成者・レビュアー・関連文書を持つ Markdown、右は同じ内容を設計書として組んだ画面で、ドラフト表示と作成者表・レビュアー表が出ている。
左で書くと、右がそのまま追いかける。見えているものが PDF になるので、 保存してから確かめ直す手順が要らない。
同じ基本設計書のシステム構成の節までスクロールした状態。左は囲みの中の YAML で、API ゲートウェイ・Order Service・Order DB・2 つのキューが、種類と置き場を付けて並んでいる。右は同じものが構成図として描かれ、利用者・サブシステム・連携先の 3 つの枠に分かれ、矢印に名前が付いている。図の下には、囲みに書いた題名が中央寄せで出ている。
構成図も本文から出る。何があって何と繋がるかを書くだけで、箱は置かない。 描いているのは zumen で、 図がテキストのままなのでエージェントが直せるし Git が差分を取れる。PDF にもそのまま乗る。
検証シートを表形式のグリッドで開いた状態。番号・手順・期待結果が行ごとに並び、結果列に応じて OK は緑、NG は赤、保留は橙、未実施は無色に塗り分けられている。グリッドの下に行の追加・複製・クリア・グループ化のボタンがある。
検証シートは表として開くので、実施する人は表計算と同じ感覚で結果を埋められる。 下にあるのは素の TSV のままで、Git が 1 行ずつ差分を取れる。
同じ請求書を開いたまま、右のパネルを MCP タブへ切り替えた状態。ローカルのサーバーアドレス、開いているフォルダへ接続設定を書き出すボタン、そして AI が実行した search_documents・read_tsv・read_document・validate_document の履歴が、時刻と対象ファイル付きで並んでいる。
接続設定を一度渡せば、Claude Code・Claude Desktop・Cursor・Cline から、いま開いているフォルダを触れる。 実行された操作はここに残るので、何を読んで何を書き換えたのかが後から見える。
請求書の上に開いた印刷ダイアログ。PDF として保存が選ばれ、右の A4 プレビューに発行者と宛先、明細、税率ごとの内訳、合計、振込先が並んだ完成状態が出ている。
書き終えたら A4 で出す。画面で見えていたものがそのまま紙面になるので、 正本と別に保守するテンプレートを持たなくていい。

いずれもモックではなく、ダミーデータのフォルダ (scripts/demo-workspace)を 開いて撮ったアプリの実画面。実在の社名・登録番号・口座は写っていない。 画面は日本語表示だが、English・中文・한국어 も同梱している。

いま書ける文書

invoice 実装済み

適格請求書。登録番号・税率ごとの内訳・合計の自動計算まで含む。

spec 実装済み

基本設計書。システム概要・画面・データフロー・受入条件を節として持つ。

test-spec 実装済み

検証シート。ケースごとの OK / NG / 保留を表で埋め、Google Sheets と往復できる。

api-spec 未実装

API 詳細設計書。エンドポイントのリクエスト / レスポンス定義と例。

db-spec / nosql-db-spec 未実装

RDB / NoSQL の DB 設計書。項目単位の定義とリレーション。

読み方・直し方

デスクトップアプリ Windows / macOS

単体で動くビューワー兼エディタ(Tauri 2 + SvelteKit)。文書種別ごとの専用ビュー、 左右 2 画面のライブ編集、A4 PDF 出力、自動更新。MCP サーバーを内蔵しているので、 AI クライアント(Claude Code・Claude Desktop・Cursor・Cline …)が、いま開いているフォルダの文書を 読み書きできる —— MCP タブの接続設定を一度貼るだけ。
ダウンロード →   AI を繋ぐ →   操作マニュアル →

Chrome 拡張 公開中

ローカルの .md を Chrome で開き、業務文書として表示して A4 PDF に出す。
Chrome ウェブストア →

Google Workspace アドオン 審査中

検証シートなどを Google スプレッドシートとして編集し、結果を GitHub リポジトリへ 1 コミットで押し戻す —— git push と同じ考え方で。

PWA ビューワー 開発中

Astro 5 + Lit。インストールせずブラウザで見る。

レンダラー(Paged.js)

Markdown から A4 印刷品質の PDF を生成する。

zumen と組み合わせる

zumen のアイコン。ダークグレーの地に、1 つから 2 つへ分かれる木の形の構成図。

zumen — AI が描き、人が直し、その直しが壊れない構成図

構成図をテキストで持つエディタ。AI が描いた図を人が 1 か所だけ直しても、 次に AI が描き直したときにその直しが消えない。MCP の口を持つので、エージェントに直接描かせられる。

考え方が同じなので、そのまま噛み合う。md-business は文書を、zumen は図を、 どちらも人と AI が同じテキストを直す正本として持つ。設計書の本文は md-business、 その中の構成図は zumen —— 文書と図が別のファイル形式に分かれず、どちらも同じリポジトリで差分が取れる。

基本設計書の中に、図をテキストのまま書ける。本文に ```zumen の囲みを置くと、 プレビュー・PDF・HTML / 画像の書き出しのすべてで構成図として描かれる。構成が変わったら囲みの中を直すだけで、 図を描き直して貼り替える手間が無い。AI には両方の MCP サーバーを繋いでおけば、設計書を直すついでに図も直せる。

```zumen の囲みは、次のデスクトップ版から使える。

まだ出来ていないこと

そのほか