mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-16 16:36:53 +08:00
fix: address Vue review PR feedback
This commit is contained in:
parent
86e2a2061a
commit
b5c088d639
@ -154,7 +154,7 @@ Stable graduation of the 2.0 line: 261 skills, the control-pane substrate (sessi
|
|||||||
### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
|
### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
|
||||||
|
|
||||||
- **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard`) with dark/light theme toggle, font customization, and project logo in header and taskbar.
|
- **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard`) with dark/light theme toggle, font customization, and project logo in header and taskbar.
|
||||||
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 65 agents, 263 skills, and 85 legacy command shims.
|
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 262 skills, and 84 legacy command shims.
|
||||||
- **Operator and outbound workflow expansion** — `brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops`, and `workspace-surface-audit` round out the operator lane.
|
- **Operator and outbound workflow expansion** — `brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops`, and `workspace-surface-audit` round out the operator lane.
|
||||||
- **Media and launch tooling** — `manim-video`, `remotion-video-creation`, and upgraded social publishing surfaces make technical explainers and launch content part of the same system.
|
- **Media and launch tooling** — `manim-video`, `remotion-video-creation`, and upgraded social publishing surfaces make technical explainers and launch content part of the same system.
|
||||||
- **Framework and product surface growth** — `nestjs-patterns`, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone.
|
- **Framework and product surface growth** — `nestjs-patterns`, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone.
|
||||||
|
|||||||
@ -48,7 +48,7 @@ On a `.vue` / Vue-related PR, invoke both `vue-reviewer` and `typescript-reviewe
|
|||||||
- Secret in client bundle (`VITE_*`, Nuxt `public` runtimeConfig)
|
- Secret in client bundle (`VITE_*`, Nuxt `public` runtimeConfig)
|
||||||
- Server endpoint without input validation (Nuxt Nitro)
|
- Server endpoint without input validation (Nuxt Nitro)
|
||||||
- `localStorage`/`sessionStorage` for session tokens
|
- `localStorage`/`sessionStorage` for session tokens
|
||||||
- Destructuring reactive props (breaks reactivity)
|
- Destructuring reactive props in Vue < 3.5 (breaks reactivity)
|
||||||
- `reactive()` object replacement (breaks watchers)
|
- `reactive()` object replacement (breaks watchers)
|
||||||
- Watcher source tracking a ref object instead of `.value`
|
- Watcher source tracking a ref object instead of `.value`
|
||||||
|
|
||||||
|
|||||||
@ -101,19 +101,6 @@ function parseReadmeExpectations(readmeContent) {
|
|||||||
{ category: 'commands', mode: 'exact', expected: Number(quickStartMatch[3]), source: 'README.md quick-start summary' }
|
{ category: 'commands', mode: 'exact', expected: Number(quickStartMatch[3]), source: 'README.md quick-start summary' }
|
||||||
);
|
);
|
||||||
|
|
||||||
const releaseNoteMatch = readmeContent.match(
|
|
||||||
/actual OSS surface:\s+(\d+)\s+agents,\s+(\d+)\s+skills,\s+and\s+(\d+)\s+legacy command shims/i
|
|
||||||
);
|
|
||||||
if (!releaseNoteMatch) {
|
|
||||||
throw new Error('README.md is missing the rc.1 release-note catalog summary');
|
|
||||||
}
|
|
||||||
|
|
||||||
expectations.push(
|
|
||||||
{ category: 'agents', mode: 'exact', expected: Number(releaseNoteMatch[1]), source: 'README.md rc.1 release-note summary' },
|
|
||||||
{ category: 'skills', mode: 'exact', expected: Number(releaseNoteMatch[2]), source: 'README.md rc.1 release-note summary' },
|
|
||||||
{ category: 'commands', mode: 'exact', expected: Number(releaseNoteMatch[3]), source: 'README.md rc.1 release-note summary' }
|
|
||||||
);
|
|
||||||
|
|
||||||
const projectTreeAgentsMatch = readmeContent.match(/^\|\s*--\s*agents\/\s*#\s*(\d+)\s+specialized subagents for delegation\s*$/im);
|
const projectTreeAgentsMatch = readmeContent.match(/^\|\s*--\s*agents\/\s*#\s*(\d+)\s+specialized subagents for delegation\s*$/im);
|
||||||
if (!projectTreeAgentsMatch) {
|
if (!projectTreeAgentsMatch) {
|
||||||
throw new Error('README.md project tree is missing the agents count');
|
throw new Error('README.md project tree is missing the agents count');
|
||||||
@ -428,13 +415,6 @@ function syncEnglishReadme(content, catalog) {
|
|||||||
`${prefix}${catalog.agents.count}${agentsSuffix}${catalog.skills.count}${skillsSuffix}${catalog.commands.count} legacy command shims`,
|
`${prefix}${catalog.agents.count}${agentsSuffix}${catalog.skills.count}${skillsSuffix}${catalog.commands.count} legacy command shims`,
|
||||||
'README.md quick-start summary'
|
'README.md quick-start summary'
|
||||||
);
|
);
|
||||||
nextContent = replaceOrThrow(
|
|
||||||
nextContent,
|
|
||||||
/(actual OSS surface:\s+)(\d+)(\s+agents,\s+)(\d+)(\s+skills,\s+and\s+)(\d+)(\s+legacy command shims)/i,
|
|
||||||
(_, prefix, __, agentsSuffix, ___, skillsSuffix, ____, commandsSuffix) =>
|
|
||||||
`${prefix}${catalog.agents.count}${agentsSuffix}${catalog.skills.count}${skillsSuffix}${catalog.commands.count}${commandsSuffix}`,
|
|
||||||
'README.md rc.1 release-note summary'
|
|
||||||
);
|
|
||||||
nextContent = replaceOrThrow(
|
nextContent = replaceOrThrow(
|
||||||
nextContent,
|
nextContent,
|
||||||
/^(\|\s*--\s*agents\/\s*#\s*)(\d+)(\s+specialized subagents for delegation\s*)$/im,
|
/^(\|\s*--\s*agents\/\s*#\s*)(\d+)(\s+specialized subagents for delegation\s*)$/im,
|
||||||
|
|||||||
@ -222,7 +222,6 @@ function runTests() {
|
|||||||
.join('\n');
|
.join('\n');
|
||||||
|
|
||||||
assert.ok(formatted.includes('README.md quick-start summary'));
|
assert.ok(formatted.includes('README.md quick-start summary'));
|
||||||
assert.ok(formatted.includes('README.md rc.1 release-note summary'));
|
|
||||||
assert.ok(formatted.includes('README.md project tree'));
|
assert.ok(formatted.includes('README.md project tree'));
|
||||||
assert.ok(formatted.includes('AGENTS.md summary'));
|
assert.ok(formatted.includes('AGENTS.md summary'));
|
||||||
assert.ok(formatted.includes('.claude-plugin/plugin.json description'));
|
assert.ok(formatted.includes('.claude-plugin/plugin.json description'));
|
||||||
@ -257,7 +256,7 @@ function runTests() {
|
|||||||
const marketplaceJson = fs.readFileSync(path.join(testDir, '.claude-plugin', 'marketplace.json'), 'utf8');
|
const marketplaceJson = fs.readFileSync(path.join(testDir, '.claude-plugin', 'marketplace.json'), 'utf8');
|
||||||
|
|
||||||
assert.ok(readme.includes('Access to 1 agents, 1 skills, and 1 legacy command shims'));
|
assert.ok(readme.includes('Access to 1 agents, 1 skills, and 1 legacy command shims'));
|
||||||
assert.ok(readme.includes('actual OSS surface: 1 agents, 1 skills, and 1 legacy command shims'));
|
assert.ok(readme.includes('actual OSS surface: 7 agents, 7 skills, and 7 legacy command shims'));
|
||||||
assert.ok(readme.includes('|-- agents/ # 1 specialized subagents for delegation'));
|
assert.ok(readme.includes('|-- agents/ # 1 specialized subagents for delegation'));
|
||||||
assert.ok(readme.includes('| Skills | 42 | .agents/skills/ |'));
|
assert.ok(readme.includes('| Skills | 42 | .agents/skills/ |'));
|
||||||
assert.ok(agentsDoc.includes('providing 1 specialized agents, 1+ skills, 1 commands'));
|
assert.ok(agentsDoc.includes('providing 1 specialized agents, 1+ skills, 1 commands'));
|
||||||
|
|||||||
@ -595,7 +595,7 @@ function runTests() {
|
|||||||
const marketplaceJson = fs.readFileSync(marketplaceJsonPath, 'utf8');
|
const marketplaceJson = fs.readFileSync(marketplaceJsonPath, 'utf8');
|
||||||
|
|
||||||
assert.ok(readme.includes('Access to 1 agents, 1 skills, and 1 legacy command shims'), 'Should sync README quick-start summary');
|
assert.ok(readme.includes('Access to 1 agents, 1 skills, and 1 legacy command shims'), 'Should sync README quick-start summary');
|
||||||
assert.ok(readme.includes('actual OSS surface: 1 agents, 1 skills, and 1 legacy command shims'), 'Should sync README release-note summary');
|
assert.ok(readme.includes('actual OSS surface: 9 agents, 9 skills, and 9 legacy command shims'), 'Should preserve historical README release-note summary');
|
||||||
assert.ok(readme.includes('|-- agents/ # 1 specialized subagents for delegation'), 'Should sync README project tree agents count');
|
assert.ok(readme.includes('|-- agents/ # 1 specialized subagents for delegation'), 'Should sync README project tree agents count');
|
||||||
assert.ok(readme.includes('| Agents | PASS: 1 agents |'), 'Should sync README comparison table');
|
assert.ok(readme.includes('| Agents | PASS: 1 agents |'), 'Should sync README comparison table');
|
||||||
assert.ok(readme.includes('| Skills | 16 | .agents/skills/ |'), 'Should not rewrite unrelated README tables');
|
assert.ok(readme.includes('| Skills | 16 | .agents/skills/ |'), 'Should not rewrite unrelated README tables');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user