Upgrade to Pro — share decks privately, control downloads, hide ads and more …

そのドキュメント、自動化しませんか?

Avatar for yuk yuk
July 20, 2026

 そのドキュメント、自動化しませんか?

Avatar for yuk

yuk

July 20, 2026

Other Decks in Technology

Transcript

  1. // ABOUT ⾃⼰紹介 内藤勇介 / Yusuke Naito @yuksew ユースタイルラボラトリー株式会社 ∙

    訪問介護向け SaaS「カイビズ」を開発 ∙ バックエンドエンジニア / 設計 ∙ 最近: 介護報酬の請求計算、開発体験の向上 02
  2. // BEFORE 当時の仕組み 自動 スプレッドシート モデル⼀覧 GAS schemas.json 生成 components/schemas

    スキーマ定義 openapi.yaml 手動 / AI → HTML API の定義 ⼿書き(または AI) schemaは⾃動⽣成。API のパス定義は⼿書き、シートの更新は⼿作業。 05
  3. // BEFORE つらみ • 5年間の開発でシートが 350 枚を超えた • リポジトリ外なので コミット‧PR

    に残らない • 検索‧相互参照に弱い • AI で読み書きがしづらい 06
  4. // TYPESPEC TypeSpec とは models/common.tsp /** 氏名 */ @OpenAPI.extension( "x-kind",

    "valueObject") model StructuredName { familyName: string; givenName: string; displayName: string; } API‧モデルを定義する⾔語 TypeScript ライクに書ける メタ情報も TypeSpec に書ける 08
  5. // BUILD ─ API モデル⼀覧と OpenAPI を⽣成する TypeSpec 定義 openapi:build

    models/*.tsp tsp compile + 生成スクリプト モデル⼀覧 OpenAPI tsp compile → OpenAPI(openapi.yaml) build-html.js → API ドキュメント(HTML) build-model-docs.js → モデル⼀覧(models.html) 09
  6. // BUILD ─ DB DB は実物から抽出する migration tbls + Liam

    380 本(スキーマの正本) MySQL に migrate → スキーマ抽出 ER図‧DB定義書 tbls k1LoW/tbls 実 DB からスキーマを抽出し、DB定義書を⽣成 Liam @liam-hq/cli 抽出したスキーマから ER図 を⽣成 11
  7. // PIPELINE push 1回で、全部が更新される OpenAPI TypeSpec 定義 models/*.tsp GitHub Actions

    openapi:build モデル⼀覧 ER 図 migration GitHub Actions tbls + Liam DB 定義書 GitHub Actions で実⾏ → Cloudflare Pages に公開。 ⽣成物を相互リンクで接続。 12
  8. // BEFORE → AFTER 変わったこと Before After • シート 350枚超を⼿で維持

    • push 1回で⽣成‧更新 • コミット‧PR に残らない • コミット‧PR‧差分に乗る • 検索‧AI 連携に弱い • 検索‧AI に強い 13