From f9ad723110f71aadbfa07cd60791432ccbce0e2d Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:25 +0000
Subject: [PATCH 01/14] feat: add HopCode ECC bundle (.claude/ecc-tools.json)
---
.claude/ecc-tools.json | 240 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 240 insertions(+)
create mode 100644 .claude/ecc-tools.json
diff --git a/.claude/ecc-tools.json b/.claude/ecc-tools.json
new file mode 100644
index 00000000000..a2ea14c987a
--- /dev/null
+++ b/.claude/ecc-tools.json
@@ -0,0 +1,240 @@
+{
+ "version": "1.3",
+ "schemaVersion": "1.0",
+ "generatedBy": "ecc-tools",
+ "generatedAt": "2026-04-19T02:05:59.884Z",
+ "repo": "https://github.com/TaimoorSiddiquiOfficial/HopCode",
+ "profiles": {
+ "requested": "security",
+ "recommended": "security",
+ "effective": "developer",
+ "requestedAlias": "security",
+ "recommendedAlias": "security",
+ "effectiveAlias": "developer"
+ },
+ "requestedProfile": "security",
+ "profile": "developer",
+ "recommendedProfile": "security",
+ "effectiveProfile": "developer",
+ "tier": "free",
+ "requestedComponents": [
+ "repo-baseline",
+ "workflow-automation",
+ "security-audits"
+ ],
+ "selectedComponents": [
+ "repo-baseline",
+ "workflow-automation"
+ ],
+ "requestedAddComponents": [],
+ "requestedRemoveComponents": [],
+ "blockedRemovalComponents": [],
+ "tierFilteredComponents": [
+ "security-audits"
+ ],
+ "requestedRootPackages": [
+ "runtime-core",
+ "workflow-pack",
+ "agentshield-pack"
+ ],
+ "selectedRootPackages": [
+ "runtime-core",
+ "workflow-pack"
+ ],
+ "requestedPackages": [
+ "runtime-core",
+ "workflow-pack",
+ "agentshield-pack"
+ ],
+ "requestedAddPackages": [],
+ "requestedRemovePackages": [],
+ "selectedPackages": [
+ "runtime-core",
+ "workflow-pack"
+ ],
+ "packages": [
+ "runtime-core",
+ "workflow-pack"
+ ],
+ "blockedRemovalPackages": [],
+ "tierFilteredRootPackages": [
+ "agentshield-pack"
+ ],
+ "tierFilteredPackages": [
+ "agentshield-pack"
+ ],
+ "conflictingPackages": [],
+ "dependencyGraph": {
+ "runtime-core": [],
+ "workflow-pack": [
+ "runtime-core"
+ ]
+ },
+ "resolutionOrder": [
+ "runtime-core",
+ "workflow-pack"
+ ],
+ "requestedModules": [
+ "runtime-core",
+ "workflow-pack",
+ "agentshield-pack"
+ ],
+ "selectedModules": [
+ "runtime-core",
+ "workflow-pack"
+ ],
+ "modules": [
+ "runtime-core",
+ "workflow-pack"
+ ],
+ "managedFiles": [
+ ".claude/skills/HopCode/SKILL.md",
+ ".agents/skills/HopCode/SKILL.md",
+ ".agents/skills/HopCode/agents/openai.yaml",
+ ".claude/identity.json",
+ ".codex/config.toml",
+ ".codex/AGENTS.md",
+ ".codex/agents/explorer.toml",
+ ".codex/agents/reviewer.toml",
+ ".codex/agents/docs-researcher.toml",
+ ".claude/homunculus/instincts/inherited/HopCode-instincts.yaml",
+ ".claude/commands/feature-development-with-tests-and-shared-components.md",
+ ".claude/commands/infrastructure-or-configuration-update.md",
+ ".claude/commands/merge-upstream-with-conflict-resolution.md"
+ ],
+ "packageFiles": {
+ "runtime-core": [
+ ".claude/skills/HopCode/SKILL.md",
+ ".agents/skills/HopCode/SKILL.md",
+ ".agents/skills/HopCode/agents/openai.yaml",
+ ".claude/identity.json",
+ ".codex/config.toml",
+ ".codex/AGENTS.md",
+ ".codex/agents/explorer.toml",
+ ".codex/agents/reviewer.toml",
+ ".codex/agents/docs-researcher.toml",
+ ".claude/homunculus/instincts/inherited/HopCode-instincts.yaml"
+ ],
+ "workflow-pack": [
+ ".claude/commands/feature-development-with-tests-and-shared-components.md",
+ ".claude/commands/infrastructure-or-configuration-update.md",
+ ".claude/commands/merge-upstream-with-conflict-resolution.md"
+ ]
+ },
+ "moduleFiles": {
+ "runtime-core": [
+ ".claude/skills/HopCode/SKILL.md",
+ ".agents/skills/HopCode/SKILL.md",
+ ".agents/skills/HopCode/agents/openai.yaml",
+ ".claude/identity.json",
+ ".codex/config.toml",
+ ".codex/AGENTS.md",
+ ".codex/agents/explorer.toml",
+ ".codex/agents/reviewer.toml",
+ ".codex/agents/docs-researcher.toml",
+ ".claude/homunculus/instincts/inherited/HopCode-instincts.yaml"
+ ],
+ "workflow-pack": [
+ ".claude/commands/feature-development-with-tests-and-shared-components.md",
+ ".claude/commands/infrastructure-or-configuration-update.md",
+ ".claude/commands/merge-upstream-with-conflict-resolution.md"
+ ]
+ },
+ "files": [
+ {
+ "moduleId": "runtime-core",
+ "path": ".claude/skills/HopCode/SKILL.md",
+ "description": "Repository-specific Claude Code skill generated from git history."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".agents/skills/HopCode/SKILL.md",
+ "description": "Codex-facing copy of the generated repository skill."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".agents/skills/HopCode/agents/openai.yaml",
+ "description": "Codex skill metadata so the repo skill appears cleanly in the skill interface."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".claude/identity.json",
+ "description": "Suggested identity.json baseline derived from repository conventions."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".codex/config.toml",
+ "description": "Repo-local Codex MCP and multi-agent baseline aligned with ECC defaults."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".codex/AGENTS.md",
+ "description": "Codex usage guide that points at the generated repo skill and workflow bundle."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".codex/agents/explorer.toml",
+ "description": "Read-only explorer role config for Codex multi-agent work."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".codex/agents/reviewer.toml",
+ "description": "Read-only reviewer role config focused on correctness and security."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".codex/agents/docs-researcher.toml",
+ "description": "Read-only docs researcher role config for API verification."
+ },
+ {
+ "moduleId": "runtime-core",
+ "path": ".claude/homunculus/instincts/inherited/HopCode-instincts.yaml",
+ "description": "Continuous-learning instincts derived from repository patterns."
+ },
+ {
+ "moduleId": "workflow-pack",
+ "path": ".claude/commands/feature-development-with-tests-and-shared-components.md",
+ "description": "Workflow command scaffold for feature-development-with-tests-and-shared-components."
+ },
+ {
+ "moduleId": "workflow-pack",
+ "path": ".claude/commands/infrastructure-or-configuration-update.md",
+ "description": "Workflow command scaffold for infrastructure-or-configuration-update."
+ },
+ {
+ "moduleId": "workflow-pack",
+ "path": ".claude/commands/merge-upstream-with-conflict-resolution.md",
+ "description": "Workflow command scaffold for merge-upstream-with-conflict-resolution."
+ }
+ ],
+ "workflows": [
+ {
+ "command": "feature-development-with-tests-and-shared-components",
+ "path": ".claude/commands/feature-development-with-tests-and-shared-components.md"
+ },
+ {
+ "command": "infrastructure-or-configuration-update",
+ "path": ".claude/commands/infrastructure-or-configuration-update.md"
+ },
+ {
+ "command": "merge-upstream-with-conflict-resolution",
+ "path": ".claude/commands/merge-upstream-with-conflict-resolution.md"
+ }
+ ],
+ "adapters": {
+ "claudeCode": {
+ "skillPath": ".claude/skills/HopCode/SKILL.md",
+ "identityPath": ".claude/identity.json",
+ "commandPaths": [
+ ".claude/commands/feature-development-with-tests-and-shared-components.md",
+ ".claude/commands/infrastructure-or-configuration-update.md",
+ ".claude/commands/merge-upstream-with-conflict-resolution.md"
+ ]
+ },
+ "codex": {
+ "configPath": ".codex/config.toml",
+ "agentsGuidePath": ".codex/AGENTS.md",
+ "skillPath": ".agents/skills/HopCode/SKILL.md"
+ }
+ }
+}
\ No newline at end of file
From 87d8ff83d90feb30e583a64ef94f815627551b5f Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:26 +0000
Subject: [PATCH 02/14] feat: add HopCode ECC bundle
(.claude/skills/HopCode/SKILL.md)
---
.claude/skills/HopCode/SKILL.md | 147 ++++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
create mode 100644 .claude/skills/HopCode/SKILL.md
diff --git a/.claude/skills/HopCode/SKILL.md b/.claude/skills/HopCode/SKILL.md
new file mode 100644
index 00000000000..bf2dcd06480
--- /dev/null
+++ b/.claude/skills/HopCode/SKILL.md
@@ -0,0 +1,147 @@
+```markdown
+# HopCode Development Patterns
+
+> Auto-generated skill from repository analysis
+
+## Overview
+
+This skill teaches the core development patterns, coding conventions, and collaborative workflows used in the HopCode TypeScript codebase. It covers how to structure features, manage configuration, handle merges, and write effective tests. The repository is organized into packages, uses conventional commits, and emphasizes modular, well-tested code.
+
+## Coding Conventions
+
+- **File Naming:**
+ Use camelCase for file and folder names.
+ _Example:_
+ ```
+ packages/core/src/sharedTypes.ts
+ packages/webui/src/userProfile.tsx
+ ```
+
+- **Import Style:**
+ Use relative imports within packages.
+ _Example:_
+ ```typescript
+ import { getUser } from './userService'
+ import { SharedType } from '../types/sharedTypes'
+ ```
+
+- **Export Style:**
+ Use named exports for all modules.
+ _Example:_
+ ```typescript
+ // userService.ts
+ export function getUser(id: string) { ... }
+
+ // sharedTypes.ts
+ export type SharedType = { ... }
+ ```
+
+- **Commit Messages:**
+ Follow [Conventional Commits](https://www.conventionalcommits.org/) with prefixes like `feat`, `fix`, `perf`, `ci`, and `merge`.
+ _Example:_
+ ```
+ feat: add user profile component and shared types
+ fix: correct import path in auth service
+ ```
+
+## Workflows
+
+### Feature Development with Tests and Shared Components
+**Trigger:** When adding a new feature or capability, especially spanning backend, frontend, and shared code
+**Command:** `/new-feature`
+
+1. Design or update the feature plan or documentation in `docs/plans/*.md`.
+2. Implement backend logic or services in `packages/*/src/**/*.ts`.
+3. Update or create shared types/interfaces in `packages/*/src/types/**/*.ts`.
+4. Implement or update frontend/UI components in `packages/*/src/webview/components/**/*.tsx` or `packages/webui/src/components/**/*.tsx`.
+5. Write or update corresponding tests in `*.test.ts` or `*.test.tsx` files.
+6. Wire up the feature in main entry points, such as `packages/webui/src/index.ts`.
+
+_Example:_
+```typescript
+// packages/core/src/userService.ts
+export function getUser(id: string) { ... }
+
+// packages/core/src/types/userTypes.ts
+export type User = { id: string; name: string }
+
+// packages/core/src/userService.test.ts
+import { getUser } from './userService'
+import { describe, it, expect } from 'vitest'
+
+describe('getUser', () => {
+ it('returns a user object', () => {
+ expect(getUser('123')).toHaveProperty('id', '123')
+ })
+})
+```
+
+---
+
+### Infrastructure or Configuration Update
+**Trigger:** When updating build scripts, CI/CD workflows, or project configuration
+**Command:** `/update-config`
+
+1. Edit configuration or workflow files, such as `package.json` or `.github/workflows/*.yml`.
+2. Test changes locally or in CI.
+3. Document the rationale in the commit message.
+
+_Example:_
+```yaml
+# .github/workflows/ci.yml
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - run: npm install
+ - run: npm test
+```
+
+---
+
+### Merge Upstream with Conflict Resolution
+**Trigger:** When syncing the fork with upstream changes while preserving local modifications
+**Command:** `/merge-upstream`
+
+1. Fetch and merge the upstream branch.
+2. Resolve file conflicts, especially in shared or heavily modified files.
+3. Preserve local branding, architecture, and configuration.
+4. Summarize merged features and conflict resolutions in the commit message.
+
+_Example:_
+```bash
+git fetch upstream main
+git merge upstream/main
+# Resolve conflicts in packages/core/src/sharedTypes.ts, etc.
+git commit -m "merge: sync with upstream and resolve shared type conflicts"
+```
+
+## Testing Patterns
+
+- **Framework:** [Vitest](https://vitest.dev/)
+- **Test File Pattern:** Files ending with `.test.ts` or `.test.tsx`
+- **Placement:** Tests are located alongside implementation files or in dedicated test directories.
+
+_Example:_
+```typescript
+// packages/webui/src/components/button.test.tsx
+import { render } from '@testing-library/react'
+import { Button } from './button'
+
+describe('Button', () => {
+ it('renders with label', () => {
+ const { getByText } = render()
+ expect(getByText('Click me')).toBeDefined()
+ })
+})
+```
+
+## Commands
+
+| Command | Purpose |
+|-----------------|----------------------------------------------------------------|
+| /new-feature | Start a new feature with backend, shared types, UI, and tests |
+| /update-config | Update configuration, build scripts, or CI/CD workflows |
+| /merge-upstream | Merge upstream changes and resolve conflicts |
+```
\ No newline at end of file
From 616fa8ea84ca99dedfb9b5e93a738c5ee89943e6 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:27 +0000
Subject: [PATCH 03/14] feat: add HopCode ECC bundle
(.agents/skills/HopCode/SKILL.md)
---
.agents/skills/HopCode/SKILL.md | 147 ++++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
create mode 100644 .agents/skills/HopCode/SKILL.md
diff --git a/.agents/skills/HopCode/SKILL.md b/.agents/skills/HopCode/SKILL.md
new file mode 100644
index 00000000000..bf2dcd06480
--- /dev/null
+++ b/.agents/skills/HopCode/SKILL.md
@@ -0,0 +1,147 @@
+```markdown
+# HopCode Development Patterns
+
+> Auto-generated skill from repository analysis
+
+## Overview
+
+This skill teaches the core development patterns, coding conventions, and collaborative workflows used in the HopCode TypeScript codebase. It covers how to structure features, manage configuration, handle merges, and write effective tests. The repository is organized into packages, uses conventional commits, and emphasizes modular, well-tested code.
+
+## Coding Conventions
+
+- **File Naming:**
+ Use camelCase for file and folder names.
+ _Example:_
+ ```
+ packages/core/src/sharedTypes.ts
+ packages/webui/src/userProfile.tsx
+ ```
+
+- **Import Style:**
+ Use relative imports within packages.
+ _Example:_
+ ```typescript
+ import { getUser } from './userService'
+ import { SharedType } from '../types/sharedTypes'
+ ```
+
+- **Export Style:**
+ Use named exports for all modules.
+ _Example:_
+ ```typescript
+ // userService.ts
+ export function getUser(id: string) { ... }
+
+ // sharedTypes.ts
+ export type SharedType = { ... }
+ ```
+
+- **Commit Messages:**
+ Follow [Conventional Commits](https://www.conventionalcommits.org/) with prefixes like `feat`, `fix`, `perf`, `ci`, and `merge`.
+ _Example:_
+ ```
+ feat: add user profile component and shared types
+ fix: correct import path in auth service
+ ```
+
+## Workflows
+
+### Feature Development with Tests and Shared Components
+**Trigger:** When adding a new feature or capability, especially spanning backend, frontend, and shared code
+**Command:** `/new-feature`
+
+1. Design or update the feature plan or documentation in `docs/plans/*.md`.
+2. Implement backend logic or services in `packages/*/src/**/*.ts`.
+3. Update or create shared types/interfaces in `packages/*/src/types/**/*.ts`.
+4. Implement or update frontend/UI components in `packages/*/src/webview/components/**/*.tsx` or `packages/webui/src/components/**/*.tsx`.
+5. Write or update corresponding tests in `*.test.ts` or `*.test.tsx` files.
+6. Wire up the feature in main entry points, such as `packages/webui/src/index.ts`.
+
+_Example:_
+```typescript
+// packages/core/src/userService.ts
+export function getUser(id: string) { ... }
+
+// packages/core/src/types/userTypes.ts
+export type User = { id: string; name: string }
+
+// packages/core/src/userService.test.ts
+import { getUser } from './userService'
+import { describe, it, expect } from 'vitest'
+
+describe('getUser', () => {
+ it('returns a user object', () => {
+ expect(getUser('123')).toHaveProperty('id', '123')
+ })
+})
+```
+
+---
+
+### Infrastructure or Configuration Update
+**Trigger:** When updating build scripts, CI/CD workflows, or project configuration
+**Command:** `/update-config`
+
+1. Edit configuration or workflow files, such as `package.json` or `.github/workflows/*.yml`.
+2. Test changes locally or in CI.
+3. Document the rationale in the commit message.
+
+_Example:_
+```yaml
+# .github/workflows/ci.yml
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - run: npm install
+ - run: npm test
+```
+
+---
+
+### Merge Upstream with Conflict Resolution
+**Trigger:** When syncing the fork with upstream changes while preserving local modifications
+**Command:** `/merge-upstream`
+
+1. Fetch and merge the upstream branch.
+2. Resolve file conflicts, especially in shared or heavily modified files.
+3. Preserve local branding, architecture, and configuration.
+4. Summarize merged features and conflict resolutions in the commit message.
+
+_Example:_
+```bash
+git fetch upstream main
+git merge upstream/main
+# Resolve conflicts in packages/core/src/sharedTypes.ts, etc.
+git commit -m "merge: sync with upstream and resolve shared type conflicts"
+```
+
+## Testing Patterns
+
+- **Framework:** [Vitest](https://vitest.dev/)
+- **Test File Pattern:** Files ending with `.test.ts` or `.test.tsx`
+- **Placement:** Tests are located alongside implementation files or in dedicated test directories.
+
+_Example:_
+```typescript
+// packages/webui/src/components/button.test.tsx
+import { render } from '@testing-library/react'
+import { Button } from './button'
+
+describe('Button', () => {
+ it('renders with label', () => {
+ const { getByText } = render()
+ expect(getByText('Click me')).toBeDefined()
+ })
+})
+```
+
+## Commands
+
+| Command | Purpose |
+|-----------------|----------------------------------------------------------------|
+| /new-feature | Start a new feature with backend, shared types, UI, and tests |
+| /update-config | Update configuration, build scripts, or CI/CD workflows |
+| /merge-upstream | Merge upstream changes and resolve conflicts |
+```
\ No newline at end of file
From de0ff6259b2e44287318e3e83d6b978ce7ecca75 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:28 +0000
Subject: [PATCH 04/14] feat: add HopCode ECC bundle
(.agents/skills/HopCode/agents/openai.yaml)
---
.agents/skills/HopCode/agents/openai.yaml | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 .agents/skills/HopCode/agents/openai.yaml
diff --git a/.agents/skills/HopCode/agents/openai.yaml b/.agents/skills/HopCode/agents/openai.yaml
new file mode 100644
index 00000000000..6716d49fa58
--- /dev/null
+++ b/.agents/skills/HopCode/agents/openai.yaml
@@ -0,0 +1,6 @@
+interface:
+ display_name: "HopCode"
+ short_description: "Repo-specific patterns and workflows for HopCode"
+ default_prompt: "Use the HopCode repo skill to follow existing architecture, testing, and workflow conventions."
+policy:
+ allow_implicit_invocation: true
\ No newline at end of file
From 4f20dec5f53acfadfde014af8f4bf686d33a11d1 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:29 +0000
Subject: [PATCH 05/14] feat: add HopCode ECC bundle (.claude/identity.json)
---
.claude/identity.json | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 .claude/identity.json
diff --git a/.claude/identity.json b/.claude/identity.json
new file mode 100644
index 00000000000..1a64b31ab42
--- /dev/null
+++ b/.claude/identity.json
@@ -0,0 +1,14 @@
+{
+ "version": "2.0",
+ "technicalLevel": "technical",
+ "preferredStyle": {
+ "verbosity": "minimal",
+ "codeComments": true,
+ "explanations": true
+ },
+ "domains": [
+ "typescript"
+ ],
+ "suggestedBy": "ecc-tools-repo-analysis",
+ "createdAt": "2026-04-19T02:06:23.816Z"
+}
\ No newline at end of file
From 91570d7c10d2987ef003b090d581f1949623fc7e Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:30 +0000
Subject: [PATCH 06/14] feat: add HopCode ECC bundle (.codex/config.toml)
---
.codex/config.toml | 48 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 .codex/config.toml
diff --git a/.codex/config.toml b/.codex/config.toml
new file mode 100644
index 00000000000..bc1ee67f608
--- /dev/null
+++ b/.codex/config.toml
@@ -0,0 +1,48 @@
+#:schema https://developers.openai.com/codex/config-schema.json
+
+# ECC Tools generated Codex baseline
+approval_policy = "on-request"
+sandbox_mode = "workspace-write"
+web_search = "live"
+
+[mcp_servers.github]
+command = "npx"
+args = ["-y", "@modelcontextprotocol/server-github"]
+
+[mcp_servers.context7]
+command = "npx"
+args = ["-y", "@upstash/context7-mcp@latest"]
+
+[mcp_servers.exa]
+url = "https://mcp.exa.ai/mcp"
+
+[mcp_servers.memory]
+command = "npx"
+args = ["-y", "@modelcontextprotocol/server-memory"]
+
+[mcp_servers.playwright]
+command = "npx"
+args = ["-y", "@playwright/mcp@latest", "--extension"]
+
+[mcp_servers.sequential-thinking]
+command = "npx"
+args = ["-y", "@modelcontextprotocol/server-sequential-thinking"]
+
+[features]
+multi_agent = true
+
+[agents]
+max_threads = 6
+max_depth = 1
+
+[agents.explorer]
+description = "Read-only codebase explorer for gathering evidence before changes are proposed."
+config_file = "agents/explorer.toml"
+
+[agents.reviewer]
+description = "PR reviewer focused on correctness, security, and missing tests."
+config_file = "agents/reviewer.toml"
+
+[agents.docs_researcher]
+description = "Documentation specialist that verifies APIs, framework behavior, and release notes."
+config_file = "agents/docs-researcher.toml"
\ No newline at end of file
From bf3866564f9f4d838f090ab2fd7f71874f02cfc2 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:31 +0000
Subject: [PATCH 07/14] feat: add HopCode ECC bundle (.codex/AGENTS.md)
---
.codex/AGENTS.md | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 .codex/AGENTS.md
diff --git a/.codex/AGENTS.md b/.codex/AGENTS.md
new file mode 100644
index 00000000000..225277e3db1
--- /dev/null
+++ b/.codex/AGENTS.md
@@ -0,0 +1,28 @@
+# ECC for Codex CLI
+
+This supplements the root `AGENTS.md` with a repo-local ECC baseline.
+
+## Repo Skill
+
+- Repo-generated Codex skill: `.agents/skills/HopCode/SKILL.md`
+- Claude-facing companion skill: `.claude/skills/HopCode/SKILL.md`
+- Keep user-specific credentials and private MCPs in `~/.codex/config.toml`, not in this repo.
+
+## MCP Baseline
+
+Treat `.codex/config.toml` as the default ECC-safe baseline for work in this repository.
+The generated baseline enables GitHub, Context7, Exa, Memory, Playwright, and Sequential Thinking.
+
+## Multi-Agent Support
+
+- Explorer: read-only evidence gathering
+- Reviewer: correctness, security, and regression review
+- Docs researcher: API and release-note verification
+
+## Workflow Files
+
+- `.claude/commands/feature-development-with-tests-and-shared-components.md`
+- `.claude/commands/infrastructure-or-configuration-update.md`
+- `.claude/commands/merge-upstream-with-conflict-resolution.md`
+
+Use these workflow files as reusable task scaffolds when the detected repository workflows recur.
\ No newline at end of file
From 1563749ddfb2339eb5c89a26a21c3ca252591f5d Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:32 +0000
Subject: [PATCH 08/14] feat: add HopCode ECC bundle
(.codex/agents/explorer.toml)
---
.codex/agents/explorer.toml | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 .codex/agents/explorer.toml
diff --git a/.codex/agents/explorer.toml b/.codex/agents/explorer.toml
new file mode 100644
index 00000000000..732df7aff20
--- /dev/null
+++ b/.codex/agents/explorer.toml
@@ -0,0 +1,9 @@
+model = "gpt-5.4"
+model_reasoning_effort = "medium"
+sandbox_mode = "read-only"
+
+developer_instructions = """
+Stay in exploration mode.
+Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
+Prefer targeted search and file reads over broad scans.
+"""
\ No newline at end of file
From 008a76c32423e320e433815e56625ddddce176f0 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:34 +0000
Subject: [PATCH 09/14] feat: add HopCode ECC bundle
(.codex/agents/reviewer.toml)
---
.codex/agents/reviewer.toml | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 .codex/agents/reviewer.toml
diff --git a/.codex/agents/reviewer.toml b/.codex/agents/reviewer.toml
new file mode 100644
index 00000000000..b13ed9cf1ff
--- /dev/null
+++ b/.codex/agents/reviewer.toml
@@ -0,0 +1,9 @@
+model = "gpt-5.4"
+model_reasoning_effort = "high"
+sandbox_mode = "read-only"
+
+developer_instructions = """
+Review like an owner.
+Prioritize correctness, security, behavioral regressions, and missing tests.
+Lead with concrete findings and avoid style-only feedback unless it hides a real bug.
+"""
\ No newline at end of file
From 2cd1a0cd7c1939099305b6bd2e2eb26229ae7119 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:35 +0000
Subject: [PATCH 10/14] feat: add HopCode ECC bundle
(.codex/agents/docs-researcher.toml)
---
.codex/agents/docs-researcher.toml | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 .codex/agents/docs-researcher.toml
diff --git a/.codex/agents/docs-researcher.toml b/.codex/agents/docs-researcher.toml
new file mode 100644
index 00000000000..0daae570b16
--- /dev/null
+++ b/.codex/agents/docs-researcher.toml
@@ -0,0 +1,9 @@
+model = "gpt-5.4"
+model_reasoning_effort = "medium"
+sandbox_mode = "read-only"
+
+developer_instructions = """
+Verify APIs, framework behavior, and release-note claims against primary documentation before changes land.
+Cite the exact docs or file paths that support each claim.
+Do not invent undocumented behavior.
+"""
\ No newline at end of file
From 05f13050d8ee56701b6c96a6f7974e2879221430 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:36 +0000
Subject: [PATCH 11/14] feat: add HopCode ECC bundle
(.claude/homunculus/instincts/inherited/HopCode-instincts.yaml)
---
.../inherited/HopCode-instincts.yaml | 566 ++++++++++++++++++
1 file changed, 566 insertions(+)
create mode 100644 .claude/homunculus/instincts/inherited/HopCode-instincts.yaml
diff --git a/.claude/homunculus/instincts/inherited/HopCode-instincts.yaml b/.claude/homunculus/instincts/inherited/HopCode-instincts.yaml
new file mode 100644
index 00000000000..a21819d3077
--- /dev/null
+++ b/.claude/homunculus/instincts/inherited/HopCode-instincts.yaml
@@ -0,0 +1,566 @@
+# Instincts generated from https://github.com/TaimoorSiddiquiOfficial/HopCode
+# Generated: 2026-04-19T02:06:23.816Z
+# Version: 2.0
+# NOTE: This file supplements (does not replace) any existing curated instincts.
+# High-confidence manually curated instincts should be preserved alongside these.
+
+---
+id: HopCode-commit-conventional
+trigger: "when writing a commit message"
+confidence: 0.85
+domain: git
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Commit Conventional
+
+## Action
+
+Use conventional commit format with prefixes: feat, perf, fix, ci, merge
+
+## Evidence
+
+- 7 commits analyzed
+- Detected conventional commit pattern
+- Examples: feat(mcp): add OSC 52 copy hotkey for OAuth authorization URL (#3337) (#3393), perf(vscode): fix input lag in long conversations (#2395) (#2550)
+
+---
+id: HopCode-commit-length
+trigger: "when writing a commit message"
+confidence: 0.6
+domain: git
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Commit Length
+
+## Action
+
+Write moderate-length commit messages (~72 characters)
+
+## Evidence
+
+- Average commit message length: 72 chars
+- Based on 7 commits
+
+---
+id: HopCode-naming-files
+trigger: "when creating a new file"
+confidence: 0.8
+domain: code-style
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Naming Files
+
+## Action
+
+Use camelCase naming convention
+
+## Evidence
+
+- Analyzed file naming patterns in repository
+- Dominant pattern: camelCase
+
+---
+id: HopCode-import-relative
+trigger: "when importing modules"
+confidence: 0.75
+domain: code-style
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Import Relative
+
+## Action
+
+Use relative imports for project files
+
+## Evidence
+
+- Import analysis shows relative import pattern
+- Example: import { x } from '../lib/x'
+
+---
+id: HopCode-export-style
+trigger: "when exporting from a module"
+confidence: 0.7
+domain: code-style
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Export Style
+
+## Action
+
+Prefer named exports
+
+## Evidence
+
+- Export pattern analysis
+- Dominant style: named
+
+---
+id: HopCode-arch-type-based
+trigger: "when adding new code"
+confidence: 0.8
+domain: architecture
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Arch Type Based
+
+## Action
+
+Place code in the appropriate type folder (components/, services/, utils/, etc.)
+
+## Evidence
+
+- Type-based module organization detected
+- Folders:
+
+---
+id: HopCode-test-framework
+trigger: "when writing tests"
+confidence: 0.9
+domain: testing
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Test Framework
+
+## Action
+
+Use vitest as the test framework
+
+## Evidence
+
+- Test framework detected: vitest
+- File pattern: *.test.ts
+
+---
+id: HopCode-test-naming
+trigger: "when creating a test file"
+confidence: 0.85
+domain: testing
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Test Naming
+
+## Action
+
+Name test files using the pattern: *.test.ts
+
+## Evidence
+
+- File pattern: *.test.ts
+- Consistent across test files
+
+---
+id: HopCode-test-mocking
+trigger: "when mocking dependencies in tests"
+confidence: 0.75
+domain: testing
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Test Mocking
+
+## Action
+
+Use msw for mocking
+
+## Evidence
+
+- Mocking pattern detected: msw
+- Consistent across test files
+
+---
+id: HopCode-workflow-feature-development-with-tests-and-shared-components
+trigger: "when doing feature development with tests and shared components"
+confidence: 0.6
+domain: workflow
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Workflow Feature Development With Tests And Shared Components
+
+## Action
+
+Follow the feature-development-with-tests-and-shared-components workflow:
+1. Design or update feature plan or documentation
+2. Implement backend logic or service
+3. Update or create shared types/interfaces
+4. Implement or update frontend/UI components
+5. Write or update corresponding tests
+6. Wire up feature in main index/entry points
+
+## Evidence
+
+- Workflow detected from commit patterns
+- Frequency: ~2x per month
+- Files: docs/plans/*.md, packages/*/src/**/*.ts, packages/*/src/**/*.tsx
+
+---
+id: HopCode-workflow-infrastructure-or-configuration-update
+trigger: "when doing infrastructure or configuration update"
+confidence: 0.6
+domain: workflow
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Workflow Infrastructure Or Configuration Update
+
+## Action
+
+Follow the infrastructure-or-configuration-update workflow:
+1. Edit configuration or workflow files (e.g., package.json, .github/workflows/*.yml)
+2. Test changes locally or in CI
+3. Document rationale in commit message
+
+## Evidence
+
+- Workflow detected from commit patterns
+- Frequency: ~2x per month
+- Files: package.json, .github/workflows/*.yml
+
+---
+id: HopCode-workflow-merge-upstream-with-conflict-resolution
+trigger: "when doing merge upstream with conflict resolution"
+confidence: 0.55
+domain: workflow
+source: repo-analysis
+source_repo: https://github.com/TaimoorSiddiquiOfficial/HopCode
+---
+
+# HopCode Workflow Merge Upstream With Conflict Resolution
+
+## Action
+
+Follow the merge-upstream-with-conflict-resolution workflow:
+1. Fetch and merge upstream branch
+2. Resolve file conflicts, especially in shared or heavily modified files
+3. Preserve local branding, architecture, and configuration
+4. Summarize merged features and conflict resolutions in commit message
+
+## Evidence
+
+- Workflow detected from commit patterns
+- Frequency: ~1x per month
+- Files: .github/workflows/*.yml, docs/plans/*.md, package.json
+
+---
+id: hopcode-instinct-file-naming-camelcase
+trigger: "When creating a new file in the codebase"
+confidence: 0.85
+domain: code-style
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct File Naming Camelcase
+
+## Action
+
+Name the file using camelCase convention
+
+## Evidence
+
+- Pattern in files: packages/*/src/**/*.ts
+- NamingConventions.files = camelCase
+
+---
+id: hopcode-instinct-function-naming-camelcase
+trigger: "When defining a new function"
+confidence: 0.9
+domain: code-style
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Function Naming Camelcase
+
+## Action
+
+Use camelCase for the function name
+
+## Evidence
+
+- NamingConventions.functions = camelCase
+- Pattern in TypeScript code
+
+---
+id: hopcode-instinct-class-naming-pascalcase
+trigger: "When defining a new class"
+confidence: 0.9
+domain: code-style
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Class Naming Pascalcase
+
+## Action
+
+Use PascalCase for the class name
+
+## Evidence
+
+- NamingConventions.classes = PascalCase
+- Pattern in TypeScript code
+
+---
+id: hopcode-instinct-constant-naming-screaming-snake-case
+trigger: "When declaring a constant value"
+confidence: 0.85
+domain: code-style
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Constant Naming Screaming Snake Case
+
+## Action
+
+Use SCREAMING_SNAKE_CASE for the constant name
+
+## Evidence
+
+- NamingConventions.constants = SCREAMING_SNAKE_CASE
+- Pattern in TypeScript code
+
+---
+id: hopcode-instinct-import-style-relative
+trigger: "When importing modules within the project"
+confidence: 0.8
+domain: code-style
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Import Style Relative
+
+## Action
+
+Use relative import paths
+
+## Evidence
+
+- importStyle = relative
+- Pattern in TypeScript code
+
+---
+id: hopcode-instinct-export-style-named
+trigger: "When exporting functions, classes, or constants"
+confidence: 0.8
+domain: code-style
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Export Style Named
+
+## Action
+
+Use named exports
+
+## Evidence
+
+- exportStyle = named
+- Pattern in TypeScript code
+
+---
+id: hopcode-instinct-test-file-pattern
+trigger: "When creating a new test file"
+confidence: 0.9
+domain: testing
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Test File Pattern
+
+## Action
+
+Name the file with the pattern *.test.ts or *.test.tsx
+
+## Evidence
+
+- testing.filePattern = *.test.ts
+- Pattern in packages/*/src/**/*.test.ts
+
+---
+id: hopcode-instinct-use-vitest
+trigger: "When writing automated tests"
+confidence: 0.9
+domain: testing
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Use Vitest
+
+## Action
+
+Use the vitest framework
+
+## Evidence
+
+- testing.framework = vitest
+- Pattern in test files
+
+---
+id: hopcode-instinct-use-msw-for-mocking
+trigger: "When mocking APIs or network requests in tests"
+confidence: 0.85
+domain: testing
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Use Msw For Mocking
+
+## Action
+
+Use msw for mocking
+
+## Evidence
+
+- testing.mockingStyle = msw
+- Pattern in test files
+
+---
+id: hopcode-instinct-unit-tests-default
+trigger: "When writing tests for new or existing code"
+confidence: 0.85
+domain: testing
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Unit Tests Default
+
+## Action
+
+Write unit tests as the default test type
+
+## Evidence
+
+- testing.testTypes = unit
+- Pattern in test files
+
+---
+id: hopcode-instinct-conventional-commit-format
+trigger: "When writing a commit message"
+confidence: 0.9
+domain: git
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Conventional Commit Format
+
+## Action
+
+Use conventional commit format with prefix (feat, perf, fix, ci, merge)
+
+## Evidence
+
+- commits.type = conventional
+- commits.prefixes = [feat, perf, fix, ci, merge]
+- Example: feat(mcp): add OSC 52 copy hotkey for OAuth authorization URL (#3337) (#3393)
+
+---
+id: hopcode-instinct-commit-length-guideline
+trigger: "When composing a commit message"
+confidence: 0.7
+domain: git
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Commit Length Guideline
+
+## Action
+
+Keep the commit message around 72 characters on average
+
+## Evidence
+
+- commits.averageLength = 72
+- Pattern in commit history
+
+---
+id: hopcode-instinct-feature-development-workflow
+trigger: "When adding a new feature or capability spanning backend, frontend, and shared code"
+confidence: 0.92
+domain: workflow
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Feature Development Workflow
+
+## Action
+
+Follow the workflow: update docs/plans, implement backend, update shared types, implement frontend components, write tests, wire up in index
+
+## Evidence
+
+- Workflow: feature-development-with-tests-and-shared-components
+- Pattern in commit sequences and files: docs/plans/*.md, packages/*/src/**/*.ts, packages/*/src/**/*.tsx, packages/*/src/**/*.test.ts, packages/*/src/types/**/*.ts
+
+---
+id: hopcode-instinct-infra-config-update-workflow
+trigger: "When fixing or improving build tooling, CI/CD automation, or project configuration"
+confidence: 0.88
+domain: workflow
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Infra Config Update Workflow
+
+## Action
+
+Edit configuration/workflow files (package.json, .github/workflows/*.yml), test changes, document rationale in commit message
+
+## Evidence
+
+- Workflow: infrastructure-or-configuration-update
+- Pattern in commits: fix(build): invoke tsx directly via node --import instead of npx (#3237)
+- Pattern in files: package.json, .github/workflows/*.yml
+
+---
+id: hopcode-instinct-merge-upstream-workflow
+trigger: "When syncing the fork with upstream changes while maintaining local modifications"
+confidence: 0.9
+domain: workflow
+source: repo-analysis
+source_repo: TaimoorSiddiquiOfficial/HopCode
+---
+
+# Hopcode Instinct Merge Upstream Workflow
+
+## Action
+
+Fetch and merge upstream branch, resolve conflicts, preserve local customizations, summarize in commit message
+
+## Evidence
+
+- Workflow: merge-upstream-with-conflict-resolution
+- Pattern in commits: merge(upstream): sync QwenLM/qwen-code upstream changes Apr 18-19 2026
+- Pattern in files: .github/workflows/*.yml, docs/plans/*.md, package.json, packages/*/src/**/*.ts
+
From c30ccead8b76d8c8c6d3756954e8435018553883 Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:37 +0000
Subject: [PATCH 12/14] feat: add HopCode ECC bundle
(.claude/commands/feature-development-with-tests-and-shared-components.md)
---
...opment-with-tests-and-shared-components.md | 42 +++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 .claude/commands/feature-development-with-tests-and-shared-components.md
diff --git a/.claude/commands/feature-development-with-tests-and-shared-components.md b/.claude/commands/feature-development-with-tests-and-shared-components.md
new file mode 100644
index 00000000000..c142b578c66
--- /dev/null
+++ b/.claude/commands/feature-development-with-tests-and-shared-components.md
@@ -0,0 +1,42 @@
+---
+name: feature-development-with-tests-and-shared-components
+description: Workflow command scaffold for feature-development-with-tests-and-shared-components in HopCode.
+allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
+---
+
+# /feature-development-with-tests-and-shared-components
+
+Use this workflow when working on **feature-development-with-tests-and-shared-components** in `HopCode`.
+
+## Goal
+
+Implements a new feature or capability, including backend logic, UI components, shared types, and corresponding tests. Frequently involves updating both implementation and test files, as well as shared type definitions and documentation/design plans.
+
+## Common Files
+
+- `docs/plans/*.md`
+- `packages/*/src/**/*.ts`
+- `packages/*/src/**/*.tsx`
+- `packages/*/src/**/*.test.ts`
+- `packages/*/src/**/*.test.tsx`
+- `packages/*/src/types/**/*.ts`
+
+## Suggested Sequence
+
+1. Understand the current state and failure mode before editing.
+2. Make the smallest coherent change that satisfies the workflow goal.
+3. Run the most relevant verification for touched files.
+4. Summarize what changed and what still needs review.
+
+## Typical Commit Signals
+
+- Design or update feature plan or documentation
+- Implement backend logic or service
+- Update or create shared types/interfaces
+- Implement or update frontend/UI components
+- Write or update corresponding tests
+
+## Notes
+
+- Treat this as a scaffold, not a hard-coded script.
+- Update the command if the workflow evolves materially.
\ No newline at end of file
From babe83150dd22747d3fa11efe16c9c8832a4496b Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:38 +0000
Subject: [PATCH 13/14] feat: add HopCode ECC bundle
(.claude/commands/infrastructure-or-configuration-update.md)
---
.../infrastructure-or-configuration-update.md | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 .claude/commands/infrastructure-or-configuration-update.md
diff --git a/.claude/commands/infrastructure-or-configuration-update.md b/.claude/commands/infrastructure-or-configuration-update.md
new file mode 100644
index 00000000000..376df62b3f1
--- /dev/null
+++ b/.claude/commands/infrastructure-or-configuration-update.md
@@ -0,0 +1,36 @@
+---
+name: infrastructure-or-configuration-update
+description: Workflow command scaffold for infrastructure-or-configuration-update in HopCode.
+allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
+---
+
+# /infrastructure-or-configuration-update
+
+Use this workflow when working on **infrastructure-or-configuration-update** in `HopCode`.
+
+## Goal
+
+Updates build scripts, CI/CD workflows, or project configuration to improve build reliability, compatibility, or automation (e.g., updating how scripts are invoked, changing workflow policies).
+
+## Common Files
+
+- `package.json`
+- `.github/workflows/*.yml`
+
+## Suggested Sequence
+
+1. Understand the current state and failure mode before editing.
+2. Make the smallest coherent change that satisfies the workflow goal.
+3. Run the most relevant verification for touched files.
+4. Summarize what changed and what still needs review.
+
+## Typical Commit Signals
+
+- Edit configuration or workflow files (e.g., package.json, .github/workflows/*.yml)
+- Test changes locally or in CI
+- Document rationale in commit message
+
+## Notes
+
+- Treat this as a scaffold, not a hard-coded script.
+- Update the command if the workflow evolves materially.
\ No newline at end of file
From a824d3dcc70f7b6cb3c26ac1a990715bcaf5c01a Mon Sep 17 00:00:00 2001
From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com>
Date: Sun, 19 Apr 2026 02:06:39 +0000
Subject: [PATCH 14/14] feat: add HopCode ECC bundle
(.claude/commands/merge-upstream-with-conflict-resolution.md)
---
...merge-upstream-with-conflict-resolution.md | 41 +++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 .claude/commands/merge-upstream-with-conflict-resolution.md
diff --git a/.claude/commands/merge-upstream-with-conflict-resolution.md b/.claude/commands/merge-upstream-with-conflict-resolution.md
new file mode 100644
index 00000000000..1ef10ad9c8b
--- /dev/null
+++ b/.claude/commands/merge-upstream-with-conflict-resolution.md
@@ -0,0 +1,41 @@
+---
+name: merge-upstream-with-conflict-resolution
+description: Workflow command scaffold for merge-upstream-with-conflict-resolution in HopCode.
+allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
+---
+
+# /merge-upstream-with-conflict-resolution
+
+Use this workflow when working on **merge-upstream-with-conflict-resolution** in `HopCode`.
+
+## Goal
+
+Merges upstream changes into the current fork, applies conflict resolution, and ensures project-specific customizations (such as branding or architecture) are preserved.
+
+## Common Files
+
+- `.github/workflows/*.yml`
+- `docs/plans/*.md`
+- `package.json`
+- `packages/*/src/**/*.ts`
+- `packages/*/src/**/*.tsx`
+- `packages/*/src/**/*.test.ts`
+
+## Suggested Sequence
+
+1. Understand the current state and failure mode before editing.
+2. Make the smallest coherent change that satisfies the workflow goal.
+3. Run the most relevant verification for touched files.
+4. Summarize what changed and what still needs review.
+
+## Typical Commit Signals
+
+- Fetch and merge upstream branch
+- Resolve file conflicts, especially in shared or heavily modified files
+- Preserve local branding, architecture, and configuration
+- Summarize merged features and conflict resolutions in commit message
+
+## Notes
+
+- Treat this as a scaffold, not a hard-coded script.
+- Update the command if the workflow evolves materially.
\ No newline at end of file