Skip to content

docs(skills): アセットビルド規約 eccube-asset の追加と、検証手順が無かった 7 Skill の補完 - #7009

Merged
ttokoro20240902 merged 2 commits into
docs/skill-known-pitfalls-followupfrom
docs/eccube-asset-skill
Jul 30, 2026
Merged

docs(skills): アセットビルド規約 eccube-asset の追加と、検証手順が無かった 7 Skill の補完#7009
ttokoro20240902 merged 2 commits into
docs/skill-known-pitfalls-followupfrom
docs/eccube-asset-skill

Conversation

@ttokoro20240902

@ttokoro20240902 ttokoro20240902 commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

スタック PR です。 base は #7008#7008 が 4.4 へマージされると base は自動で 4.4 にリターゲットされます。
controller / entity / migration / service の 4 ファイルが #7008 と重なるため、いま 4.4 へ付け替えるとコンフリクトします。
なお #7007(Skill 名の eccube- 接頭辞化)は 2026-07-30 に 4.4 へマージ済みです。
base が未保護ブランチのため承認ゲートは効きません(#7008 のマージ後にレビューをお願いします)。

概要

Skill の棚卸しで見つかった残り 2 件を扱います。どちらも「規約の内容が間違っている」ではなく 「書かれていない」 類の欠落です。

① アセットビルド規約が存在しなかった(新規 Skill)

scss / style.css / npm run build に言及した Skill がゼロでした。一方で生成物はすべて git 管理下にあります。

生成物 追跡状況
html/template/*/assets/css/*.css *.min.css *.map 15 ファイル(.css は mode 100755 / .map は 100644)
html/bundle/ 783 ファイル

つまり .scss だけコミットすると実機のスタイルが変わりません。これは実害として発生しています。

さらに CI はこの不一致を検査しません。E2E のワークフロー(e2e-test.yml:122-123)は自分で npm ci && npm run build を実行するため、コミット済み生成物が古くても E2E は緑になります。「E2E が緑だから生成物は最新」と読めない点を明記しました。

内容はすべて実装で裏取りしています。

  • パイプライン: npm run build = gulp 既定タスク = series(scss, scss-min, webpack)
  • scss: sass → postcss(postcss-import / autoprefixer / postcss-sort-media-queries(mobile-first))→ 同階層の css/ へ出力
  • webpack: front / admin / install の 3 エントリ → html/bundle/*.bundle.js

postcss-sort-media-queries@media を並べ替え・統合するため、生成物に手書きで @media を足した差分は判別できます。レビューで「フルビルドか手書き追記か」を見分ける基準として記載しました。

引用した 17 個のファイル・パスはすべて実在を確認済みです。「よくある間違い」は 8 項・全て 120 字以内で、#7007 で定めた歯止め(10 項・120 字)に収まっています。

② 検証手順が無かった 7 Skill に「実行・確認方法」を追加

controller / entity / formtype / migration / repository / service / review-responsibility は、実装後に何を実行して確かめるかが書かれていませんでした。

Skill 追加した確認手段
eccube-controller debug:router でルーティング登録を確認
eccube-entity doctrine:schema:update --dump-sqleccube:generate:proxies
eccube-formtype debug:form で構成・拡張の反映を確認
eccube-migration migratemigrate prevmigratedown() の往復と冪等性を確認
eccube-repository DQL/SQL を出して EXISTS の制約漏れ・件数の一致を確認
eccube-service debug:container で登録とデコレーションの解決先を確認
eccube-review-responsibility 差分の確定と、変更ファイルに絞った QA 実行

案内するコマンドは実在をコード側で確認しました(RouterDebugCommand / DebugCommand(debug:form) / ContainerDebugCommand / UpdateSchemaDoctrineCommand / MigrateCommand / GenerateProxyCommand)。推測で書いたコマンドはありません。

eccube-review-responsibility は対象の記載も無かったため追記しました(特定ディレクトリではなく「直前の変更差分」が対象であることを明示)。

自分の見立ての訂正

棚卸しの初回報告で「対象節があるのは 18 件中 4 件のみ」としていましたが、これは ## 対象 という見出しだけを数えた誤りでした。対象パスはタイトル直後の **対象**: 行として 19 件に記載済みです。見出し形式への統一は内容が変わらない差分なので行っていません。

検証

  • eccube-asset が引用する 17 ファイル・パスの実在
  • 案内する console コマンドの実在(上記 6 クラス)
  • 「よくある間違い」の歯止め遵守(eccube-asset 8 項・最長 99 字)
  • 全 20 Skill が推奨構成(対象 / 実行・確認方法)を満たすこと

変更は Markdown のみで、PHP・設定ファイルへの波及はありません。

🤖 Generated with Claude Code

ttokoro20240902 and others added 2 commits July 30, 2026 11:24
SCSS / JS バンドルのビルドを扱う Skill が無く、`scss` `style.css` `npm run build` に
言及した規約がどの Skill にも存在しなかった。生成物(`html/template/*/assets/css/`
の `.css` `.min.css` `.map` と `html/bundle/`)はすべて git 管理されているため、
ソースだけコミットすると実機に反映されない。この取りこぼしは実害として発生している。

CI がこの不一致を検査しない点も明記した。E2E のワークフローは自分で `npm run build`
するため、コミット済み生成物が古くても緑になる(「E2E が緑だから最新」と読めない)。

内容はすべて実装で裏取りした:

- パイプライン: gulp 既定タスク = series(scss, scss-min, webpack)
- scss: sass → postcss(postcss-import / autoprefixer /
  postcss-sort-media-queries(mobile-first))→ 同階層 css/ へ出力
- webpack: front / admin / install の 3 エントリ → html/bundle/*.bundle.js
- 生成物のモード(`.css` は 100755 / `.map` は 100644)

`postcss-sort-media-queries` が @media を並べ替え・統合するため、生成物に手書きで
@media を足した差分は判別できる(レビューでフルビルドか手書きかを見分ける基準)。

AGENTS.md の Skill 索引表にも 1 行追加した。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
AGENTS.md が推奨する構成のうち「実行・確認方法」が controller / entity / formtype /
migration / repository / service / review-responsibility の 7 件で欠けており、
実装後に何を実行して確かめるかが書かれていなかった。

各層で実際に効くコマンドだけを載せた(存在をコード側で確認済み):

- controller: debug:router でルーティング登録を確認
- entity: doctrine:schema:update --dump-sql と eccube:generate:proxies
- formtype: debug:form で構成・拡張の反映を確認
- migration: migrate → migrate prev → migrate で down() の往復と冪等性を確認
- repository: DQL/SQL を出して EXISTS の制約漏れ・件数の一致を確認
- service: debug:container で登録とデコレーションの解決先を確認
- review-responsibility: 差分の確定と、変更ファイルに絞った QA 実行

review-responsibility には対象の記載も無かったため追記した(特定ディレクトリではなく
「直前の変更差分」が対象であることを明示)。

なお当初「対象節が 18 件中 4 件のみ」と見立てていたが、これは `## 対象` という見出しだけを
数えた誤りだった。対象パスはタイトル直後の `**対象**:` 行として 19 件に記載済みで、
見出し形式への統一は内容が変わらないため行わない。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

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: Pro Plus

Run ID: fc0a26be-46dc-49ba-b9ce-d5d3709aaf6d

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

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 ttokoro20240902 added this to the 4.4.0 milestone Jul 30, 2026
@ttokoro20240902
ttokoro20240902 merged commit 3f07222 into docs/skill-known-pitfalls-followup Jul 30, 2026
47 checks passed
@ttokoro20240902
ttokoro20240902 deleted the docs/eccube-asset-skill branch July 30, 2026 02:35
@ttokoro20240902

Copy link
Copy Markdown
Contributor Author

base ブランチ(docs/skill-known-pitfalls-followup = #7008)へ早送りで統合したため、GitHub 上では自動的に merged 扱いになりました。4.4 へ直接入ったわけではありません。

controller / entity / migration / service の 4 ファイルが #7008 と重なりスタックを維持する利点が無いため、1 PR にまとめています。本 PR の 2 コミットはそのまま #7008 に含まれており、レビューは #7008 でお願いします。

@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.12%. Comparing base (a06a18e) to head (3f07222).
⚠️ Report is 3 commits behind head on docs/skill-known-pitfalls-followup.

Additional details and impacted files
@@                          Coverage Diff                           @@
##           docs/skill-known-pitfalls-followup    #7009      +/-   ##
======================================================================
- Coverage                               77.12%   77.12%   -0.01%     
======================================================================
  Files                                     563      563              
  Lines                                   27952    27952              
======================================================================
- Hits                                    21558    21557       -1     
- Misses                                   6394     6395       +1     
Flag Coverage Δ
Unit 77.12% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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