docs: CLAUDE.md を階層化した共通ルールに合わせて整理し、GEMINI.md と .agents/rules(Antigravity 用参照)を追加
Helm Chart Release / release-chart (push) Successful in 4s
Helm Chart Release / release-chart (push) Successful in 4s
This commit is contained in:
@@ -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.
|
||||||
@@ -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` にも使用) |
|
|
||||||
|
|
||||||
## 改修履歴
|
## 改修履歴
|
||||||
|
|
||||||
|
|||||||
@@ -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` も併置する。
|
||||||
Reference in New Issue
Block a user