From 2691cfc0f160baa028d531843d88f4fc6141a27a Mon Sep 17 00:00:00 2001 From: Affaan Mustafa Date: Tue, 14 Apr 2026 19:54:28 -0700 Subject: [PATCH] fix: restore dashboard branch ci baseline --- AGENTS.md | 6 +++--- README.md | 10 +++++----- README.zh-CN.md | 2 +- docs/zh-CN/AGENTS.md | 6 +++--- docs/zh-CN/README.md | 10 +++++----- scripts/hooks/gateguard-fact-force.js | 12 +++++++++++- 6 files changed, 28 insertions(+), 18 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index fd7b24cf..e25ea6e9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Everything Claude Code (ECC) — Agent Instructions -This is a **production-ready AI coding plugin** providing 47 specialized agents, 181 skills, 79 commands, and automated hook workflows for software development. +This is a **production-ready AI coding plugin** providing 48 specialized agents, 183 skills, 79 commands, and automated hook workflows for software development. **Version:** 1.10.0 @@ -145,8 +145,8 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat ## Project Structure ``` -agents/ — 47 specialized subagents -skills/ — 181 workflow skills and domain knowledge +agents/ — 48 specialized subagents +skills/ — 183 workflow skills and domain knowledge commands/ — 79 slash commands hooks/ — Trigger-based automations rules/ — Always-follow guidelines (common + per-language) diff --git a/README.md b/README.md index 28251aa2..02935022 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,7 @@ For manual install instructions see the README in the `rules/` folder. When copy /plugin list ecc@ecc ``` -**That's it!** You now have access to 47 agents, 181 skills, and 79 legacy command shims. +**That's it!** You now have access to 48 agents, 183 skills, and 79 legacy command shims. ### Dashboard GUI @@ -1205,9 +1205,9 @@ The configuration is automatically detected from `.opencode/opencode.json`. | Feature | Claude Code | OpenCode | Status | |---------|-------------|----------|--------| -| Agents | PASS: 47 agents | PASS: 12 agents | **Claude Code leads** | +| Agents | PASS: 48 agents | PASS: 12 agents | **Claude Code leads** | | Commands | PASS: 79 commands | PASS: 31 commands | **Claude Code leads** | -| Skills | PASS: 181 skills | PASS: 37 skills | **Claude Code leads** | +| Skills | PASS: 183 skills | PASS: 37 skills | **Claude Code leads** | | Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** | | Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** | | MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** | @@ -1314,9 +1314,9 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e | Feature | Claude Code | Cursor IDE | Codex CLI | OpenCode | |---------|------------|------------|-----------|----------| -| **Agents** | 47 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 | +| **Agents** | 48 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 | | **Commands** | 79 | Shared | Instruction-based | 31 | -| **Skills** | 181 | Shared | 10 (native format) | 37 | +| **Skills** | 183 | Shared | 10 (native format) | 37 | | **Hook Events** | 8 types | 15 types | None yet | 11 types | | **Hook Scripts** | 20+ scripts | 16 scripts (DRY adapter) | N/A | Plugin hooks | | **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions | diff --git a/README.zh-CN.md b/README.zh-CN.md index 7e7e9553..ff1c8058 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -162,7 +162,7 @@ npx ecc-install typescript /plugin list ecc@ecc ``` -**完成!** 你现在可以使用 47 个代理、181 个技能和 79 个命令。 +**完成!** 你现在可以使用 48 个代理、183 个技能和 79 个命令。 ### multi-* 命令需要额外配置 diff --git a/docs/zh-CN/AGENTS.md b/docs/zh-CN/AGENTS.md index 0bad9c1c..e94456c2 100644 --- a/docs/zh-CN/AGENTS.md +++ b/docs/zh-CN/AGENTS.md @@ -1,6 +1,6 @@ # Everything Claude Code (ECC) — 智能体指令 -这是一个**生产就绪的 AI 编码插件**,提供 47 个专业代理、181 项技能、79 条命令以及自动化钩子工作流,用于软件开发。 +这是一个**生产就绪的 AI 编码插件**,提供 48 个专业代理、183 项技能、79 条命令以及自动化钩子工作流,用于软件开发。 **版本:** 1.10.0 @@ -146,8 +146,8 @@ ## 项目结构 ``` -agents/ — 47 个专业子代理 -skills/ — 181 个工作流技能和领域知识 +agents/ — 48 个专业子代理 +skills/ — 183 个工作流技能和领域知识 commands/ — 79 个斜杠命令 hooks/ — 基于触发的自动化 rules/ — 始终遵循的指导方针(通用 + 每种语言) diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index 851e9697..30a89bef 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -209,7 +209,7 @@ npx ecc-install typescript /plugin list ecc@ecc ``` -**搞定!** 你现在可以使用 47 个智能体、181 项技能和 79 个命令了。 +**搞定!** 你现在可以使用 48 个智能体、183 项技能和 79 个命令了。 *** @@ -1094,9 +1094,9 @@ opencode | 功能特性 | Claude Code | OpenCode | 状态 | |---------|-------------|----------|--------| -| 智能体 | PASS: 47 个 | PASS: 12 个 | **Claude Code 领先** | +| 智能体 | PASS: 48 个 | PASS: 12 个 | **Claude Code 领先** | | 命令 | PASS: 79 个 | PASS: 31 个 | **Claude Code 领先** | -| 技能 | PASS: 181 项 | PASS: 37 项 | **Claude Code 领先** | +| 技能 | PASS: 183 项 | PASS: 37 项 | **Claude Code 领先** | | 钩子 | PASS: 8 种事件类型 | PASS: 11 种事件 | **OpenCode 更多!** | | 规则 | PASS: 29 条 | PASS: 13 条指令 | **Claude Code 领先** | | MCP 服务器 | PASS: 14 个 | PASS: 完整 | **完全对等** | @@ -1206,9 +1206,9 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以 | 功能特性 | Claude Code | Cursor IDE | Codex CLI | OpenCode | |---------|------------|------------|-----------|----------| -| **智能体** | 47 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 | +| **智能体** | 48 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 | | **命令** | 79 | 共享 | 基于指令 | 31 | -| **技能** | 181 | 共享 | 10 (原生格式) | 37 | +| **技能** | 183 | 共享 | 10 (原生格式) | 37 | | **钩子事件** | 8 种类型 | 15 种类型 | 暂无 | 11 种类型 | | **钩子脚本** | 20+ 个脚本 | 16 个脚本 (DRY 适配器) | N/A | 插件钩子 | | **规则** | 34 (通用 + 语言) | 34 (YAML 前页) | 基于指令 | 13 条指令 | diff --git a/scripts/hooks/gateguard-fact-force.js b/scripts/hooks/gateguard-fact-force.js index b8a0fcc8..912ce8a8 100644 --- a/scripts/hooks/gateguard-fact-force.js +++ b/scripts/hooks/gateguard-fact-force.js @@ -121,7 +121,17 @@ function isChecked(key) { function sanitizePath(filePath) { // Strip control chars (including null), bidi overrides, and newlines - return filePath.replace(/[\x00-\x1f\x7f\u200e\u200f\u202a-\u202e\u2066-\u2069]/g, ' ').trim().slice(0, 500); + let sanitized = ''; + for (const char of String(filePath || '')) { + const code = char.codePointAt(0); + const isAsciiControl = code <= 0x1f || code === 0x7f; + const isBidiOverride = + (code >= 0x200e && code <= 0x200f) || + (code >= 0x202a && code <= 0x202e) || + (code >= 0x2066 && code <= 0x2069); + sanitized += isAsciiControl || isBidiOverride ? ' ' : char; + } + return sanitized.trim().slice(0, 500); } // --- Gate messages ---