docs: fix cp -r flatten install instructions that silently overwrite rules

The configure-ecc skill (English source) and ja-JP top-level README plus
its configure-ecc translation documented `cp -r .../<lang>/* <target>/rules/`
for installing rule directories. rules/README.md explicitly warns against
this form because:

- Common and language-specific directories contain same-named files
  (coding-style.md, testing.md, patterns.md, hooks.md, security.md).
  Flattening makes each language overwrite the previous and common.
- The relative `../common/<file>.md` references in language rule files
  break when common/ is no longer a sibling directory.

This is silent — the user gets only the last language's rules with no
error message.

Replace with the directory-form copy already documented in
rules/README.md:

    cp -r .../<lang> <target>/rules/<lang>

Scope: English source + ja-JP. Closes #1879. Other locale translations
(zh-CN, ko-KR, pt-BR, tr) carry the same pattern and can follow up as
separate PRs to keep this change reviewable.
This commit is contained in:
zomia
2026-05-14 08:40:36 +09:00
parent 20f00c1410
commit 4d3033eb64
3 changed files with 26 additions and 26 deletions
+14 -14
View File
@@ -122,12 +122,12 @@
git clone https://github.com/affaan-m/everything-claude-code.git git clone https://github.com/affaan-m/everything-claude-code.git
# 共通ルールをインストール(必須) # 共通ルールをインストール(必須)
cp -r everything-claude-code/rules/common/* ~/.claude/rules/ cp -r everything-claude-code/rules/common ~/.claude/rules/common
# 言語固有ルールをインストール(スタックを選択) # 言語固有ルールをインストール(スタックを選択)
cp -r everything-claude-code/rules/typescript/* ~/.claude/rules/ cp -r everything-claude-code/rules/typescript ~/.claude/rules/typescript
cp -r everything-claude-code/rules/python/* ~/.claude/rules/ cp -r everything-claude-code/rules/python ~/.claude/rules/python
cp -r everything-claude-code/rules/golang/* ~/.claude/rules/ cp -r everything-claude-code/rules/golang ~/.claude/rules/golang
``` ```
### ステップ3:使用開始 ### ステップ3:使用開始
@@ -462,15 +462,15 @@ Duplicate hook file detected: ./hooks/hooks.json is already resolved to a loaded
> >
> # オプション A:ユーザーレベルルール(すべてのプロジェクトに適用) > # オプション A:ユーザーレベルルール(すべてのプロジェクトに適用)
> mkdir -p ~/.claude/rules > mkdir -p ~/.claude/rules
> cp -r everything-claude-code/rules/common/* ~/.claude/rules/ > cp -r everything-claude-code/rules/common ~/.claude/rules/common
> cp -r everything-claude-code/rules/typescript/* ~/.claude/rules/ # スタックを選択 > cp -r everything-claude-code/rules/typescript ~/.claude/rules/typescript # スタックを選択
> cp -r everything-claude-code/rules/python/* ~/.claude/rules/ > cp -r everything-claude-code/rules/python ~/.claude/rules/python
> cp -r everything-claude-code/rules/golang/* ~/.claude/rules/ > cp -r everything-claude-code/rules/golang ~/.claude/rules/golang
> >
> # オプション B:プロジェクトレベルルール(現在のプロジェクトのみ) > # オプション B:プロジェクトレベルルール(現在のプロジェクトのみ)
> mkdir -p .claude/rules > mkdir -p .claude/rules
> cp -r everything-claude-code/rules/common/* .claude/rules/ > cp -r everything-claude-code/rules/common .claude/rules/common
> cp -r everything-claude-code/rules/typescript/* .claude/rules/ # スタックを選択 > cp -r everything-claude-code/rules/typescript .claude/rules/typescript # スタックを選択
> ``` > ```
--- ---
@@ -487,10 +487,10 @@ git clone https://github.com/affaan-m/everything-claude-code.git
cp everything-claude-code/agents/*.md ~/.claude/agents/ cp everything-claude-code/agents/*.md ~/.claude/agents/
# ルール(共通 + 言語固有)をコピー # ルール(共通 + 言語固有)をコピー
cp -r everything-claude-code/rules/common/* ~/.claude/rules/ cp -r everything-claude-code/rules/common ~/.claude/rules/common
cp -r everything-claude-code/rules/typescript/* ~/.claude/rules/ # スタックを選択 cp -r everything-claude-code/rules/typescript ~/.claude/rules/typescript # スタックを選択
cp -r everything-claude-code/rules/python/* ~/.claude/rules/ cp -r everything-claude-code/rules/python ~/.claude/rules/python
cp -r everything-claude-code/rules/golang/* ~/.claude/rules/ cp -r everything-claude-code/rules/golang ~/.claude/rules/golang
# コマンドをコピー # コマンドをコピー
cp everything-claude-code/commands/*.md ~/.claude/commands/ cp everything-claude-code/commands/*.md ~/.claude/commands/
+6 -6
View File
@@ -169,13 +169,13 @@ Options:
インストールを実行: インストールを実行:
```bash ```bash
# 共通ルールrules/ にフラットコピー) # 共通ルール
cp -r $ECC_ROOT/rules/common/* $TARGET/rules/ cp -r $ECC_ROOT/rules/common $TARGET/rules/common
# 言語固有のルール(rules/ にフラットコピー # 言語固有のルール(言語別ディレクトリを保持
cp -r $ECC_ROOT/rules/typescript/* $TARGET/rules/ # 選択された場合 cp -r $ECC_ROOT/rules/typescript $TARGET/rules/typescript # 選択された場合
cp -r $ECC_ROOT/rules/python/* $TARGET/rules/ # 選択された場合 cp -r $ECC_ROOT/rules/python $TARGET/rules/python # 選択された場合
cp -r $ECC_ROOT/rules/golang/* $TARGET/rules/ # 選択された場合 cp -r $ECC_ROOT/rules/golang $TARGET/rules/golang # 選択された場合
``` ```
**重要**: ユーザーが言語固有のルールを選択したが、共通ルールを選択しなかった場合、警告します: **重要**: ユーザーが言語固有のルールを選択したが、共通ルールを選択しなかった場合、警告します:
+6 -6
View File
@@ -234,13 +234,13 @@ Options:
Execute installation: Execute installation:
```bash ```bash
# Common rules (flat copy into rules/) # Common rules
cp -r $ECC_ROOT/rules/common/* $TARGET/rules/ cp -r $ECC_ROOT/rules/common $TARGET/rules/common
# Language-specific rules (flat copy into rules/) # Language-specific rules (preserve per-language directories)
cp -r $ECC_ROOT/rules/typescript/* $TARGET/rules/ # if selected cp -r $ECC_ROOT/rules/typescript $TARGET/rules/typescript # if selected
cp -r $ECC_ROOT/rules/python/* $TARGET/rules/ # if selected cp -r $ECC_ROOT/rules/python $TARGET/rules/python # if selected
cp -r $ECC_ROOT/rules/golang/* $TARGET/rules/ # if selected cp -r $ECC_ROOT/rules/golang $TARGET/rules/golang # if selected
``` ```
**Important**: If the user selects any language-specific rules but NOT common rules, warn them: **Important**: If the user selects any language-specific rules but NOT common rules, warn them: