docs: CLAUDE.md を階層化した共通ルールに合わせて整理し、GEMINI.md と .agents/rules(Antigravity 用参照)を追加

This commit is contained in:
2026-09-04 13:24:48 +09:00
parent 257699fbff
commit 6988ecefab
3 changed files with 38 additions and 36 deletions
+7
View File
@@ -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.
+7 -36
View File
@@ -1,5 +1,8 @@
# CLAUDE.md — secret-manager Helm Chart # CLAUDE.md — secret-manager Helm Chart
> **共通ルール(要約)** — 詳細は `P:\Claude\CLAUDE.md`(全体共通)と `P:\Claude\HelmChart\CLAUDE.md`(Helm チャート共通: リリースフロー・ワークフロー・Gitea Secrets)を参照。
> 作業前に pull / 機能変更時は README 更新 / 作業単位ごとに commit → push まで / コミットに AI クレジットを付けない / pull で入った変更を revert しない / Helm はローカル実行不可(Python のみ可)。
## リポジトリ概要 ## リポジトリ概要
クラスター内の複数プロジェクトで横断的に使う「認証情報」を 1 つの Helm チャートで クラスター内の複数プロジェクトで横断的に使う「認証情報」を 1 つの Helm チャートで
@@ -12,25 +15,14 @@
- **Gitea リポジトリ**: `ssh://git@192.168.9.65/helmchart/secret-manager` - **Gitea リポジトリ**: `ssh://git@192.168.9.65/helmchart/secret-manager`
- **Helm リポジトリ**: `https://git.cafepieters.com/api/packages/helmchart/helm` - **Helm リポジトリ**: `https://git.cafepieters.com/api/packages/helmchart/helm`
## 作業ルール(必読) ## バージョン方針(組織ルールの例外)
1. **機能を追加・変更したら、必ず `README.md` を更新してから作業完了とする。**
- 追加・変更した機能・パラメータ・挙動を README.md に反映する。
2. **変更は必ず Git Commit / Push すること。**
- 作業単位ごとにコミットし、`origin(main)` へ push するまでが作業完了。
3. **コミットメッセージに Claude クレジット(`Co-Authored-By` 等)を追記することは禁止。**
- `user.name = Claude` でコミットされるため、ユーザー名で判別可能。
4. `git pull` で取り込まれた変更は常に尊重する。revert して push することは禁止。
不適切に見える場合はユーザーに改善提案を提示し、承認を得てから対応する。
## バージョン方針
- このチャートには「主アプリ」となる外部プロダクトが存在しない(チャート自身がアプリ)。 - このチャートには「主アプリ」となる外部プロダクトが存在しない(チャート自身がアプリ)。
そのため `Chart.yaml` の `version` / `appVersion` は **チャート独自に SemVer で採番**する。 そのため `Chart.yaml` の `version` / `appVersion` は **チャート独自に SemVer で採番**する。
(他チャートの「主アプリのバージョンと同一」ルールは適用対象外) (組織ルール「主アプリのバージョンと同一」は適用対象外)
- 破壊的変更 = メジャー、機能追加 = マイナー、修正 = パッチ。 - 破壊的変更 = メジャー、機能追加 = マイナー、修正 = パッチ。
## リリースフロー ## リリースフロー(組織ルールとの差分)
新バージョンを出す手順は「`Chart.yaml` の `version` / `appVersion` を上げて `main` に push」だけ。 新バージョンを出す手順は「`Chart.yaml` の `version` / `appVersion` を上げて `main` に push」だけ。
以降は CI が処理する。 以降は CI が処理する。
@@ -55,28 +47,6 @@
### 手動リリース(臨時) ### 手動リリース(臨時)
- 改修作業で臨時リリースが必要なら `version` 末尾にアルファベットを付与(例: `0.2.0` → `0.2.0-a`)。 - 改修作業で臨時リリースが必要なら `version` 末尾にアルファベットを付与(例: `0.2.0` → `0.2.0-a`)。
## 必要な Gitea Secrets
| シークレット名 | 用途 |
|---|---|
| `GITEA_TOKEN` | Gitea API(リリース作成・タグ操作) |
| `REGISTRY_USER` | Gitea Package Registry ユーザー名 |
| `REGISTRY_TOKEN` | Gitea Package Registry トークン |
## Git Configuration (local)
| 項目 | 値 |
|---|---|
| user.name | Claude |
| user.email | claude@cafepieters.com |
| core.sshCommand | `ssh -i P:/Claude/.ssh/id_claude -o StrictHostKeyChecking=no` |
## 実行環境
- **Helm はローカル未インストール**。テンプレートのレンダリング確認は CI(`helm lint`)に依存する。
ローカルでは YAML 構文・Go テンプレート構文を目視で慎重に確認すること。
- OS: Windows 11 Pro
## アーキテクチャ要点 ## アーキテクチャ要点
- `templates/_helpers.tpl` の `secret-manager.secret` が中核。 - `templates/_helpers.tpl` の `secret-manager.secret` が中核。
@@ -88,6 +58,7 @@
- Helm はリリースマニフェストに含まれる別ネームスペースの Secret も追跡するため、 - Helm はリリースマニフェストに含まれる別ネームスペースの Secret も追跡するため、
`namespaces` からネームスペースを外して `helm upgrade` するとそのコピーは削除される。 `namespaces` からネームスペースを外して `helm upgrade` するとそのコピーは削除される。
- 資格情報は `stringData` で書き込む(テンプレート側で全値を文字列へ強制)。 - 資格情報は `stringData` で書き込む(テンプレート側で全値を文字列へ強制)。
- 平文の資格情報を含む values(`secrets.values.yaml` 等)は `.gitignore` 済み。絶対にコミットしない。
## チャート改修履歴 ## チャート改修履歴
+24
View File
@@ -0,0 +1,24 @@
# GEMINI.md — Antigravity (Gemini) 用エントリポイント(HelmChart\secret-manager)
このディレクトリのルールはすべて **`CLAUDE.md`** に記載されている。本ファイルにはルール本文を書かず、読むべき CLAUDE.md への参照だけを置く(正本は常に CLAUDE.md)。
## 必ず最初に実行すること
以下のファイルを**上から順に**読み込み、すべての指示に従うこと。上位ほど広い範囲に適用される共通ルールで、下位は上位を前提とした補足・例外である。
1. `P:\Claude\CLAUDE.md` — 全組織共通ルール(Git 運用・コミット書式・実行環境・情報記載の原則)
2. `P:\Claude\HelmChart\CLAUDE.md` — HelmChart 組織共通ルール
3. `P:\Claude\HelmChart\secret-manager\CLAUDE.md` — secret-manager リポジトリ固有ルール(このディレクトリ)
> 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` も併置する。