From 6de85b9ad423f12db3b37e99fc15e108d30e6e99 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 4 Sep 2026 13:24:02 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20CLAUDE.md=20=E3=82=92=E9=9A=8E=E5=B1=A4?= =?UTF-8?q?=E5=8C=96=E3=81=97=E3=81=9F=E5=85=B1=E9=80=9A=E3=83=AB=E3=83=BC?= =?UTF-8?q?=E3=83=AB=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=81=A6=E6=95=B4?= =?UTF-8?q?=E7=90=86=E3=81=97=E3=80=81GEMINI.md=20=E3=81=A8=20.agents/rule?= =?UTF-8?q?s=EF=BC=88Antigravity=20=E7=94=A8=E5=8F=82=E7=85=A7=EF=BC=89?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agents/rules/claude-md.md | 7 +++++++ CLAUDE.md | 18 +++++++++++------- GEMINI.md | 24 ++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 .agents/rules/claude-md.md create mode 100644 GEMINI.md diff --git a/.agents/rules/claude-md.md b/.agents/rules/claude-md.md new file mode 100644 index 0000000..130ecd1 --- /dev/null +++ b/.agents/rules/claude-md.md @@ -0,0 +1,7 @@ +--- +trigger: always_on +description: Read the CLAUDE.md hierarchy via GEMINI.md before doing anything in this workspace +--- + +最初に、このディレクトリの `GEMINI.md` を読み、そこに列挙された CLAUDE.md を上から順にすべて読んで従うこと。 +Read `GEMINI.md` in this directory first, then read and follow every CLAUDE.md it lists, in order. diff --git a/CLAUDE.md b/CLAUDE.md index 010c2e2..f385a22 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,24 +1,28 @@ # CLAUDE.md — phpfpm Helm Chart +> **共通ルール(要約)** — 詳細は `P:\Claude\CLAUDE.md`(全体共通)と `P:\Claude\HelmChart\CLAUDE.md`(Helm チャート共通: リリースフロー・ワークフロー・Gitea Secrets・クラスタ構成)を参照。 +> 作業前に pull / 機能変更時は README 更新 / 作業単位ごとに commit → push まで / コミットに AI クレジットを付けない / pull で入った変更を revert しない / Helm・PHP はローカル実行不可(Python のみ可)。 + ## リポジトリ概要 Raspberry Pi などのベアメタルで稼働することを想定した、Kubernetes 上で動作する Nginx + PHP-FPM の Helm チャート。 +Websites 組織の各サイト(e-learn.jp / fcdomain.com / hotels / tskholding.com など)はこのチャートでデプロイされる。 - **Gitea リポジトリ**: `ssh://git@192.168.9.65/helmchart/phpfpm` - **Helm リポジトリ**: `https://git.cafepieters.com/api/packages/helmchart/helm` +- **主アプリ**: PHP(`docker.io/php:-fpm-alpine`)。サブアプリ: nginx ## 実行環境について **PHP の実行環境(インタープリタ)はこのリポジトリには含まれていない。** チャートは `docker.io/php:-fpm-alpine` の公式イメージを Kubernetes 上で起動するものであり、PHP コードそのものは PVC(`/var/www/html`)に別途配置する必要がある。 -## Git コミット情報 +## 設計上の注意(既知の落とし穴) -| 項目 | 値 | -|------|-----| -| 名前 | Claude | -| メール | claude@cafepieters.com | -| SSH キー | `P:\Claude\.ssh\id_claude` | +- `templates/configmap.yaml` が実際に使われている nginx 設定。`templates/configmap-nginx.yaml` は `.Values.nginx.enabled` が values.yaml に存在せず常に未出力の**死んだファイル**なので注意。 +- PVC はルートを `/var/www` にマウントする(`html/` が公開フォルダ、それ以外は非公開)。`/composer` は Pod 再起動ごとにクリーン再構築される使い捨て領域。 +- `uploadMaxSize` 1箇所で nginx `client_max_body_size`・PHP `upload_max_filesize`/`post_max_size`・Ingress `proxy-body-size` の3箇所が連動する。 +- Secret / ConfigMap をファイルとして PHP-FPM ワーカー(`www-data`)から読ませる場合、権限は `0644` にする(`0600` だと読めない)。 ## チャート改修履歴 @@ -36,7 +40,7 @@ nginxの `client_max_body_size` とPHPの `upload_max_filesize`/`post_max_size` ### sitemap.xml のContent-Type明示(2026-08-06, v8.5.9-a) -`templates/configmap.yaml`(実際に使われているnginx設定。`templates/configmap-nginx.yaml` は `.Values.nginx.enabled` が values.yaml に存在せず常に未出力の死んだファイルなので注意)に `location = /sitemap.xml { types { } default_type "application/xml; charset=utf-8"; ... }` を追加。標準mime.typesでは `.xml` が `text/xml` 扱いでcharset無しになる問題への対応。静的ファイルの場合のみ有効、PHP動的生成には効かない(PHP側でheader()指定が必要)。設定不要・常時有効。 +`templates/configmap.yaml` に `location = /sitemap.xml { types { } default_type "application/xml; charset=utf-8"; ... }` を追加。標準mime.typesでは `.xml` が `text/xml` 扱いでcharset無しになる問題への対応。静的ファイルの場合のみ有効、PHP動的生成には効かない(PHP側でheader()指定が必要)。設定不要・常時有効。 **対象ファイル**: `templates/configmap.yaml`, `README.md`, `Chart.yaml`, `CHANGELOG-8.5.9-a.md` diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..0e51d7e --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,24 @@ +# GEMINI.md — Antigravity (Gemini) 用エントリポイント(HelmChart\phpfpm) + +このディレクトリのルールはすべて **`CLAUDE.md`** に記載されている。本ファイルにはルール本文を書かず、読むべき CLAUDE.md への参照だけを置く(正本は常に CLAUDE.md)。 + +## 必ず最初に実行すること + +以下のファイルを**上から順に**読み込み、すべての指示に従うこと。上位ほど広い範囲に適用される共通ルールで、下位は上位を前提とした補足・例外である。 + +1. `P:\Claude\CLAUDE.md` — 全組織共通ルール(Git 運用・コミット書式・実行環境・情報記載の原則) +2. `P:\Claude\HelmChart\CLAUDE.md` — HelmChart 組織共通ルール +3. `P:\Claude\HelmChart\phpfpm\CLAUDE.md` — phpfpm リポジトリ固有ルール(このディレクトリ) + +> Antigravity はワークスペース(または git ルート)直下のルールしか自動で読まず、親フォルダを遡らない。そのため上位階層のパスをここに明示している。`P:\Claude` はクラウド同期されており、デスクトップ・ノート PC とも同じパスで存在する。 + +## 読み替え + +- CLAUDE.md 中の「Claude」「Claude Code」は、Antigravity で作業する場合は Gemini 自身のことと読み替える。 +- Git のコミット者は Antigravity でも `user.name = Claude` / `user.email = claude@cafepieters.com` のまま使う(変更しない)。コミットメッセージに AI クレジットを付けない。 +- Claude Code 固有の機能(`.claude/` 設定、スキル、メモリ等)に関する記述は無視してよい。 + +## 保守ルール + +- ルールの追加・変更は **CLAUDE.md にのみ**行う。本ファイルと `.agents/rules/claude-md.md` は参照だけを保持し、内容を増やさない。 +- CLAUDE.md を新しいディレクトリに追加したときは、同じ形式の `GEMINI.md` と `.agents/rules/claude-md.md` も併置する。