mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-26 20:13:30 +08:00
Compare commits
1 Commits
fix/instal
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71f282d010 |
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Node.js ${{ matrix.node }}
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
|
||||
@@ -176,7 +176,7 @@ jobs:
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
|
||||
@@ -229,7 +229,7 @@ jobs:
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
|
||||
@@ -247,7 +247,7 @@ jobs:
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
|
||||
|
||||
4
.github/workflows/maintenance.yml
vendored
4
.github/workflows/maintenance.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
- name: Check for outdated packages
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
- name: Run security audit
|
||||
|
||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
2
.github/workflows/reusable-release.yml
vendored
2
.github/workflows/reusable-release.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
2
.github/workflows/reusable-test.yml
vendored
2
.github/workflows/reusable-test.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
|
||||
|
||||
2
.github/workflows/reusable-validate.yml
vendored
2
.github/workflows/reusable-validate.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
|
||||
|
||||
69
README.md
69
README.md
@@ -167,17 +167,7 @@ See the full changelog in [Releases](https://github.com/affaan-m/everything-clau
|
||||
|
||||
Get up and running in under 2 minutes:
|
||||
|
||||
### Pick one path only
|
||||
|
||||
Most Claude Code users should use exactly one install path:
|
||||
|
||||
- **Recommended default:** install the Claude Code plugin, then copy only the rule folders you actually want.
|
||||
- **Use the manual installer only if** you want finer-grained control, want to avoid the plugin path entirely, or your Claude Code build has trouble resolving the self-hosted marketplace entry.
|
||||
- **Do not stack install methods.** The most common broken setup is: `/plugin install` first, then `install.sh --profile full` or `npx ecc-install --profile full` afterward.
|
||||
|
||||
If you already layered multiple installs and things look duplicated, skip straight to [Reset / Uninstall ECC](#reset--uninstall-ecc).
|
||||
|
||||
### Step 1: Install the Plugin (Recommended)
|
||||
### Step 1: Install the Plugin
|
||||
|
||||
> NOTE: The plugin is convenient, but the OSS installer below is still the most reliable path if your Claude Code build has trouble resolving self-hosted marketplace entries.
|
||||
|
||||
@@ -205,11 +195,9 @@ This is intentional. Anthropic marketplace/plugin installs are keyed by a canoni
|
||||
>
|
||||
> If you already installed ECC via `/plugin install`, **do not run `./install.sh --profile full`, `.\install.ps1 --profile full`, or `npx ecc-install --profile full` afterward**. The plugin already loads ECC skills, commands, and hooks. Running the full installer after a plugin install copies those same surfaces into your user directories and can create duplicate skills plus duplicate runtime behavior.
|
||||
>
|
||||
> For plugin installs, manually copy only the `rules/` directories you want. Start with `rules/common` plus one language or framework pack you actually use. Do not copy every rules directory unless you explicitly want all of that context in Claude.
|
||||
> For plugin installs, manually copy only the `rules/` directories you want. Use the full installer only when you are doing a fully manual ECC install instead of the plugin path.
|
||||
>
|
||||
> Use the full installer only when you are doing a fully manual ECC install instead of the plugin path.
|
||||
>
|
||||
> If your local Claude setup was wiped or reset, that does not mean you need to repurchase ECC. Start with `node scripts/ecc.js list-installed`, then run `node scripts/ecc.js doctor` and `node scripts/ecc.js repair` before reinstalling anything. That usually restores ECC-managed files without rebuilding your setup. If the problem is account or marketplace access for ECC Tools, handle billing/account recovery separately.
|
||||
> If your local Claude setup was wiped or reset, that does not mean you need to repurchase ECC. Start with `ecc list-installed`, then run `ecc doctor` and `ecc repair` before reinstalling anything. That usually restores ECC-managed files without rebuilding your setup. If the problem is account or marketplace access for ECC Tools, handle billing/account recovery separately.
|
||||
|
||||
```bash
|
||||
# Clone the repo first
|
||||
@@ -243,57 +231,6 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
|
||||
|
||||
For manual install instructions see the README in the `rules/` folder. When copying rules manually, copy the whole language directory (for example `rules/common` or `rules/golang`), not the files inside it, so relative references keep working and filenames do not collide.
|
||||
|
||||
### Fully manual install (Fallback)
|
||||
|
||||
Use this only if you are intentionally skipping the plugin path:
|
||||
|
||||
```bash
|
||||
./install.sh --profile full
|
||||
```
|
||||
|
||||
```powershell
|
||||
.\install.ps1 --profile full
|
||||
# or
|
||||
npx ecc-install --profile full
|
||||
```
|
||||
|
||||
If you choose this path, stop there. Do not also run `/plugin install`.
|
||||
|
||||
### Reset / Uninstall ECC
|
||||
|
||||
If ECC feels duplicated, intrusive, or broken, do not keep reinstalling it on top of itself.
|
||||
|
||||
- **Plugin path:** remove the plugin from Claude Code, then delete the specific rule folders you manually copied under `~/.claude/rules/`.
|
||||
- **Manual installer / CLI path:** from the repo root, preview removal first:
|
||||
|
||||
```bash
|
||||
node scripts/uninstall.js --dry-run
|
||||
```
|
||||
|
||||
Then remove ECC-managed files:
|
||||
|
||||
```bash
|
||||
node scripts/uninstall.js
|
||||
```
|
||||
|
||||
You can also use the lifecycle wrapper:
|
||||
|
||||
```bash
|
||||
node scripts/ecc.js list-installed
|
||||
node scripts/ecc.js doctor
|
||||
node scripts/ecc.js repair
|
||||
node scripts/ecc.js uninstall --dry-run
|
||||
```
|
||||
|
||||
ECC only removes files recorded in its install-state. It will not delete unrelated files it did not install.
|
||||
|
||||
If you stacked methods, clean up in this order:
|
||||
|
||||
1. Remove the Claude Code plugin install.
|
||||
2. Run the ECC uninstall command from the repo root to remove install-state-managed files.
|
||||
3. Delete any extra rule folders you copied manually and no longer want.
|
||||
4. Reinstall once, using a single path.
|
||||
|
||||
### Step 3: Start Using
|
||||
|
||||
```bash
|
||||
|
||||
@@ -87,9 +87,9 @@ hook command が `"C:\Program Files\Git\bin\bash.exe" "C:\Users\...\wrapper.sh"`
|
||||
### 回避策
|
||||
|
||||
第1トークンを bash.exe のフルパス+スペース付きパスにしないこと:
|
||||
1. `OK:` `bash` (PATH 解決の単一トークン)— 夜fix / hooks.json パターン
|
||||
2. `OK:` `.sh` 直接パス(Claude Code の .sh ハンドリングに依存)— 朝fix
|
||||
3. `BAD:` `"C:\Program Files\Git\bin\bash.exe" "<path>"` — 1トークン目が quoted で空白込み
|
||||
1. ✅ `bash` (PATH 解決の単一トークン)— 夜fix / hooks.json パターン
|
||||
2. ✅ `.sh` 直接パス(Claude Code の .sh ハンドリングに依存)— 朝fix
|
||||
3. ❌ `"C:\Program Files\Git\bin\bash.exe" "<path>"` — 1トークン目が quoted で空白込み
|
||||
|
||||
## 結論
|
||||
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
/**
|
||||
* Regression coverage for install/uninstall clarity in README.md.
|
||||
*/
|
||||
|
||||
const assert = require('assert');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const README = path.join(__dirname, '..', '..', 'README.md');
|
||||
|
||||
function test(name, fn) {
|
||||
try {
|
||||
fn();
|
||||
console.log(` \u2713 ${name}`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.log(` \u2717 ${name}`);
|
||||
console.log(` Error: ${error.message}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function runTests() {
|
||||
console.log('\n=== Testing install README clarity ===\n');
|
||||
|
||||
let passed = 0;
|
||||
let failed = 0;
|
||||
|
||||
const readme = fs.readFileSync(README, 'utf8');
|
||||
|
||||
if (test('README marks one default path and warns against stacked installs', () => {
|
||||
assert.ok(
|
||||
readme.includes('### Pick one path only'),
|
||||
'README should surface a top-level install decision section'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('**Recommended default:** install the Claude Code plugin'),
|
||||
'README should name the recommended default install path'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('**Do not stack install methods.**'),
|
||||
'README should explicitly warn against stacking install methods'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('If you choose this path, stop there. Do not also run `/plugin install`.'),
|
||||
'README should tell manual-install users not to continue layering installs'
|
||||
);
|
||||
})) passed++; else failed++;
|
||||
|
||||
if (test('README documents reset and uninstall flow', () => {
|
||||
assert.ok(
|
||||
readme.includes('### Reset / Uninstall ECC'),
|
||||
'README should have a visible reset/uninstall section'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('node scripts/uninstall.js --dry-run'),
|
||||
'README should document dry-run uninstall'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('node scripts/ecc.js list-installed'),
|
||||
'README should document install-state inspection before reinstalling'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('node scripts/ecc.js doctor'),
|
||||
'README should document doctor before reinstalling'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('ECC only removes files recorded in its install-state.'),
|
||||
'README should explain uninstall safety boundaries'
|
||||
);
|
||||
})) passed++; else failed++;
|
||||
|
||||
if (test('README explains plugin-path cleanup and rules scoping', () => {
|
||||
assert.ok(
|
||||
readme.includes('remove the plugin from Claude Code'),
|
||||
'README should tell plugin users how to start cleanup'
|
||||
);
|
||||
assert.ok(
|
||||
readme.includes('Start with `rules/common` plus one language or framework pack you actually use.'),
|
||||
'README should steer users away from copying every rules directory'
|
||||
);
|
||||
})) passed++; else failed++;
|
||||
|
||||
console.log(`\nResults: Passed: ${passed}, Failed: ${failed}`);
|
||||
process.exit(failed > 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
runTests();
|
||||
Reference in New Issue
Block a user