docs: CLAUDE.md を階層化した共通ルールに合わせて整理し、GEMINI.md と .agents/rules(Antigravity 用参照)を追加
Helm Chart Release / release-chart (push) Successful in 4s

This commit is contained in:
2026-09-04 13:23:58 +09:00
parent 1bd0fec23a
commit 4913ceace7
3 changed files with 42 additions and 37 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.
+11 -37
View File
@@ -1,5 +1,8 @@
# CLAUDE.md — claude-code Helm Chart # CLAUDE.md — claude-code Helm Chart
> **共通ルール(要約)** — 詳細は `P:\Claude\CLAUDE.md`(全体共通)と `P:\Claude\HelmChart\CLAUDE.md`(Helm チャート共通: リリースフロー・ワークフロー・Gitea Secrets)を参照。
> 作業前に pull / 機能変更時は README 更新 / 作業単位ごとに commit → push まで / コミットに AI クレジットを付けない / pull で入った変更を revert しない / Helm はローカル実行不可(Python のみ可)。
## リポジトリ概要 ## リポジトリ概要
Alpine Linux ベースの軽量コンテナで **Claude Code をリモート実行** するための Helm チャート。 Alpine Linux ベースの軽量コンテナで **Claude Code をリモート実行** するための Helm チャート。
@@ -11,6 +14,8 @@ Git リポジトリ(GitHub / Gitea など互換 Git 全般)をチェック
- **Helm リポジトリ**: `https://git.cafepieters.com/api/packages/helmchart/helm` - **Helm リポジトリ**: `https://git.cafepieters.com/api/packages/helmchart/helm`
- **セッションイメージ**: `git.cafepieters.com/helmchart/claude-code/session:<appVersion>`(CI で publish) - **セッションイメージ**: `git.cafepieters.com/helmchart/claude-code/session:<appVersion>`(CI で publish)
> **注意**: セッション Pod は Gitea からリポジトリ単体を clone するため、`P:\Claude` の上位階層 CLAUDE.md は届かない。各リポジトリの CLAUDE.md 先頭に「共通ルール(要約)」を置く理由はこれ。
## アーキテクチャ(要点) ## アーキテクチャ(要点)
| コンポーネント | 実体 | 役割 | | コンポーネント | 実体 | 役割 |
@@ -28,37 +33,16 @@ Git リポジトリ(GitHub / Gitea など互換 Git 全般)をチェック
- ファイル実体は `files/`(`.Files.Get` で ConfigMap 化): `manager.py` / `session-entrypoint.sh` - ファイル実体は `files/`(`.Files.Get` で ConfigMap 化): `manager.py` / `session-entrypoint.sh`
/ `gateway.conf.template` / `gateway-entrypoint.sh` / `Dockerfile.session`。 / `gateway.conf.template` / `gateway-entrypoint.sh` / `Dockerfile.session`。
## 実行環境について ## README 更新時の追加事項
**Helm はこのマシンにインストールされていない。** ローカルで `helm lint` / `template` は実行できない。 - values の新設キー、挙動変更、セキュリティ影響は README の該当セクションと values リファレンス表へ反映する。
テンプレートの検証はステージングのクラスタか CI(`helm-release.yaml` の lint ステップ)で行う。 - 手動リリース(`-a` 等)時は対応する `CHANGELOG-<version>.md` を追加し、README の「バージョン履歴」にも 1 行追加する(このリポジトリの慣行)。
## Git 運用ルール(このリポジトリで厳守) ## リリースフロー(組織ルールとの差分)
1. **機能を追加・変更したら、必ず `README.md` を更新してから作業完了とする。**
- values の新設キー、挙動変更、セキュリティ影響は README の該当セクションと
values リファレンス表へ反映する。
2. **変更は必ず Git Commit / Push する。**
- 作業単位ごとにコミットし、`origin/main` へ push するまでが作業完了。
3. **コミットメッセージに Claude クレジット(`Co-Authored-By` 等)を付けない。**
- `user.name = Claude` でコミットされるため、ユーザー名で判別可能。
4. `git pull` で取り込んだ変更は常に尊重する。revert して push することは禁止。
不適切と思われる場合はユーザーに改善提案を提示し、承認を得てから対応する。
### Git Commit 情報
| 項目 | 値 |
|------|-----|
| user.name | `Claude` |
| user.email | `claude@cafepieters.com` |
| SSH キー | `P:/Claude/.ssh/id_claude` |
| core.sshCommand | `ssh -i P:/Claude/.ssh/id_claude -F P:/Claude/.ssh/config -o StrictHostKeyChecking=no` |
## リリースフロー
- **バージョン番号**: `Chart.yaml` の `version` / `appVersion` は - **バージョン番号**: `Chart.yaml` の `version` / `appVersion` は
**主アプリ = Claude Code CLI(`@anthropic-ai/claude-code` の npm 最新版)と同一**にする。 **主アプリ = Claude Code CLI(`@anthropic-ai/claude-code` の npm 最新版)と同一**にする。
- **ワークフロー(3 本、他 Helm チャートプロジェクトと同じ思想)** - **ワークフロー(3 本)**
- `helm-release.yaml` — `main` への push で発火。`helm lint` の後、`Chart.yaml` の version が - `helm-release.yaml` — `main` への push で発火。`helm lint` の後、`Chart.yaml` の version が
未リリース(Gitea リリース・Package Registry 双方に存在しない)なら タグ + Gitea リリース + 未リリース(Gitea リリース・Package Registry 双方に存在しない)なら タグ + Gitea リリース +
チャート publish。リリース済みなら lint のみで終了(再 publish しない)。 チャート publish。リリース済みなら lint のみで終了(再 publish しない)。
@@ -69,17 +53,7 @@ Git リポジトリ(GitHub / Gitea など互換 Git 全般)をチェック
- `session-image.yaml` — `files/Dockerfile.session` 等の変更、または上記による `Chart.yaml` - `session-image.yaml` — `files/Dockerfile.session` 等の変更、または上記による `Chart.yaml`
更新で発火。セッションイメージを `linux/amd64,linux/arm64` でビルドして 更新で発火。セッションイメージを `linux/amd64,linux/arm64` でビルドして
Gitea Container Registry(`helmchart/claude-code/session:<appVersion>` + `latest`)へ push。 Gitea Container Registry(`helmchart/claude-code/session:<appVersion>` + `latest`)へ push。
- **手動リリース(臨時)**: 改修作業などで必要な場合はバージョン末尾にアルファベットを付与する - **手動リリース(臨時)**: 例 `2.1.259` → `2.1.259-a` → `2.1.259-b`。
(例 `2.1.259` → `2.1.259-a` → `2.1.259-b`)。対応する `CHANGELOG-<version>.md` を追加し、
README の「バージョン履歴」にも 1 行追加する。
## 必要な Gitea Secrets
| シークレット名 | 用途 |
|---|---|
| `GITEA_TOKEN` | Gitea API(リリース作成・タグ操作) |
| `REGISTRY_USER` | Gitea Package / Container Registry ユーザー名 |
| `REGISTRY_TOKEN` | Gitea Package / Container Registry トークン(`docker login` にも使用) |
## 改修履歴 ## 改修履歴
+24
View File
@@ -0,0 +1,24 @@
# GEMINI.md — Antigravity (Gemini) 用エントリポイント(HelmChart\claude-code)
このディレクトリのルールはすべて **`CLAUDE.md`** に記載されている。本ファイルにはルール本文を書かず、読むべき CLAUDE.md への参照だけを置く(正本は常に CLAUDE.md)。
## 必ず最初に実行すること
以下のファイルを**上から順に**読み込み、すべての指示に従うこと。上位ほど広い範囲に適用される共通ルールで、下位は上位を前提とした補足・例外である。
1. `P:\Claude\CLAUDE.md` — 全組織共通ルール(Git 運用・コミット書式・実行環境・情報記載の原則)
2. `P:\Claude\HelmChart\CLAUDE.md` — HelmChart 組織共通ルール
3. `P:\Claude\HelmChart\claude-code\CLAUDE.md` — claude-code リポジトリ固有ルール(このディレクトリ)
> 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` も併置する。