01.ナビゲーション自動生成機能
REQ-TOOL-1.0: ナビゲーション自動生成機能
1. 機能概要
Docs/
フォルダ内のディレクトリ構造とファイル名をスキャンし、mkdocs.yml
のnav:
セクションを自動で生成・更新する機能。
これにより、ドキュメントの追加・削除時にmkdocs.yml
を手動で編集する手間をなくし、ヒューマンエラーを防ぐことを目的とする。
2. 詳細な機能要件
REQ-TOOL-1.1: コマンドによる実行
- CLIツールとして、コマンドラインから機能を実行できること。
- 例:
npm run update-nav
またはnpx devb-cli update-nav
REQ-TOOL-1.2: 階層構造の自動認識
Docs/
フォルダ以下のサブディレクトリを再帰的にスキャンし、ナビゲーションの階層構造を自動で認識すること。- ファイル名およびフォルダ名の先頭にある
NN_
(2桁の数字とアンダースコア)をプレフィックスとして認識し、ナビゲーション項目をその数値順に並べ替えること。
REQ-TOOL-1.4: README.md
の特別扱い
README.md
という名前のファイルを、そのフォルダの「トップページ(概要)」として認識し、ナビゲーション階層の親項目に設定すること。
REQ-TOOL-1.5: ナビゲーション表示名の決定
- 優先度1 (最高): MarkdownファイルのYAMLフロントマターに
title:
キーが存在する場合、その値を最優先で使用する。 - 優先度2 (デフォルト): フロントマターに
title:
キーが存在しない場合、ファイル名から表示名を自動生成する(01_...
や.md
を除去し、_
をスペースに置換)。
REQ-TOOL-1.6: mkdocs.yml
への書き込み
- 生成されたナビゲーション構造を、リポジトリルートの
mkdocs.yml
ファイルに自動で書き込むこと。nav:
セクション全体を上書きする。
3. 非機能要件
NFR-TOOL-1.1: 互換性
- Node.js + TypeScriptで実装し、主要なOS(Windows, macOS, Linux)のLTSバージョンのNode.jsで動作すること。