From f0796d0a15b093425f08dc69b00b9e11f2105fcf Mon Sep 17 00:00:00 2001 From: treylom Date: Thu, 21 May 2026 17:23:16 +0900 Subject: [PATCH 1/3] ci(validate-agents): npm ci for local node_modules (js-yaml ESM resolver) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause: generate-agents-index.mjs imports js-yaml as ESM (`import yaml from 'js-yaml'`), which Node's resolver looks up in LOCAL ./node_modules only — the existing 'npm install -g js-yaml' step makes it globally visible but invisible to ES module imports, causing: Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'js-yaml' imported from /home/runner/work/ThisCode/ThisCode/scripts/generate-agents-index.mjs Fix: prepend 'npm ci' so package.json devDependencies (js-yaml 4.1.0, ajv-cli, ajv-formats) install into ./node_modules where ESM imports resolve. Keep the existing -g line so ajv-cli stays on PATH for shell-script validators. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/validate-agents.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/validate-agents.yml b/.github/workflows/validate-agents.yml index f2b1906..5b4c5ce 100644 --- a/.github/workflows/validate-agents.yml +++ b/.github/workflows/validate-agents.yml @@ -25,6 +25,11 @@ jobs: - name: Install validators run: | + # 2026-05-21 fix: ESM import (`import yaml from 'js-yaml'`) needs LOCAL node_modules + # — global install (`-g`) is not visible to ES module resolver. `npm ci` installs + # devDependencies (js-yaml + ajv-cli + ajv-formats) into ./node_modules. + npm ci + # ajv-cli also needed on PATH for shell-script validators, keep -g install. npm install -g ajv-cli ajv-formats js-yaml sudo apt-get update sudo apt-get install -y jq From 8dbff84742201469057ce967647072b1fd2e1f48 Mon Sep 17 00:00:00 2001 From: treylom Date: Thu, 21 May 2026 17:26:31 +0900 Subject: [PATCH 2/3] ci(validate-agents): expand paths + add workflow_dispatch paths: include workflow file / package.json / package-lock.json so CI changes themselves re-trigger validation on next PR sync. workflow_dispatch: enable manual trigger via 'gh workflow run validate-agents' or GitHub UI 'Run workflow' button (no PR needed). Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/validate-agents.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/validate-agents.yml b/.github/workflows/validate-agents.yml index 5b4c5ce..25d68dc 100644 --- a/.github/workflows/validate-agents.yml +++ b/.github/workflows/validate-agents.yml @@ -10,6 +10,11 @@ on: - 'scripts/generate-agents-index.mjs' - 'hermes-plugin/plugin.yaml' - 'tests/agents/**' + # 2026-05-21 added — workflow / npm deps 자체 변경도 CI 재실행 trigger + - '.github/workflows/validate-agents.yml' + - 'package.json' + - 'package-lock.json' + workflow_dispatch: # 수동 trigger (gh workflow run / GitHub UI) jobs: validate: From c6a478ec94478eb89c1e655722ae656b6e5dacc1 Mon Sep 17 00:00:00 2001 From: treylom Date: Thu, 21 May 2026 17:35:32 +0900 Subject: [PATCH 3/3] ci: sync plugin tool aliases with agents --- .agents/bootstrap.yaml | 1 + .agents/knowledge-manager-at.yaml | 1 + .agents/knowledge-manager-bootstrap.yaml | 1 + .agents/knowledge-manager-lite.yaml | 1 + .agents/knowledge-manager-plain.yaml | 1 + .agents/meetings.yaml | 1 + .agents/search.yaml | 1 + .agents/shared-memory.yaml | 1 + docs/AGENTS.md | 2 +- 9 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.agents/bootstrap.yaml b/.agents/bootstrap.yaml index 31301e8..6771315 100644 --- a/.agents/bootstrap.yaml +++ b/.agents/bootstrap.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - bootstrap + - claude_discode_bootstrap provides_commands: - /thiscode:setup provides_hooks: diff --git a/.agents/knowledge-manager-at.yaml b/.agents/knowledge-manager-at.yaml index 18de45a..3e0dcea 100644 --- a/.agents/knowledge-manager-at.yaml +++ b/.agents/knowledge-manager-at.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - knowledge_manager_at + - claude_discode_km_at provides_commands: - /thiscode:km tier: experimental diff --git a/.agents/knowledge-manager-bootstrap.yaml b/.agents/knowledge-manager-bootstrap.yaml index d928a32..fac17bb 100644 --- a/.agents/knowledge-manager-bootstrap.yaml +++ b/.agents/knowledge-manager-bootstrap.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - knowledge_manager_bootstrap + - claude_discode_km_bootstrap provides_commands: - /thiscode:km-bootstrap tier: external diff --git a/.agents/knowledge-manager-lite.yaml b/.agents/knowledge-manager-lite.yaml index da3dc0e..b8b088a 100644 --- a/.agents/knowledge-manager-lite.yaml +++ b/.agents/knowledge-manager-lite.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - knowledge_manager_lite + - claude_discode_km_lite - claude_discode_ingest provides_commands: - /thiscode:km diff --git a/.agents/knowledge-manager-plain.yaml b/.agents/knowledge-manager-plain.yaml index eefb369..fa8d368 100644 --- a/.agents/knowledge-manager-plain.yaml +++ b/.agents/knowledge-manager-plain.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - knowledge_manager_plain + - claude_discode_km_plain provides_commands: - /thiscode:km tier: internal diff --git a/.agents/meetings.yaml b/.agents/meetings.yaml index acc2272..27d8af7 100644 --- a/.agents/meetings.yaml +++ b/.agents/meetings.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - meetings + - claude_discode_meetings tier: external model: opus[1m] allowedTools: diff --git a/.agents/search.yaml b/.agents/search.yaml index c35455b..fbcdb87 100644 --- a/.agents/search.yaml +++ b/.agents/search.yaml @@ -6,6 +6,7 @@ homepage: https://github.com/treylom/ThisCode provides_tools: - search + - claude_discode_search provides_commands: - /thiscode:search diff --git a/.agents/shared-memory.yaml b/.agents/shared-memory.yaml index a51f668..d62f072 100644 --- a/.agents/shared-memory.yaml +++ b/.agents/shared-memory.yaml @@ -5,6 +5,7 @@ license: MIT homepage: https://github.com/treylom/ThisCode provides_tools: - shared_memory + - claude_discode_shared_memory tier: internal model: opus[1m] allowedTools: diff --git a/docs/AGENTS.md b/docs/AGENTS.md index cf1b496..7a4e05b 100644 --- a/docs/AGENTS.md +++ b/docs/AGENTS.md @@ -126,7 +126,7 @@ benchmark: - `agents.yaml` — index (auto-generated by `scripts/generate-agents-index.mjs --apply`) - `scripts/validate-agents.sh` — pre-commit + CI - `scripts/check-agents-index.mjs` — index roundtrip check -- `hermes-plugin/plugin.yaml` — plugin-level aggregation (provides_tools superset of all `.agents/*.yaml`) +- `hermes-plugin/plugin.yaml` — plugin-level aggregation (each plugin `provides_tools` entry must be declared by `.agents/*.yaml`) ## 산업 reference