メインコンテンツへスキップ

仕様設計

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 ツールであり、 人間が標準出力を見て結果を確認し、ログは問題...