Slide 1

Slide 1 text

Docusaurus を使った 開発ドキュメントの作成と運⽤ 第14回LT練習会 Yudai Yamamoto (@_yy616)

Slide 2

Slide 2 text

👦 ⾃⼰紹介 ⼭本 雄⼤ (yamamoto yudai) フロントエンドエンジニア - サイボウズ株式会社 - 新卒(2024/3/29 時点) - AI、⽣産性向上、デザイン @_yy616 最近は⼤規模⾔語モデルを フルスクラッチで作るPJ(東⼤松尾研 GENIAC)に参画中

Slide 3

Slide 3 text

Q. ドキュメント書いてますか︖メンテナンスできてますか︖

Slide 4

Slide 4 text

Q. ドキュメント書いてますか︖メンテナンスできてますか︖ ドキュメント管理についてはどの組織も少なからず苦労しているはず

Slide 5

Slide 5 text

推しのドキュメント管理ツールと その運⽤について話します💪

Slide 6

Slide 6 text

🗒 ドキュメント管理ツールは群雄割拠 組織、チームによってツールがバラバラでどれが良いのか悩ましい

Slide 7

Slide 7 text

✅ 個⼈的ドキュメント管理ツールの要件 1. マークダウンで書ける 2. 検索機能を備えている 3. バージョン(Git)管理できる 4. レビュープロセスを実施しやすい 書きやすさ 👉 参照容易性 👉 メンテナンス性 👉 品質 👉

Slide 8

Slide 8 text

🦖 選ばれたのは Docusaurus でした 2023/10 にバージョン3がリリース

Slide 9

Slide 9 text

概要 • Meta によって公開されているオープンソースの静的サイトジェネレーター • 技術ドキュメントの作成に特化しており、マークダウンの記述のみでコンテンツを追加できる 🤔 Docusaurus is 何︖ 特徴 • MDX で編集可能 • エンジニアフレンドリーな UI • 検索機能 • バージョン管理機能 • i18n サポート

Slide 10

Slide 10 text

🙌 こんな感じの良さげな wiki が⼿軽に作れる

Slide 11

Slide 11 text

以降はチームで実際に運⽤した話 Docusaurus ⾃体ではなくそれを使った運⽤の話

Slide 12

Slide 12 text

通常の開発と同じようにレビュープロセスを踏み、実装と同じタイミングで ドキュメントも追加する 🧭 運⽤⽅針1 あとでドキュメント追加するタイミングは⼤体来ないので実装と合わせて追加・更新 実際のドキュメント追加のPR

Slide 13

Slide 13 text

フロー型情報は Confluence や GitHub Issue、ストック型情報は Docusaurus で管理する 全てのドキュメントを Docusaurus 上で管理するのはきつい 👉 ストックしても効果が薄い情報(フロー型情報)は管理しない 🧭 運⽤⽅針2 調査ログ 個別タスクの実装⽅針 MTGの議事録 など 環境構築 リリースの⼿順書 設計資料 アプリ仕様書 など フロー型情報 ストック型情報 賞味期限が短い or コードから辿れれば良いだけの情報 賞味期限が⻑い情報 or 仕様に関する情報

Slide 14

Slide 14 text

✅ その他メンテナンス上の⼯夫 • ドキュメントの種類別にテンプレートを⽤意する • ドキュメント更新のチェックリストをPRのテンプレに加える • マークアップ系の Linter を使う • 更新防⽌⽤のワークフローを⽤意する PRのチェックリスト 更新チェック⽤のワークフロー

Slide 15

Slide 15 text

📝 まとめ • 開発系のドキュメント管理には Docusaurus がおすすめ • Docusaurus を使うことでメンテナンス性が向上 • 他のドキュメントツールと併⽤したり、LinterやCIを活⽤したりすることで⽣産性Up

Slide 16

Slide 16 text

ご清聴ありがとうございました🙇