仕様設計
0. 仕様設計手順
1. 入力仕様の確定(YAML → ドメイン) YAML スキーマの確定(キー、型、必須/任意) 処理順が意味を持つことの明文化 不正入力の扱い(エラーにする条件)の洗い出し ド...
1. 入力仕様定義(YAML → ドメイン)
1. 入力全体の位置づけ 入力は 一度きり使う YAML 定義 YAML に書かれた 記載順=処理順 既存構造は破壊せず、新規作成のみ 既存要素が存在する場合は SKIP YAML は Boo...
2. ドメインデータクラス設計(YAML → ドメイン)
1. 設計方針 入力1ファイル=1 Book(book_id を必須) 記載順は意味を持つため、list の順序は保持する 既存更新・削除はしない(SKIP 判定は後段のユースケースで行う) ...
3. 全体処理フロー(ユースケース手順)
0) 起動〜前処理 CLI 引数を解釈(-i <yaml> 必須) ロギング初期化(ログは stderr / stdout とは分離) 入力ファイル存在チェック(無ければ入力エラーで即時終了)...
4. API 境界設計(インフラ層)
4.1 BookStack API の使用エンドポイント整理 本ツール(Book/Chapter/Page の骨格生成)で利用するエンドポイントは最小限に絞る。 一覧取得系(同一性判定・SKIP...
5. エラーモデル設計
5. エラーモデル設計 本章では、本ツールにおけるエラーの分類、扱い方、および どこで捕捉し、どこで処理を終了するかの境界を定義する。 本ツールは「安全側・再実行可能」を最優先とし、 エラー発生...
6. CLI設計
6.1 実行ファイル名と基本形式 6.1.1 実行ファイル名 実行ファイル名は create_skeleton.py とする。 6.1.2 基本コマンド形式 python create_sk...
7. ロギング設計
ロギング設計 本章では、本ツールにおけるログの目的、出力先、ログレベル、および 標準出力との役割分担を定義する。 本ツールは CLI ツールであり、 人間が標準出力を見て結果を確認し、ログは問題...