Skip to content

docs: 利用者から見た機能の一覧を docs/features に追加 (#7225) - #7228

Open
ttokoro20240902 wants to merge 9 commits into
docs/spec-static-sitefrom
docs/issue-7225-feature-list
Open

ttokoro20240902 wants to merge 9 commits into
docs/spec-static-sitefrom
docs/issue-7225-feature-list

Conversation

@ttokoro20240902

@ttokoro20240902 ttokoro20240902 commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

概要(Overview・Refs Issue)

Closes #7225

利用者(購入者・店舗運営者・開発者)から見た機能の一覧を本体に置き、機能を追加・変更する PR で更新する仕組みを入れます。結合試験項目書(EC-CUBE/eccube-specification#125)の観点表は、ここで振る機能 ID を参照します。

#6961 にスタックした PR です(base = docs/spec-static-site)。仕様書ポータル(ルートの README.html)と docs-check CI を前提にしています。

方針(Policy)

Issue の「進め方 1」の決定事項です。

  • 置き場所・形式: 機械的に差分を取って照合できるよう YAML を正本にし、人が読む HTML は生成物としてコミットする。file:// で開く HTML からは別ファイルを fetch() できないため、HTML 側で YAML を読む方式は取らない
  • 機能 ID: 接頭辞-グループ 2 桁-連番 2 桁(例: AD-20-01)。仕様書の章番号とは独立
    • 接頭辞: FR フロント(購入者) / AD 管理画面(店舗運営者) / DV 開発者・運用者(CLI・API・拡張)
    • グループは features.yaml 先頭の groups に定義し、10 刻みで振る(既存のグループの間に AD-25 のように足せる)
    • 採番したら変えない。廃止しても行は消さず removed を付けて欠番にする
  • 粒度: 管理画面はメニュー単位、フロントは主要な導線、開発者向けは CLI / API / 拡張ポイントの単位から始める
  • 本体 PR・導入バージョン: 4.4 で追加・変更した機能だけ埋め、既存の機能は空欄(Issue の進め方 2)。prs はリリースのバージョンごとに書く(prs: {4.4.0: [6858]})。不具合修正だけの PR は載せない。本体 PR はリリースごとに試験観点と照合するための列なので features.yaml にだけ持ち、features.html には表示しない(行が伸び続けるため)

実装に関する補足(Appendix)

  • docs: 仕様書の集約 export コマンドと鮮度チェック CI を追加 (#6906) #6961 の仕組みへの変更: 一覧の生成物を README.html にすると、同じディレクトリの README.md(索引)と同じものに見えるため features.html とした。名前が README.html でなくても集約出力と鮮度チェックから外れないよう、DocsExportService と check-readme-docs.php の対象に docs/ 配下の *.html を加えた(README.html 以外の HTML は docs/ 配下だけ。現在 docs/ にある HTML は features.html だけで、既存の文書が新たに対象になることはない)
  • prs には、その行の機能の仕様を変えることが主な目的の PR だけを載せる。別の機能を追加した PR の波及(CSV の列が増える等)は追加元の行にだけ書く
  • 検証内容: 機能 ID の形式・重複・グループの定義、必須列、未知の列(打ち間違い対策)、バージョン表記、dirs のパスの実在、README.html が features.yaml の生成物と一致するか
  • feature-list.php は symfony/yaml を使うため、docs-check ジョブに ./.github/actions/composer を追加した
  • docs-check は README / docs/features を変えたときだけ走る。src/ のディレクトリ名変更で dirs が切れても、次に機能一覧を触るまで検出されない(全 PR で composer install を走らせるコストとの兼ね合い)

テスト(Test)

  • php .github/bin/feature-list.php --check: 合格(ホスト PHP 8.3 / コンテナ PHP 8.2)
  • 壊した YAML(ID 形式違い・未定義グループ・連番 00・重複・未知の列・存在しないパス・バージョン表記違い)と、YAML だけ変えて HTML を作り直さない状態で、それぞれ失敗することを確認
  • php .github/bin/check-readme-docs.php: 合格(ポータルからのリンク・section 属性・相対リンク)。features.html のポータルからのリンクを消す/section 属性を消すと失敗することを確認
  • DocsExportServiceTest: docs/ 配下の HTML だけが追加で出力されるテストを追加(7 tests 合格)
  • bin/console eccube:docs:export --filter=customer: README.html 28 件+docs/features/features.html の 29 件を出力
  • php-cs-fixer: 差分なし

相談(Discussion)

  • PR と機能の対応は、4.4 宛にマージされた PR のタイトルと本文から判断して割り当てています。仕様書側の観点表との突き合わせで、漏れ・誤りを指摘してください(4.3 からの同期分の不具合修正は載せていません)
  • 機能の粒度(1 行の大きさ)が観点表との対応に合っているか

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • コード変更に対応する README.html/README.md(コード近接の仕様書・索引)の更新漏れがないか
  • 機能を追加・変更した場合、docs/features/features.yaml(機能の一覧)を更新し docs/features/README.html を作り直したか
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

🤖 Generated with Claude Code

ttokoro20240902 and others added 3 commits October 5, 2026 16:09
- docs/features/features.yaml を正本に、4.4 時点の機能 110 件を機能 ID
  (FR=フロント / AD=管理画面 / DV=開発者・運用者 + 3 桁連番) で一覧する
- 4.4 で追加・変更した機能だけ本体 PR と導入バージョンを埋める
- .github/bin/feature-list.php で検証と README.html の生成を行い、
  docs-check CI で生成物との一致を確認する
- 仕様書ポータル・AGENTS.md・PR テンプレートに導線とチェック項目を追加

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
接頭辞ごとの通し番号だと、グループ単位の表示順と ID の順がずれ、
後からグループの途中へ機能を足しにくい。百の位をグループ(groups で定義)、
下 2 桁をグループ内の連番にし、表示も ID 順に揃える。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
グループを 1 桁にすると接頭辞ごとに 9 グループまでしか作れず、
既存のグループの間にも足せない。グループを 2 桁(10 刻み)にして
間へ足せるようにし、区切りのハイフンでグループと連番を読み分けられるようにする。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 625becb6-036c-402e-a271-fea466c83f87

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

ttokoro20240902 and others added 6 commits October 5, 2026 16:29
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#7032・#7127 は 4.4.0 で新規追加したエージェントコマースの不具合修正で、
「不具合修正だけの PR は載せない」方針に合わないため DV-30-02 / DV-30-03 から外す。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
機能を追加・変更した PR を全部載せると、CSV の登録・出力のように他の機能の
波及を受けやすい行へ PR が際限なく溜まり、その機能で何が変わったかが読めなくなる。
prs には「その行の機能の仕様を変えることが主な目的の PR」だけを載せ、
別の機能を追加した PR の波及は追加元の行にだけ書く(必要なら summary に波及先を書く)。

この基準に合わせ、受注管理用メモ(#6840)の商品 CSV 登録への列追加は
AD-20-08 から外し、AD-20-02 の summary に波及先を書く。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…にする (#7225)

docs/features/README.html は生成した一覧で、ディレクトリの説明ではない。
同じディレクトリの README.md(GitHub で表示される索引)と同じものに見えるため、
生成物を features.html に改める。

README.html という名前でなくなっても eccube:docs:export と docs-check から外れないよう、
docs/ 配下の HTML 文書を export・検査の対象に加える(README.html 以外の HTML は docs/ 配下だけ)。
現在 docs/ にある HTML は features.html だけで、新たに対象になる既存の文書はない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
本体 PR は、機能の一覧を読むときではなくリリースごとに試験観点と照合するときに使う。
HTML に並べると行が伸び続ける(例: DV-50-01 は既に 3 本)ため、features.yaml の prs には
残したまま、features.html には表示しない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- refactor の #7153 は DV-40-08 だけに、読み取り専用モードの #7119 は AD-70-08 だけに残す
  (他の行は仕様を変えない、または波及のため)
- #6881 はお問い合わせのフォームを変えていないため FR-40-01 から外す
- #7178 はフロントを変えていないため FR-10-03 から、#7098 は終了コードの修正だけなので
  DV-20-07 から、#6706 は GitHub Actions の権限の追加だけなので DV-40-02 から外す
- 冒頭の「既存の機能は since と prs を空にしている」を、4.4 で仕様を変えた PR は書く実態に合わせる
- feature-list.php は未知の引数をエラーにする(--chek の打ち間違いで features.html を上書きしない)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant