fix: community-reported issues — pyproject URLs, dashboard Tkinter error, 1.x→2.0 migration guide, cyber-safeguards docs (#2481)

* fix: repo URLs in pyproject, graceful dashboard tkinter error, 1.x->2.0 migration guide, cyber-safeguards troubleshooting

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix: catch ImportError for broken tkinter installs and update About panel repo URL

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Affaan Mustafa
2026-07-09 03:53:51 -04:00
committed by GitHub
co-authored by Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent f6e18e0835
commit 40927950c4
4 changed files with 97 additions and 5 deletions
+52
View File
@@ -0,0 +1,52 @@
# Migrating From ECC 1.x (everything-claude-code) To 2.0
ECC 2.0 renamed the repo (`affaan-m/everything-claude-code``affaan-m/ECC`) and the plugin identifier (`everything-claude-code@everything-claude-code``ecc@ecc`). If you installed 1.x, follow this guide to upgrade cleanly. See also the [Naming + Migration Note](../README.md#naming--migration-note) in the README.
## TL;DR
```bash
# 1. Install 2.0
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc
# 2. Remove the old plugin
/plugin uninstall everything-claude-code@everything-claude-code
```
Then remove any leftover 1.x folders (see below) and restart the session.
## "I now see two ECC plugins"
Expected. `ecc@ecc` and `everything-claude-code@everything-claude-code` are treated as separate plugins by Claude Code. Uninstall the old one; keep only `ecc@ecc`. Running both duplicates skills, commands, and hook executions.
## Leftover folders after uninstalling 1.x
`/plugin uninstall` removes the plugin from the active list, but can leave the old directory in the Claude plugin cache and any manual copies in your home directory.
Safe to delete after the old plugin no longer appears in `/plugin` list:
- The old plugin folder under the Claude plugins directory (e.g. `~/.claude/plugins/...everything-claude-code...`)
- A 1.x manual install in your home folder (a cloned `everything-claude-code/` directory), **if** you are not using it as a working checkout
- Old manually-copied surfaces under `~/.claude/` (`skills/`, `commands/`, `agents/` entries that came from 1.x) — the 2.0 plugin provides current versions
Do NOT delete `~/.claude/rules/` content you copied intentionally, or personal memory/state files.
## Does removing 1.x affect my existing projects?
No. ECC is a harness layer: skills, commands, agents, hooks. It does not alter your project code or git history. Everything ECC produced in your repos (commits, files, PRs) is untouched. Your next session simply loads 2.0 surfaces instead of 1.x ones. Slash-command namespaces changed from `everything-claude-code:*` to `ecc:*`.
## One install path only
Do not stack the plugin install with the manual installer (`install.sh` / `install.ps1` / `npx ecc-install --profile full`). Pick one path; stacking creates duplicate skills and duplicate hook runs. If you already stacked, see [Reset / Uninstall ECC](../README.md#reset--uninstall-ecc).
## Using 2.0 across harnesses (Codex, Antigravity/agy, OpenCode, Cursor)
2.0 is cross-harness. Use the manual installer with a target:
```bash
npx ecc-install --profile core --target codex # Codex CLI
npx ecc-install --profile core --target opencode # OpenCode
npx ecc-install --profile core --target cursor # Cursor
```
Run `npx ecc consult "<what you need>" --target <harness>` to preview which components fit before installing. Harness-specific guides: [ANTIGRAVITY-GUIDE.md](./ANTIGRAVITY-GUIDE.md), [HERMES-SETUP.md](./HERMES-SETUP.md), [QWEN-GUIDE.md](./QWEN-GUIDE.md), [JOYCODE-GUIDE.md](./JOYCODE-GUIDE.md).
+25
View File
@@ -67,6 +67,31 @@ exit 2
- Disable unused MCP servers per project.
- Compact manually at natural breakpoints instead of waiting for auto-compaction.
## ECC Dashboard Does Not Start
**Symptoms:** `npm run dashboard` or `python3 ecc_dashboard.py` fails, often with `ModuleNotFoundError: No module named 'tkinter'`.
**What helps:**
- The GUI dashboard needs Tkinter, which many Python installs omit:
- Debian/Ubuntu: `sudo apt-get install python3-tk`
- Fedora: `sudo dnf install python3-tkinter`
- macOS (Homebrew): `brew install python-tk`
- Windows: re-run the python.org installer and enable "tcl/tk and IDLE"
- Or use the browser dashboard, which only needs Node: `npm run dashboard:web`, then open the printed localhost URL.
- Both commands must be run from a full clone of the ECC repo (`git clone https://github.com/affaan-m/ECC`), not from inside the Claude Code plugin directory — plugin installs do not ship `package.json` scripts.
## Anthropic Cyber Safeguards Block Security Audits Of Your Own Code
**Symptoms:** Running security reviews/audits (e.g. `ecc:security-reviewer`) fails with an API error citing the Usage Policy and "cyber-related safeguards", even though you are auditing your own codebase.
**What helps:**
- This is an upstream Anthropic model-level safeguard, not GateGuard and not an ECC block. No ECC configuration can bypass it.
- Apply to Anthropic's [Cyber Verification Program](https://claude.com/form/cyber-use-case) — the error message includes a tokenized link for your account. Approved accounts get legitimate security workflows unblocked.
- Until approved, structure prompts defensively: state up front that you own the code and the goal is remediation ("review this module I own for vulnerabilities and propose fixes"), keep scope to one module at a time, and avoid exploit-generation phrasing ("write a PoC", "craft a payload").
- Prefer remediation-oriented skills (`security-review`, `security-scan`) over offensive framing, and run static tooling (semgrep, bandit, `npm audit`) yourself, then ask the model to interpret results.
## Related ECC Docs
- [hook-bug-workarounds.md](./hook-bug-workarounds.md) for the shorter hook/compaction/MCP recovery checklist.
+18 -3
View File
@@ -4,8 +4,23 @@ ECC Dashboard - Everything Claude Code GUI
Cross-platform TkInter application for managing ECC components
"""
import tkinter as tk
from tkinter import ttk, scrolledtext, messagebox
import sys
try:
import tkinter as tk
from tkinter import ttk, scrolledtext, messagebox
except ImportError:
sys.stderr.write(
"ECC Dashboard requires Tkinter, which is missing from this Python install.\n"
"Install it, then re-run `npm run dashboard`:\n"
" Debian/Ubuntu: sudo apt-get install python3-tk\n"
" Fedora: sudo dnf install python3-tkinter\n"
" macOS (brew): brew install python-tk\n"
" Windows: re-run the python.org installer and enable 'tcl/tk and IDLE'\n"
"Alternatively, use the browser dashboard (no Tkinter needed): npm run dashboard:web\n"
)
sys.exit(1)
import os
import json
from pathlib import Path
@@ -796,7 +811,7 @@ A cross-platform desktop application for
managing and exploring ECC components.
Version: 1.10.0
Project: github.com/affaan-m/everything-claude-code"""
Project: github.com/affaan-m/ECC"""
ttk.Label(about_frame, text=about_text, justify=tk.LEFT).pack(anchor=tk.W)
+2 -2
View File
@@ -35,8 +35,8 @@ dev = [
]
[project.urls]
Homepage = "https://github.com/affaan-m/everything-claude-code"
Repository = "https://github.com/affaan-m/everything-claude-code"
Homepage = "https://github.com/affaan-m/ECC"
Repository = "https://github.com/affaan-m/ECC"
[project.scripts]
llm-select = "llm.cli.selector:main"