コンテンツにスキップ

01.ナビゲーション自動生成機能

REQ-TOOL-1.0: ナビゲーション自動生成機能

1. 機能概要

Docs/フォルダ内のディレクトリ構造とファイル名をスキャンし、mkdocs.ymlnav:セクションを自動で生成・更新する機能。 これにより、ドキュメントの追加・削除時に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で動作すること。

関連Issue: #16, #21