winter-super-cli 2026.5.32 → 2026.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3103) hide show
  1. package/README.md +9 -5
  2. package/bin/winter.js +39 -4
  3. package/package.json +21 -2
  4. package/resources/local/ecc/.agents/plugins/marketplace.json +21 -0
  5. package/resources/local/ecc/.agents/skills/agent-introspection-debugging/SKILL.md +152 -0
  6. package/resources/local/ecc/.agents/skills/agent-introspection-debugging/agents/openai.yaml +7 -0
  7. package/resources/local/ecc/.agents/skills/agent-sort/SKILL.md +214 -0
  8. package/resources/local/ecc/.agents/skills/agent-sort/agents/openai.yaml +7 -0
  9. package/resources/local/ecc/.agents/skills/api-design/SKILL.md +522 -0
  10. package/resources/local/ecc/.agents/skills/api-design/agents/openai.yaml +7 -0
  11. package/resources/local/ecc/.agents/skills/article-writing/SKILL.md +78 -0
  12. package/resources/local/ecc/.agents/skills/article-writing/agents/openai.yaml +7 -0
  13. package/resources/local/ecc/.agents/skills/backend-patterns/SKILL.md +597 -0
  14. package/resources/local/ecc/.agents/skills/backend-patterns/agents/openai.yaml +7 -0
  15. package/resources/local/ecc/.agents/skills/brand-voice/SKILL.md +96 -0
  16. package/resources/local/ecc/.agents/skills/brand-voice/agents/openai.yaml +7 -0
  17. package/resources/local/ecc/.agents/skills/brand-voice/references/voice-profile-schema.md +55 -0
  18. package/resources/local/ecc/.agents/skills/bun-runtime/SKILL.md +83 -0
  19. package/resources/local/ecc/.agents/skills/bun-runtime/agents/openai.yaml +7 -0
  20. package/resources/local/ecc/.agents/skills/coding-standards/SKILL.md +548 -0
  21. package/resources/local/ecc/.agents/skills/coding-standards/agents/openai.yaml +7 -0
  22. package/resources/local/ecc/.agents/skills/content-engine/SKILL.md +130 -0
  23. package/resources/local/ecc/.agents/skills/content-engine/agents/openai.yaml +7 -0
  24. package/resources/local/ecc/.agents/skills/crosspost/SKILL.md +110 -0
  25. package/resources/local/ecc/.agents/skills/crosspost/agents/openai.yaml +7 -0
  26. package/resources/local/ecc/.agents/skills/deep-research/SKILL.md +154 -0
  27. package/resources/local/ecc/.agents/skills/deep-research/agents/openai.yaml +7 -0
  28. package/resources/local/ecc/.agents/skills/dmux-workflows/SKILL.md +143 -0
  29. package/resources/local/ecc/.agents/skills/dmux-workflows/agents/openai.yaml +7 -0
  30. package/resources/local/ecc/.agents/skills/documentation-lookup/SKILL.md +89 -0
  31. package/resources/local/ecc/.agents/skills/documentation-lookup/agents/openai.yaml +7 -0
  32. package/resources/local/ecc/.agents/skills/e2e-testing/SKILL.md +325 -0
  33. package/resources/local/ecc/.agents/skills/e2e-testing/agents/openai.yaml +7 -0
  34. package/resources/local/ecc/.agents/skills/eval-harness/SKILL.md +235 -0
  35. package/resources/local/ecc/.agents/skills/eval-harness/agents/openai.yaml +7 -0
  36. package/resources/local/ecc/.agents/skills/everything-claude-code/SKILL.md +442 -0
  37. package/resources/local/ecc/.agents/skills/everything-claude-code/agents/openai.yaml +7 -0
  38. package/resources/local/ecc/.agents/skills/exa-search/SKILL.md +169 -0
  39. package/resources/local/ecc/.agents/skills/exa-search/agents/openai.yaml +7 -0
  40. package/resources/local/ecc/.agents/skills/fal-ai-media/SKILL.md +276 -0
  41. package/resources/local/ecc/.agents/skills/fal-ai-media/agents/openai.yaml +7 -0
  42. package/resources/local/ecc/.agents/skills/frontend-patterns/SKILL.md +647 -0
  43. package/resources/local/ecc/.agents/skills/frontend-patterns/agents/openai.yaml +7 -0
  44. package/resources/local/ecc/.agents/skills/frontend-slides/SKILL.md +183 -0
  45. package/resources/local/ecc/.agents/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  46. package/resources/local/ecc/.agents/skills/frontend-slides/agents/openai.yaml +7 -0
  47. package/resources/local/ecc/.agents/skills/investor-materials/SKILL.md +95 -0
  48. package/resources/local/ecc/.agents/skills/investor-materials/agents/openai.yaml +7 -0
  49. package/resources/local/ecc/.agents/skills/investor-outreach/SKILL.md +90 -0
  50. package/resources/local/ecc/.agents/skills/investor-outreach/agents/openai.yaml +7 -0
  51. package/resources/local/ecc/.agents/skills/market-research/SKILL.md +74 -0
  52. package/resources/local/ecc/.agents/skills/market-research/agents/openai.yaml +7 -0
  53. package/resources/local/ecc/.agents/skills/mcp-server-patterns/SKILL.md +66 -0
  54. package/resources/local/ecc/.agents/skills/mcp-server-patterns/agents/openai.yaml +7 -0
  55. package/resources/local/ecc/.agents/skills/mle-workflow/SKILL.md +346 -0
  56. package/resources/local/ecc/.agents/skills/mle-workflow/agents/openai.yaml +7 -0
  57. package/resources/local/ecc/.agents/skills/nextjs-turbopack/SKILL.md +43 -0
  58. package/resources/local/ecc/.agents/skills/nextjs-turbopack/agents/openai.yaml +7 -0
  59. package/resources/local/ecc/.agents/skills/product-capability/SKILL.md +140 -0
  60. package/resources/local/ecc/.agents/skills/product-capability/agents/openai.yaml +7 -0
  61. package/resources/local/ecc/.agents/skills/security-review/SKILL.md +494 -0
  62. package/resources/local/ecc/.agents/skills/security-review/agents/openai.yaml +7 -0
  63. package/resources/local/ecc/.agents/skills/strategic-compact/SKILL.md +102 -0
  64. package/resources/local/ecc/.agents/skills/strategic-compact/agents/openai.yaml +7 -0
  65. package/resources/local/ecc/.agents/skills/tdd-workflow/SKILL.md +409 -0
  66. package/resources/local/ecc/.agents/skills/tdd-workflow/agents/openai.yaml +7 -0
  67. package/resources/local/ecc/.agents/skills/verification-loop/SKILL.md +125 -0
  68. package/resources/local/ecc/.agents/skills/verification-loop/agents/openai.yaml +7 -0
  69. package/resources/local/ecc/.agents/skills/video-editing/SKILL.md +307 -0
  70. package/resources/local/ecc/.agents/skills/video-editing/agents/openai.yaml +7 -0
  71. package/resources/local/ecc/.agents/skills/x-api/SKILL.md +229 -0
  72. package/resources/local/ecc/.agents/skills/x-api/agents/openai.yaml +7 -0
  73. package/resources/local/ecc/.claude/commands/add-language-rules.md +39 -0
  74. package/resources/local/ecc/.claude/commands/database-migration.md +36 -0
  75. package/resources/local/ecc/.claude/commands/feature-development.md +38 -0
  76. package/resources/local/ecc/.claude/ecc-tools.json +334 -0
  77. package/resources/local/ecc/.claude/enterprise/controls.md +15 -0
  78. package/resources/local/ecc/.claude/homunculus/instincts/inherited/everything-claude-code-instincts.yaml +162 -0
  79. package/resources/local/ecc/.claude/identity.json +14 -0
  80. package/resources/local/ecc/.claude/package-manager.json +4 -0
  81. package/resources/local/ecc/.claude/research/everything-claude-code-research-playbook.md +21 -0
  82. package/resources/local/ecc/.claude/rules/everything-claude-code-guardrails.md +43 -0
  83. package/resources/local/ecc/.claude/rules/node.md +56 -0
  84. package/resources/local/ecc/.claude/skills/everything-claude-code/SKILL.md +442 -0
  85. package/resources/local/ecc/.claude/team/everything-claude-code-team-config.json +15 -0
  86. package/resources/local/ecc/.claude-plugin/README.md +17 -0
  87. package/resources/local/ecc/.claude-plugin/marketplace.json +47 -0
  88. package/resources/local/ecc/.claude-plugin/plugin.json +32 -0
  89. package/resources/local/ecc/.codebuddy/README.md +98 -0
  90. package/resources/local/ecc/.codebuddy/install.js +312 -0
  91. package/resources/local/ecc/.codebuddy/install.sh +231 -0
  92. package/resources/local/ecc/.codebuddy/uninstall.js +291 -0
  93. package/resources/local/ecc/.codebuddy/uninstall.sh +184 -0
  94. package/resources/local/ecc/.codex/AGENTS.md +102 -0
  95. package/resources/local/ecc/.codex/agents/docs-researcher.toml +9 -0
  96. package/resources/local/ecc/.codex/agents/explorer.toml +9 -0
  97. package/resources/local/ecc/.codex/agents/reviewer.toml +9 -0
  98. package/resources/local/ecc/.codex/config.toml +120 -0
  99. package/resources/local/ecc/.codex-plugin/README.md +64 -0
  100. package/resources/local/ecc/.codex-plugin/plugin.json +30 -0
  101. package/resources/local/ecc/.cursor/hooks/adapter.js +81 -0
  102. package/resources/local/ecc/.cursor/hooks/after-file-edit.js +19 -0
  103. package/resources/local/ecc/.cursor/hooks/after-mcp-execution.js +12 -0
  104. package/resources/local/ecc/.cursor/hooks/after-shell-execution.js +28 -0
  105. package/resources/local/ecc/.cursor/hooks/after-tab-file-edit.js +12 -0
  106. package/resources/local/ecc/.cursor/hooks/before-mcp-execution.js +11 -0
  107. package/resources/local/ecc/.cursor/hooks/before-read-file.js +13 -0
  108. package/resources/local/ecc/.cursor/hooks/before-shell-execution.js +41 -0
  109. package/resources/local/ecc/.cursor/hooks/before-submit-prompt.js +23 -0
  110. package/resources/local/ecc/.cursor/hooks/before-tab-file-read.js +13 -0
  111. package/resources/local/ecc/.cursor/hooks/pre-compact.js +7 -0
  112. package/resources/local/ecc/.cursor/hooks/session-end.js +10 -0
  113. package/resources/local/ecc/.cursor/hooks/session-start.js +10 -0
  114. package/resources/local/ecc/.cursor/hooks/stop.js +21 -0
  115. package/resources/local/ecc/.cursor/hooks/subagent-start.js +10 -0
  116. package/resources/local/ecc/.cursor/hooks/subagent-stop.js +10 -0
  117. package/resources/local/ecc/.cursor/hooks.json +115 -0
  118. package/resources/local/ecc/.cursor/rules/common-agents.md +53 -0
  119. package/resources/local/ecc/.cursor/rules/common-coding-style.md +52 -0
  120. package/resources/local/ecc/.cursor/rules/common-development-workflow.md +33 -0
  121. package/resources/local/ecc/.cursor/rules/common-git-workflow.md +28 -0
  122. package/resources/local/ecc/.cursor/rules/common-hooks.md +34 -0
  123. package/resources/local/ecc/.cursor/rules/common-patterns.md +35 -0
  124. package/resources/local/ecc/.cursor/rules/common-performance.md +59 -0
  125. package/resources/local/ecc/.cursor/rules/common-security.md +33 -0
  126. package/resources/local/ecc/.cursor/rules/common-testing.md +33 -0
  127. package/resources/local/ecc/.cursor/rules/golang-coding-style.md +31 -0
  128. package/resources/local/ecc/.cursor/rules/golang-hooks.md +16 -0
  129. package/resources/local/ecc/.cursor/rules/golang-patterns.md +44 -0
  130. package/resources/local/ecc/.cursor/rules/golang-security.md +33 -0
  131. package/resources/local/ecc/.cursor/rules/golang-testing.md +30 -0
  132. package/resources/local/ecc/.cursor/rules/kotlin-coding-style.md +39 -0
  133. package/resources/local/ecc/.cursor/rules/kotlin-hooks.md +16 -0
  134. package/resources/local/ecc/.cursor/rules/kotlin-patterns.md +50 -0
  135. package/resources/local/ecc/.cursor/rules/kotlin-security.md +58 -0
  136. package/resources/local/ecc/.cursor/rules/kotlin-testing.md +38 -0
  137. package/resources/local/ecc/.cursor/rules/php-coding-style.md +25 -0
  138. package/resources/local/ecc/.cursor/rules/php-hooks.md +21 -0
  139. package/resources/local/ecc/.cursor/rules/php-patterns.md +23 -0
  140. package/resources/local/ecc/.cursor/rules/php-security.md +24 -0
  141. package/resources/local/ecc/.cursor/rules/php-testing.md +26 -0
  142. package/resources/local/ecc/.cursor/rules/python-coding-style.md +42 -0
  143. package/resources/local/ecc/.cursor/rules/python-hooks.md +19 -0
  144. package/resources/local/ecc/.cursor/rules/python-patterns.md +39 -0
  145. package/resources/local/ecc/.cursor/rules/python-security.md +30 -0
  146. package/resources/local/ecc/.cursor/rules/python-testing.md +38 -0
  147. package/resources/local/ecc/.cursor/rules/swift-coding-style.md +47 -0
  148. package/resources/local/ecc/.cursor/rules/swift-hooks.md +20 -0
  149. package/resources/local/ecc/.cursor/rules/swift-patterns.md +66 -0
  150. package/resources/local/ecc/.cursor/rules/swift-security.md +33 -0
  151. package/resources/local/ecc/.cursor/rules/swift-testing.md +45 -0
  152. package/resources/local/ecc/.cursor/rules/typescript-coding-style.md +63 -0
  153. package/resources/local/ecc/.cursor/rules/typescript-hooks.md +20 -0
  154. package/resources/local/ecc/.cursor/rules/typescript-patterns.md +50 -0
  155. package/resources/local/ecc/.cursor/rules/typescript-security.md +26 -0
  156. package/resources/local/ecc/.cursor/rules/typescript-testing.md +16 -0
  157. package/resources/local/ecc/.cursor/skills/article-writing/SKILL.md +85 -0
  158. package/resources/local/ecc/.cursor/skills/bun-runtime/SKILL.md +84 -0
  159. package/resources/local/ecc/.cursor/skills/content-engine/SKILL.md +88 -0
  160. package/resources/local/ecc/.cursor/skills/documentation-lookup/SKILL.md +90 -0
  161. package/resources/local/ecc/.cursor/skills/frontend-slides/SKILL.md +184 -0
  162. package/resources/local/ecc/.cursor/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  163. package/resources/local/ecc/.cursor/skills/investor-materials/SKILL.md +96 -0
  164. package/resources/local/ecc/.cursor/skills/investor-outreach/SKILL.md +76 -0
  165. package/resources/local/ecc/.cursor/skills/market-research/SKILL.md +75 -0
  166. package/resources/local/ecc/.cursor/skills/mcp-server-patterns/SKILL.md +67 -0
  167. package/resources/local/ecc/.cursor/skills/nextjs-turbopack/SKILL.md +44 -0
  168. package/resources/local/ecc/.env.example +48 -0
  169. package/resources/local/ecc/.gemini/GEMINI.md +48 -0
  170. package/resources/local/ecc/.github/FUNDING.yml +2 -0
  171. package/resources/local/ecc/.github/ISSUE_TEMPLATE/copilot-task.md +17 -0
  172. package/resources/local/ecc/.github/PULL_REQUEST_TEMPLATE.md +33 -0
  173. package/resources/local/ecc/.github/copilot-instructions.md +115 -0
  174. package/resources/local/ecc/.github/dependabot.yml +21 -0
  175. package/resources/local/ecc/.github/prompts/build-fix.prompt.md +47 -0
  176. package/resources/local/ecc/.github/prompts/code-review.prompt.md +56 -0
  177. package/resources/local/ecc/.github/prompts/plan.prompt.md +52 -0
  178. package/resources/local/ecc/.github/prompts/refactor.prompt.md +50 -0
  179. package/resources/local/ecc/.github/prompts/security-review.prompt.md +70 -0
  180. package/resources/local/ecc/.github/prompts/tdd.prompt.md +47 -0
  181. package/resources/local/ecc/.github/release.yml +20 -0
  182. package/resources/local/ecc/.github/workflows/ci.yml +243 -0
  183. package/resources/local/ecc/.github/workflows/maintenance.yml +56 -0
  184. package/resources/local/ecc/.github/workflows/monthly-metrics.yml +192 -0
  185. package/resources/local/ecc/.github/workflows/release.yml +151 -0
  186. package/resources/local/ecc/.github/workflows/reusable-release.yml +169 -0
  187. package/resources/local/ecc/.github/workflows/reusable-test.yml +95 -0
  188. package/resources/local/ecc/.github/workflows/reusable-validate.yml +55 -0
  189. package/resources/local/ecc/.github/workflows/supply-chain-watch.yml +65 -0
  190. package/resources/local/ecc/.kiro/README.md +607 -0
  191. package/resources/local/ecc/.kiro/agents/architect.json +16 -0
  192. package/resources/local/ecc/.kiro/agents/architect.md +212 -0
  193. package/resources/local/ecc/.kiro/agents/build-error-resolver.json +17 -0
  194. package/resources/local/ecc/.kiro/agents/build-error-resolver.md +116 -0
  195. package/resources/local/ecc/.kiro/agents/chief-of-staff.json +17 -0
  196. package/resources/local/ecc/.kiro/agents/chief-of-staff.md +153 -0
  197. package/resources/local/ecc/.kiro/agents/code-reviewer.json +16 -0
  198. package/resources/local/ecc/.kiro/agents/code-reviewer.md +238 -0
  199. package/resources/local/ecc/.kiro/agents/database-reviewer.json +16 -0
  200. package/resources/local/ecc/.kiro/agents/database-reviewer.md +92 -0
  201. package/resources/local/ecc/.kiro/agents/doc-updater.json +16 -0
  202. package/resources/local/ecc/.kiro/agents/doc-updater.md +108 -0
  203. package/resources/local/ecc/.kiro/agents/e2e-runner.json +17 -0
  204. package/resources/local/ecc/.kiro/agents/e2e-runner.md +109 -0
  205. package/resources/local/ecc/.kiro/agents/go-build-resolver.json +17 -0
  206. package/resources/local/ecc/.kiro/agents/go-build-resolver.md +96 -0
  207. package/resources/local/ecc/.kiro/agents/go-reviewer.json +16 -0
  208. package/resources/local/ecc/.kiro/agents/go-reviewer.md +77 -0
  209. package/resources/local/ecc/.kiro/agents/harness-optimizer.json +15 -0
  210. package/resources/local/ecc/.kiro/agents/harness-optimizer.md +34 -0
  211. package/resources/local/ecc/.kiro/agents/loop-operator.json +16 -0
  212. package/resources/local/ecc/.kiro/agents/loop-operator.md +36 -0
  213. package/resources/local/ecc/.kiro/agents/planner.json +15 -0
  214. package/resources/local/ecc/.kiro/agents/planner.md +212 -0
  215. package/resources/local/ecc/.kiro/agents/python-reviewer.json +16 -0
  216. package/resources/local/ecc/.kiro/agents/python-reviewer.md +99 -0
  217. package/resources/local/ecc/.kiro/agents/refactor-cleaner.json +17 -0
  218. package/resources/local/ecc/.kiro/agents/refactor-cleaner.md +87 -0
  219. package/resources/local/ecc/.kiro/agents/security-reviewer.json +16 -0
  220. package/resources/local/ecc/.kiro/agents/security-reviewer.md +109 -0
  221. package/resources/local/ecc/.kiro/agents/tdd-guide.json +17 -0
  222. package/resources/local/ecc/.kiro/agents/tdd-guide.md +93 -0
  223. package/resources/local/ecc/.kiro/docs/longform-guide.md +301 -0
  224. package/resources/local/ecc/.kiro/docs/security-guide.md +496 -0
  225. package/resources/local/ecc/.kiro/docs/shortform-guide.md +360 -0
  226. package/resources/local/ecc/.kiro/hooks/README.md +93 -0
  227. package/resources/local/ecc/.kiro/hooks/auto-format.kiro.hook +14 -0
  228. package/resources/local/ecc/.kiro/hooks/code-review-on-write.kiro.hook +14 -0
  229. package/resources/local/ecc/.kiro/hooks/console-log-check.kiro.hook +14 -0
  230. package/resources/local/ecc/.kiro/hooks/doc-file-warning.kiro.hook +14 -0
  231. package/resources/local/ecc/.kiro/hooks/extract-patterns.kiro.hook +13 -0
  232. package/resources/local/ecc/.kiro/hooks/git-push-review.kiro.hook +14 -0
  233. package/resources/local/ecc/.kiro/hooks/quality-gate.kiro.hook +13 -0
  234. package/resources/local/ecc/.kiro/hooks/session-summary.kiro.hook +13 -0
  235. package/resources/local/ecc/.kiro/hooks/tdd-reminder.kiro.hook +14 -0
  236. package/resources/local/ecc/.kiro/hooks/typecheck-on-edit.kiro.hook +14 -0
  237. package/resources/local/ecc/.kiro/install.sh +143 -0
  238. package/resources/local/ecc/.kiro/scripts/format.sh +70 -0
  239. package/resources/local/ecc/.kiro/scripts/quality-gate.sh +120 -0
  240. package/resources/local/ecc/.kiro/settings/mcp.json.example +50 -0
  241. package/resources/local/ecc/.kiro/skills/agentic-engineering/SKILL.md +135 -0
  242. package/resources/local/ecc/.kiro/skills/api-design/SKILL.md +525 -0
  243. package/resources/local/ecc/.kiro/skills/backend-patterns/SKILL.md +600 -0
  244. package/resources/local/ecc/.kiro/skills/coding-standards/SKILL.md +532 -0
  245. package/resources/local/ecc/.kiro/skills/database-migrations/SKILL.md +348 -0
  246. package/resources/local/ecc/.kiro/skills/deployment-patterns/SKILL.md +440 -0
  247. package/resources/local/ecc/.kiro/skills/docker-patterns/SKILL.md +376 -0
  248. package/resources/local/ecc/.kiro/skills/e2e-testing/SKILL.md +328 -0
  249. package/resources/local/ecc/.kiro/skills/frontend-patterns/SKILL.md +644 -0
  250. package/resources/local/ecc/.kiro/skills/golang-patterns/SKILL.md +227 -0
  251. package/resources/local/ecc/.kiro/skills/golang-testing/SKILL.md +332 -0
  252. package/resources/local/ecc/.kiro/skills/postgres-patterns/SKILL.md +161 -0
  253. package/resources/local/ecc/.kiro/skills/python-patterns/SKILL.md +428 -0
  254. package/resources/local/ecc/.kiro/skills/python-testing/SKILL.md +497 -0
  255. package/resources/local/ecc/.kiro/skills/search-first/SKILL.md +179 -0
  256. package/resources/local/ecc/.kiro/skills/security-review/SKILL.md +497 -0
  257. package/resources/local/ecc/.kiro/skills/tdd-workflow/SKILL.md +414 -0
  258. package/resources/local/ecc/.kiro/skills/verification-loop/SKILL.md +128 -0
  259. package/resources/local/ecc/.kiro/steering/coding-style.md +53 -0
  260. package/resources/local/ecc/.kiro/steering/dev-mode.md +44 -0
  261. package/resources/local/ecc/.kiro/steering/development-workflow.md +34 -0
  262. package/resources/local/ecc/.kiro/steering/git-workflow.md +29 -0
  263. package/resources/local/ecc/.kiro/steering/golang-patterns.md +45 -0
  264. package/resources/local/ecc/.kiro/steering/lessons-learned.md +84 -0
  265. package/resources/local/ecc/.kiro/steering/patterns.md +36 -0
  266. package/resources/local/ecc/.kiro/steering/performance.md +54 -0
  267. package/resources/local/ecc/.kiro/steering/python-patterns.md +40 -0
  268. package/resources/local/ecc/.kiro/steering/research-mode.md +62 -0
  269. package/resources/local/ecc/.kiro/steering/review-mode.md +56 -0
  270. package/resources/local/ecc/.kiro/steering/security.md +34 -0
  271. package/resources/local/ecc/.kiro/steering/swift-patterns.md +67 -0
  272. package/resources/local/ecc/.kiro/steering/testing.md +34 -0
  273. package/resources/local/ecc/.kiro/steering/typescript-patterns.md +51 -0
  274. package/resources/local/ecc/.kiro/steering/typescript-security.md +98 -0
  275. package/resources/local/ecc/.markdownlint.json +19 -0
  276. package/resources/local/ecc/.mcp.json +28 -0
  277. package/resources/local/ecc/.opencode/MIGRATION.md +368 -0
  278. package/resources/local/ecc/.opencode/README.md +204 -0
  279. package/resources/local/ecc/.opencode/commands/build-fix.md +56 -0
  280. package/resources/local/ecc/.opencode/commands/checkpoint.md +67 -0
  281. package/resources/local/ecc/.opencode/commands/code-review.md +68 -0
  282. package/resources/local/ecc/.opencode/commands/e2e.md +105 -0
  283. package/resources/local/ecc/.opencode/commands/eval.md +88 -0
  284. package/resources/local/ecc/.opencode/commands/evolve.md +36 -0
  285. package/resources/local/ecc/.opencode/commands/go-build.md +87 -0
  286. package/resources/local/ecc/.opencode/commands/go-review.md +71 -0
  287. package/resources/local/ecc/.opencode/commands/go-test.md +131 -0
  288. package/resources/local/ecc/.opencode/commands/harness-audit.md +77 -0
  289. package/resources/local/ecc/.opencode/commands/instinct-export.md +93 -0
  290. package/resources/local/ecc/.opencode/commands/instinct-import.md +88 -0
  291. package/resources/local/ecc/.opencode/commands/instinct-status.md +29 -0
  292. package/resources/local/ecc/.opencode/commands/learn.md +61 -0
  293. package/resources/local/ecc/.opencode/commands/loop-start.md +32 -0
  294. package/resources/local/ecc/.opencode/commands/loop-status.md +24 -0
  295. package/resources/local/ecc/.opencode/commands/model-route.md +26 -0
  296. package/resources/local/ecc/.opencode/commands/orchestrate.md +88 -0
  297. package/resources/local/ecc/.opencode/commands/plan.md +49 -0
  298. package/resources/local/ecc/.opencode/commands/projects.md +23 -0
  299. package/resources/local/ecc/.opencode/commands/promote.md +23 -0
  300. package/resources/local/ecc/.opencode/commands/quality-gate.md +29 -0
  301. package/resources/local/ecc/.opencode/commands/refactor-clean.md +102 -0
  302. package/resources/local/ecc/.opencode/commands/rust-build.md +78 -0
  303. package/resources/local/ecc/.opencode/commands/rust-review.md +65 -0
  304. package/resources/local/ecc/.opencode/commands/rust-test.md +104 -0
  305. package/resources/local/ecc/.opencode/commands/security-scan.md +92 -0
  306. package/resources/local/ecc/.opencode/commands/security.md +89 -0
  307. package/resources/local/ecc/.opencode/commands/setup-pm.md +67 -0
  308. package/resources/local/ecc/.opencode/commands/skill-create.md +117 -0
  309. package/resources/local/ecc/.opencode/commands/tdd.md +66 -0
  310. package/resources/local/ecc/.opencode/commands/test-coverage.md +80 -0
  311. package/resources/local/ecc/.opencode/commands/update-codemaps.md +81 -0
  312. package/resources/local/ecc/.opencode/commands/update-docs.md +67 -0
  313. package/resources/local/ecc/.opencode/commands/verify.md +67 -0
  314. package/resources/local/ecc/.opencode/index.ts +80 -0
  315. package/resources/local/ecc/.opencode/instructions/INSTRUCTIONS.md +337 -0
  316. package/resources/local/ecc/.opencode/opencode.json +467 -0
  317. package/resources/local/ecc/.opencode/package-lock.json +169 -0
  318. package/resources/local/ecc/.opencode/package.json +70 -0
  319. package/resources/local/ecc/.opencode/plugins/ecc-hooks.ts +520 -0
  320. package/resources/local/ecc/.opencode/plugins/index.ts +12 -0
  321. package/resources/local/ecc/.opencode/plugins/lib/changed-files-store.ts +98 -0
  322. package/resources/local/ecc/.opencode/prompts/agents/architect.txt +175 -0
  323. package/resources/local/ecc/.opencode/prompts/agents/build-error-resolver.txt +233 -0
  324. package/resources/local/ecc/.opencode/prompts/agents/code-reviewer.txt +103 -0
  325. package/resources/local/ecc/.opencode/prompts/agents/cpp-build-resolver.txt +81 -0
  326. package/resources/local/ecc/.opencode/prompts/agents/cpp-reviewer.txt +65 -0
  327. package/resources/local/ecc/.opencode/prompts/agents/database-reviewer.txt +247 -0
  328. package/resources/local/ecc/.opencode/prompts/agents/doc-updater.txt +192 -0
  329. package/resources/local/ecc/.opencode/prompts/agents/docs-lookup.txt +57 -0
  330. package/resources/local/ecc/.opencode/prompts/agents/e2e-runner.txt +305 -0
  331. package/resources/local/ecc/.opencode/prompts/agents/go-build-resolver.txt +325 -0
  332. package/resources/local/ecc/.opencode/prompts/agents/go-reviewer.txt +241 -0
  333. package/resources/local/ecc/.opencode/prompts/agents/harness-optimizer.txt +27 -0
  334. package/resources/local/ecc/.opencode/prompts/agents/java-build-resolver.txt +125 -0
  335. package/resources/local/ecc/.opencode/prompts/agents/java-reviewer.txt +99 -0
  336. package/resources/local/ecc/.opencode/prompts/agents/kotlin-build-resolver.txt +120 -0
  337. package/resources/local/ecc/.opencode/prompts/agents/kotlin-reviewer.txt +127 -0
  338. package/resources/local/ecc/.opencode/prompts/agents/loop-operator.txt +39 -0
  339. package/resources/local/ecc/.opencode/prompts/agents/planner.txt +112 -0
  340. package/resources/local/ecc/.opencode/prompts/agents/python-reviewer.txt +85 -0
  341. package/resources/local/ecc/.opencode/prompts/agents/refactor-cleaner.txt +241 -0
  342. package/resources/local/ecc/.opencode/prompts/agents/rust-build-resolver.txt +93 -0
  343. package/resources/local/ecc/.opencode/prompts/agents/rust-reviewer.txt +61 -0
  344. package/resources/local/ecc/.opencode/prompts/agents/security-reviewer.txt +207 -0
  345. package/resources/local/ecc/.opencode/prompts/agents/tdd-guide.txt +211 -0
  346. package/resources/local/ecc/.opencode/tools/changed-files.ts +83 -0
  347. package/resources/local/ecc/.opencode/tools/check-coverage.ts +172 -0
  348. package/resources/local/ecc/.opencode/tools/format-code.ts +70 -0
  349. package/resources/local/ecc/.opencode/tools/git-summary.ts +56 -0
  350. package/resources/local/ecc/.opencode/tools/index.ts +14 -0
  351. package/resources/local/ecc/.opencode/tools/lint-check.ts +87 -0
  352. package/resources/local/ecc/.opencode/tools/run-tests.ts +141 -0
  353. package/resources/local/ecc/.opencode/tools/security-audit.ts +279 -0
  354. package/resources/local/ecc/.opencode/tsconfig.json +30 -0
  355. package/resources/local/ecc/.prettierrc +8 -0
  356. package/resources/local/ecc/.qwen/QWEN.md +25 -0
  357. package/resources/local/ecc/.tool-versions +6 -0
  358. package/resources/local/ecc/.trae/README.md +184 -0
  359. package/resources/local/ecc/.trae/install.sh +234 -0
  360. package/resources/local/ecc/.trae/uninstall.sh +194 -0
  361. package/resources/local/ecc/.vscode/settings.json +17 -0
  362. package/resources/local/ecc/.yarnrc.yml +1 -0
  363. package/resources/local/ecc/.zed/settings.json +41 -0
  364. package/resources/local/ecc/AGENTS.md +170 -0
  365. package/resources/local/ecc/CHANGELOG.md +203 -0
  366. package/resources/local/ecc/CLAUDE.md +81 -0
  367. package/resources/local/ecc/CODE_OF_CONDUCT.md +128 -0
  368. package/resources/local/ecc/COMMANDS-QUICK-REF.md +159 -0
  369. package/resources/local/ecc/CONTRIBUTING.md +507 -0
  370. package/resources/local/ecc/EVALUATION.md +122 -0
  371. package/resources/local/ecc/LICENSE +21 -0
  372. package/resources/local/ecc/README.md +1760 -0
  373. package/resources/local/ecc/REPO-ASSESSMENT.md +196 -0
  374. package/resources/local/ecc/RULES.md +38 -0
  375. package/resources/local/ecc/SECURITY.md +101 -0
  376. package/resources/local/ecc/SOUL.md +17 -0
  377. package/resources/local/ecc/SPONSORING.md +43 -0
  378. package/resources/local/ecc/SPONSORS.md +76 -0
  379. package/resources/local/ecc/TROUBLESHOOTING.md +432 -0
  380. package/resources/local/ecc/VERSION +1 -0
  381. package/resources/local/ecc/WORKING-CONTEXT.md +179 -0
  382. package/resources/local/ecc/agent.yaml +238 -0
  383. package/resources/local/ecc/agents/a11y-architect.md +149 -0
  384. package/resources/local/ecc/agents/architect.md +220 -0
  385. package/resources/local/ecc/agents/build-error-resolver.md +123 -0
  386. package/resources/local/ecc/agents/chief-of-staff.md +160 -0
  387. package/resources/local/ecc/agents/code-architect.md +80 -0
  388. package/resources/local/ecc/agents/code-explorer.md +78 -0
  389. package/resources/local/ecc/agents/code-reviewer.md +323 -0
  390. package/resources/local/ecc/agents/code-simplifier.md +56 -0
  391. package/resources/local/ecc/agents/comment-analyzer.md +54 -0
  392. package/resources/local/ecc/agents/conversation-analyzer.md +61 -0
  393. package/resources/local/ecc/agents/cpp-build-resolver.md +99 -0
  394. package/resources/local/ecc/agents/cpp-reviewer.md +81 -0
  395. package/resources/local/ecc/agents/csharp-reviewer.md +110 -0
  396. package/resources/local/ecc/agents/dart-build-resolver.md +210 -0
  397. package/resources/local/ecc/agents/database-reviewer.md +100 -0
  398. package/resources/local/ecc/agents/django-build-resolver.md +252 -0
  399. package/resources/local/ecc/agents/django-reviewer.md +169 -0
  400. package/resources/local/ecc/agents/doc-updater.md +116 -0
  401. package/resources/local/ecc/agents/docs-lookup.md +77 -0
  402. package/resources/local/ecc/agents/e2e-runner.md +116 -0
  403. package/resources/local/ecc/agents/fastapi-reviewer.md +79 -0
  404. package/resources/local/ecc/agents/flutter-reviewer.md +252 -0
  405. package/resources/local/ecc/agents/fsharp-reviewer.md +109 -0
  406. package/resources/local/ecc/agents/gan-evaluator.md +218 -0
  407. package/resources/local/ecc/agents/gan-generator.md +140 -0
  408. package/resources/local/ecc/agents/gan-planner.md +108 -0
  409. package/resources/local/ecc/agents/go-build-resolver.md +103 -0
  410. package/resources/local/ecc/agents/go-reviewer.md +85 -0
  411. package/resources/local/ecc/agents/harmonyos-app-resolver.md +182 -0
  412. package/resources/local/ecc/agents/harness-optimizer.md +44 -0
  413. package/resources/local/ecc/agents/healthcare-reviewer.md +92 -0
  414. package/resources/local/ecc/agents/homelab-architect.md +107 -0
  415. package/resources/local/ecc/agents/java-build-resolver.md +275 -0
  416. package/resources/local/ecc/agents/java-reviewer.md +190 -0
  417. package/resources/local/ecc/agents/kotlin-build-resolver.md +127 -0
  418. package/resources/local/ecc/agents/kotlin-reviewer.md +168 -0
  419. package/resources/local/ecc/agents/loop-operator.md +45 -0
  420. package/resources/local/ecc/agents/mle-reviewer.md +162 -0
  421. package/resources/local/ecc/agents/network-architect.md +106 -0
  422. package/resources/local/ecc/agents/network-config-reviewer.md +106 -0
  423. package/resources/local/ecc/agents/network-troubleshooter.md +128 -0
  424. package/resources/local/ecc/agents/opensource-forker.md +207 -0
  425. package/resources/local/ecc/agents/opensource-packager.md +258 -0
  426. package/resources/local/ecc/agents/opensource-sanitizer.md +197 -0
  427. package/resources/local/ecc/agents/performance-optimizer.md +455 -0
  428. package/resources/local/ecc/agents/planner.md +221 -0
  429. package/resources/local/ecc/agents/pr-test-analyzer.md +54 -0
  430. package/resources/local/ecc/agents/python-reviewer.md +107 -0
  431. package/resources/local/ecc/agents/pytorch-build-resolver.md +129 -0
  432. package/resources/local/ecc/agents/refactor-cleaner.md +94 -0
  433. package/resources/local/ecc/agents/rust-build-resolver.md +157 -0
  434. package/resources/local/ecc/agents/rust-reviewer.md +103 -0
  435. package/resources/local/ecc/agents/security-reviewer.md +117 -0
  436. package/resources/local/ecc/agents/seo-specialist.md +71 -0
  437. package/resources/local/ecc/agents/silent-failure-hunter.md +59 -0
  438. package/resources/local/ecc/agents/swift-build-resolver.md +170 -0
  439. package/resources/local/ecc/agents/swift-reviewer.md +116 -0
  440. package/resources/local/ecc/agents/tdd-guide.md +100 -0
  441. package/resources/local/ecc/agents/type-design-analyzer.md +50 -0
  442. package/resources/local/ecc/agents/typescript-reviewer.md +121 -0
  443. package/resources/local/ecc/assets/hero.png +0 -0
  444. package/resources/local/ecc/assets/images/ecc-logo.png +0 -0
  445. package/resources/local/ecc/assets/images/guides/longform-guide.png +0 -0
  446. package/resources/local/ecc/assets/images/guides/shorthand-guide.png +0 -0
  447. package/resources/local/ecc/assets/images/longform/01-header.png +0 -0
  448. package/resources/local/ecc/assets/images/longform/02-shortform-reference.png +0 -0
  449. package/resources/local/ecc/assets/images/longform/03-session-storage.png +0 -0
  450. package/resources/local/ecc/assets/images/longform/03b-session-storage-alt.png +0 -0
  451. package/resources/local/ecc/assets/images/longform/04-model-selection.png +0 -0
  452. package/resources/local/ecc/assets/images/longform/05-pricing-table.png +0 -0
  453. package/resources/local/ecc/assets/images/longform/06-mgrep-benchmark.png +0 -0
  454. package/resources/local/ecc/assets/images/longform/07-boris-parallel.png +0 -0
  455. package/resources/local/ecc/assets/images/longform/08-two-terminals.png +0 -0
  456. package/resources/local/ecc/assets/images/longform/09-25k-stars.png +0 -0
  457. package/resources/local/ecc/assets/images/security/attack-chain.png +0 -0
  458. package/resources/local/ecc/assets/images/security/attack-vectors.png +0 -0
  459. package/resources/local/ecc/assets/images/security/ghostyy-overflow.jpeg +0 -0
  460. package/resources/local/ecc/assets/images/security/observability.png +0 -0
  461. package/resources/local/ecc/assets/images/security/sandboxing-brain.png +0 -0
  462. package/resources/local/ecc/assets/images/security/sandboxing-comparison.png +0 -0
  463. package/resources/local/ecc/assets/images/security/sandboxing.png +0 -0
  464. package/resources/local/ecc/assets/images/security/sanitization-utility.png +0 -0
  465. package/resources/local/ecc/assets/images/security/sanitization.png +0 -0
  466. package/resources/local/ecc/assets/images/security/security-guide-header.png +0 -0
  467. package/resources/local/ecc/assets/images/shortform/00-header.png +0 -0
  468. package/resources/local/ecc/assets/images/shortform/01-hackathon-tweet.png +0 -0
  469. package/resources/local/ecc/assets/images/shortform/02-chaining-commands.jpeg +0 -0
  470. package/resources/local/ecc/assets/images/shortform/03-posttooluse-hook.png +0 -0
  471. package/resources/local/ecc/assets/images/shortform/04-supabase-mcp.jpeg +0 -0
  472. package/resources/local/ecc/assets/images/shortform/05-plugins-interface.jpeg +0 -0
  473. package/resources/local/ecc/assets/images/shortform/06-marketplaces-mgrep.jpeg +0 -0
  474. package/resources/local/ecc/assets/images/shortform/07-tmux-video.mp4 +0 -0
  475. package/resources/local/ecc/assets/images/shortform/08-github-pr-review.jpeg +0 -0
  476. package/resources/local/ecc/assets/images/shortform/09-zed-editor.jpeg +0 -0
  477. package/resources/local/ecc/assets/images/shortform/10-vscode-extension.jpeg +0 -0
  478. package/resources/local/ecc/assets/images/shortform/11-statusline.jpeg +0 -0
  479. package/resources/local/ecc/commands/aside.md +164 -0
  480. package/resources/local/ecc/commands/auto-update.md +28 -0
  481. package/resources/local/ecc/commands/build-fix.md +66 -0
  482. package/resources/local/ecc/commands/checkpoint.md +78 -0
  483. package/resources/local/ecc/commands/code-review.md +289 -0
  484. package/resources/local/ecc/commands/cost-report.md +107 -0
  485. package/resources/local/ecc/commands/cpp-build.md +173 -0
  486. package/resources/local/ecc/commands/cpp-review.md +132 -0
  487. package/resources/local/ecc/commands/cpp-test.md +251 -0
  488. package/resources/local/ecc/commands/ecc-guide.md +93 -0
  489. package/resources/local/ecc/commands/evolve.md +178 -0
  490. package/resources/local/ecc/commands/fastapi-review.md +39 -0
  491. package/resources/local/ecc/commands/feature-dev.md +49 -0
  492. package/resources/local/ecc/commands/flutter-build.md +164 -0
  493. package/resources/local/ecc/commands/flutter-review.md +116 -0
  494. package/resources/local/ecc/commands/flutter-test.md +144 -0
  495. package/resources/local/ecc/commands/gan-build.md +103 -0
  496. package/resources/local/ecc/commands/gan-design.md +39 -0
  497. package/resources/local/ecc/commands/go-build.md +183 -0
  498. package/resources/local/ecc/commands/go-review.md +148 -0
  499. package/resources/local/ecc/commands/go-test.md +268 -0
  500. package/resources/local/ecc/commands/gradle-build.md +70 -0
  501. package/resources/local/ecc/commands/harness-audit.md +77 -0
  502. package/resources/local/ecc/commands/hookify-configure.md +14 -0
  503. package/resources/local/ecc/commands/hookify-help.md +46 -0
  504. package/resources/local/ecc/commands/hookify-list.md +21 -0
  505. package/resources/local/ecc/commands/hookify.md +50 -0
  506. package/resources/local/ecc/commands/instinct-export.md +66 -0
  507. package/resources/local/ecc/commands/instinct-import.md +114 -0
  508. package/resources/local/ecc/commands/instinct-status.md +59 -0
  509. package/resources/local/ecc/commands/jira.md +106 -0
  510. package/resources/local/ecc/commands/kotlin-build.md +174 -0
  511. package/resources/local/ecc/commands/kotlin-review.md +140 -0
  512. package/resources/local/ecc/commands/kotlin-test.md +312 -0
  513. package/resources/local/ecc/commands/learn-eval.md +116 -0
  514. package/resources/local/ecc/commands/learn.md +74 -0
  515. package/resources/local/ecc/commands/loop-start.md +36 -0
  516. package/resources/local/ecc/commands/loop-status.md +77 -0
  517. package/resources/local/ecc/commands/model-route.md +30 -0
  518. package/resources/local/ecc/commands/multi-backend.md +162 -0
  519. package/resources/local/ecc/commands/multi-execute.md +319 -0
  520. package/resources/local/ecc/commands/multi-frontend.md +162 -0
  521. package/resources/local/ecc/commands/multi-plan.md +272 -0
  522. package/resources/local/ecc/commands/multi-workflow.md +195 -0
  523. package/resources/local/ecc/commands/plan-prd.md +160 -0
  524. package/resources/local/ecc/commands/plan.md +200 -0
  525. package/resources/local/ecc/commands/pm2.md +276 -0
  526. package/resources/local/ecc/commands/pr.md +184 -0
  527. package/resources/local/ecc/commands/project-init.md +86 -0
  528. package/resources/local/ecc/commands/projects.md +39 -0
  529. package/resources/local/ecc/commands/promote.md +41 -0
  530. package/resources/local/ecc/commands/prp-commit.md +112 -0
  531. package/resources/local/ecc/commands/prp-implement.md +385 -0
  532. package/resources/local/ecc/commands/prp-plan.md +502 -0
  533. package/resources/local/ecc/commands/prp-pr.md +184 -0
  534. package/resources/local/ecc/commands/prp-prd.md +447 -0
  535. package/resources/local/ecc/commands/prune.md +31 -0
  536. package/resources/local/ecc/commands/python-review.md +297 -0
  537. package/resources/local/ecc/commands/quality-gate.md +33 -0
  538. package/resources/local/ecc/commands/refactor-clean.md +84 -0
  539. package/resources/local/ecc/commands/resume-session.md +156 -0
  540. package/resources/local/ecc/commands/review-pr.md +37 -0
  541. package/resources/local/ecc/commands/rust-build.md +187 -0
  542. package/resources/local/ecc/commands/rust-review.md +142 -0
  543. package/resources/local/ecc/commands/rust-test.md +308 -0
  544. package/resources/local/ecc/commands/santa-loop.md +175 -0
  545. package/resources/local/ecc/commands/save-session.md +275 -0
  546. package/resources/local/ecc/commands/security-scan.md +92 -0
  547. package/resources/local/ecc/commands/sessions.md +339 -0
  548. package/resources/local/ecc/commands/setup-pm.md +80 -0
  549. package/resources/local/ecc/commands/skill-create.md +174 -0
  550. package/resources/local/ecc/commands/skill-health.md +54 -0
  551. package/resources/local/ecc/commands/test-coverage.md +73 -0
  552. package/resources/local/ecc/commands/update-codemaps.md +76 -0
  553. package/resources/local/ecc/commands/update-docs.md +88 -0
  554. package/resources/local/ecc/commitlint.config.js +11 -0
  555. package/resources/local/ecc/config/project-stack-mappings.json +539 -0
  556. package/resources/local/ecc/contexts/dev.md +20 -0
  557. package/resources/local/ecc/contexts/research.md +26 -0
  558. package/resources/local/ecc/contexts/review.md +22 -0
  559. package/resources/local/ecc/docs/ANTIGRAVITY-GUIDE.md +156 -0
  560. package/resources/local/ecc/docs/ARCHITECTURE-IMPROVEMENTS.md +146 -0
  561. package/resources/local/ecc/docs/COMMAND-AGENT-MAP.md +67 -0
  562. package/resources/local/ecc/docs/COMMAND-REGISTRY.json +898 -0
  563. package/resources/local/ecc/docs/ECC-2.0-GA-ROADMAP.md +1026 -0
  564. package/resources/local/ecc/docs/ECC-2.0-REFERENCE-ARCHITECTURE.md +246 -0
  565. package/resources/local/ecc/docs/ECC-2.0-SESSION-ADAPTER-DISCOVERY.md +322 -0
  566. package/resources/local/ecc/docs/HERMES-OPENCLAW-MIGRATION.md +239 -0
  567. package/resources/local/ecc/docs/HERMES-SETUP.md +125 -0
  568. package/resources/local/ecc/docs/JOYCODE-GUIDE.md +55 -0
  569. package/resources/local/ecc/docs/MANUAL-ADAPTATION-GUIDE.md +214 -0
  570. package/resources/local/ecc/docs/MEGA-PLAN-REPO-PROMPTS-2026-03-12.md +286 -0
  571. package/resources/local/ecc/docs/PHASE1-ISSUE-BUNDLE-2026-03-12.md +272 -0
  572. package/resources/local/ecc/docs/PLAN-PRD-PATTERN.md +154 -0
  573. package/resources/local/ecc/docs/PR-399-REVIEW-2026-03-12.md +59 -0
  574. package/resources/local/ecc/docs/PR-QUEUE-TRIAGE-2026-03-13.md +355 -0
  575. package/resources/local/ecc/docs/QWEN-GUIDE.md +54 -0
  576. package/resources/local/ecc/docs/SELECTIVE-INSTALL-ARCHITECTURE.md +933 -0
  577. package/resources/local/ecc/docs/SELECTIVE-INSTALL-DESIGN.md +489 -0
  578. package/resources/local/ecc/docs/SESSION-ADAPTER-CONTRACT.md +293 -0
  579. package/resources/local/ecc/docs/SKILL-DEVELOPMENT-GUIDE.md +919 -0
  580. package/resources/local/ecc/docs/SKILL-PLACEMENT-POLICY.md +104 -0
  581. package/resources/local/ecc/docs/TROUBLESHOOTING.md +75 -0
  582. package/resources/local/ecc/docs/architecture/agentshield-enterprise-research-roadmap.md +373 -0
  583. package/resources/local/ecc/docs/architecture/cross-harness.md +133 -0
  584. package/resources/local/ecc/docs/architecture/discussion-response-playbook.md +90 -0
  585. package/resources/local/ecc/docs/architecture/evaluator-rag-prototype.md +158 -0
  586. package/resources/local/ecc/docs/architecture/harness-adapter-compliance.md +105 -0
  587. package/resources/local/ecc/docs/architecture/hud-status-session-control.md +80 -0
  588. package/resources/local/ecc/docs/architecture/observability-readiness.md +85 -0
  589. package/resources/local/ecc/docs/architecture/progress-sync-contract.md +67 -0
  590. package/resources/local/ecc/docs/business/metrics-and-sponsorship.md +74 -0
  591. package/resources/local/ecc/docs/business/social-launch-copy.md +72 -0
  592. package/resources/local/ecc/docs/capability-surface-selection.md +140 -0
  593. package/resources/local/ecc/docs/continuous-learning-v2-spec.md +14 -0
  594. package/resources/local/ecc/docs/drafts/release-1.10.1-announcement.md +63 -0
  595. package/resources/local/ecc/docs/examples/product-capability-template.md +84 -0
  596. package/resources/local/ecc/docs/examples/project-guidelines-template.md +347 -0
  597. package/resources/local/ecc/docs/fixes/HOOK-FIX-20260421-ADDENDUM.md +109 -0
  598. package/resources/local/ecc/docs/fixes/HOOK-FIX-20260421.md +144 -0
  599. package/resources/local/ecc/docs/fixes/INSTALL-HOOK-WRAPPER-FIX-20260422.md +66 -0
  600. package/resources/local/ecc/docs/fixes/PATCH-SETTINGS-SIMPLE-FIX-20260422.md +78 -0
  601. package/resources/local/ecc/docs/fixes/apply-hook-fix.sh +60 -0
  602. package/resources/local/ecc/docs/fixes/install_hook_wrapper.ps1 +167 -0
  603. package/resources/local/ecc/docs/fixes/patch_settings_cl_v2_simple.ps1 +187 -0
  604. package/resources/local/ecc/docs/hook-bug-workarounds.md +74 -0
  605. package/resources/local/ecc/docs/ja-JP/AGENTS.md +170 -0
  606. package/resources/local/ecc/docs/ja-JP/CHANGELOG.md +203 -0
  607. package/resources/local/ecc/docs/ja-JP/CLAUDE.md +81 -0
  608. package/resources/local/ecc/docs/ja-JP/CODE_OF_CONDUCT.md +82 -0
  609. package/resources/local/ecc/docs/ja-JP/COMMANDS-QUICK-REF.md +159 -0
  610. package/resources/local/ecc/docs/ja-JP/CONTRIBUTING.md +430 -0
  611. package/resources/local/ecc/docs/ja-JP/EVALUATION.md +122 -0
  612. package/resources/local/ecc/docs/ja-JP/GLOSSARY.md +53 -0
  613. package/resources/local/ecc/docs/ja-JP/README.md +799 -0
  614. package/resources/local/ecc/docs/ja-JP/RULES.md +38 -0
  615. package/resources/local/ecc/docs/ja-JP/SECURITY.md +101 -0
  616. package/resources/local/ecc/docs/ja-JP/SOUL.md +17 -0
  617. package/resources/local/ecc/docs/ja-JP/SPONSORING.md +43 -0
  618. package/resources/local/ecc/docs/ja-JP/SPONSORS.md +59 -0
  619. package/resources/local/ecc/docs/ja-JP/TROUBLESHOOTING.md +433 -0
  620. package/resources/local/ecc/docs/ja-JP/agents/a11y-architect.md +149 -0
  621. package/resources/local/ecc/docs/ja-JP/agents/architect.md +211 -0
  622. package/resources/local/ecc/docs/ja-JP/agents/build-error-resolver.md +534 -0
  623. package/resources/local/ecc/docs/ja-JP/agents/chief-of-staff.md +160 -0
  624. package/resources/local/ecc/docs/ja-JP/agents/code-architect.md +80 -0
  625. package/resources/local/ecc/docs/ja-JP/agents/code-explorer.md +78 -0
  626. package/resources/local/ecc/docs/ja-JP/agents/code-reviewer.md +104 -0
  627. package/resources/local/ecc/docs/ja-JP/agents/code-simplifier.md +56 -0
  628. package/resources/local/ecc/docs/ja-JP/agents/comment-analyzer.md +54 -0
  629. package/resources/local/ecc/docs/ja-JP/agents/conversation-analyzer.md +61 -0
  630. package/resources/local/ecc/docs/ja-JP/agents/cpp-build-resolver.md +99 -0
  631. package/resources/local/ecc/docs/ja-JP/agents/cpp-reviewer.md +81 -0
  632. package/resources/local/ecc/docs/ja-JP/agents/csharp-reviewer.md +110 -0
  633. package/resources/local/ecc/docs/ja-JP/agents/dart-build-resolver.md +210 -0
  634. package/resources/local/ecc/docs/ja-JP/agents/database-reviewer.md +654 -0
  635. package/resources/local/ecc/docs/ja-JP/agents/django-build-resolver.md +252 -0
  636. package/resources/local/ecc/docs/ja-JP/agents/django-reviewer.md +169 -0
  637. package/resources/local/ecc/docs/ja-JP/agents/doc-updater.md +452 -0
  638. package/resources/local/ecc/docs/ja-JP/agents/docs-lookup.md +77 -0
  639. package/resources/local/ecc/docs/ja-JP/agents/e2e-runner.md +636 -0
  640. package/resources/local/ecc/docs/ja-JP/agents/fastapi-reviewer.md +79 -0
  641. package/resources/local/ecc/docs/ja-JP/agents/flutter-reviewer.md +143 -0
  642. package/resources/local/ecc/docs/ja-JP/agents/fsharp-reviewer.md +100 -0
  643. package/resources/local/ecc/docs/ja-JP/agents/gan-evaluator.md +149 -0
  644. package/resources/local/ecc/docs/ja-JP/agents/gan-generator.md +93 -0
  645. package/resources/local/ecc/docs/ja-JP/agents/gan-planner.md +108 -0
  646. package/resources/local/ecc/docs/ja-JP/agents/go-build-resolver.md +368 -0
  647. package/resources/local/ecc/docs/ja-JP/agents/go-reviewer.md +269 -0
  648. package/resources/local/ecc/docs/ja-JP/agents/harmonyos-app-resolver.md +85 -0
  649. package/resources/local/ecc/docs/ja-JP/agents/harness-optimizer.md +44 -0
  650. package/resources/local/ecc/docs/ja-JP/agents/healthcare-reviewer.md +92 -0
  651. package/resources/local/ecc/docs/ja-JP/agents/homelab-architect.md +73 -0
  652. package/resources/local/ecc/docs/ja-JP/agents/java-build-resolver.md +87 -0
  653. package/resources/local/ecc/docs/ja-JP/agents/java-reviewer.md +73 -0
  654. package/resources/local/ecc/docs/ja-JP/agents/kotlin-build-resolver.md +70 -0
  655. package/resources/local/ecc/docs/ja-JP/agents/kotlin-reviewer.md +85 -0
  656. package/resources/local/ecc/docs/ja-JP/agents/loop-operator.md +45 -0
  657. package/resources/local/ecc/docs/ja-JP/agents/mle-reviewer.md +162 -0
  658. package/resources/local/ecc/docs/ja-JP/agents/network-architect.md +90 -0
  659. package/resources/local/ecc/docs/ja-JP/agents/network-config-reviewer.md +95 -0
  660. package/resources/local/ecc/docs/ja-JP/agents/network-troubleshooter.md +120 -0
  661. package/resources/local/ecc/docs/ja-JP/agents/opensource-forker.md +207 -0
  662. package/resources/local/ecc/docs/ja-JP/agents/opensource-packager.md +258 -0
  663. package/resources/local/ecc/docs/ja-JP/agents/opensource-sanitizer.md +197 -0
  664. package/resources/local/ecc/docs/ja-JP/agents/performance-optimizer.md +455 -0
  665. package/resources/local/ecc/docs/ja-JP/agents/planner.md +119 -0
  666. package/resources/local/ecc/docs/ja-JP/agents/pr-test-analyzer.md +54 -0
  667. package/resources/local/ecc/docs/ja-JP/agents/python-reviewer.md +469 -0
  668. package/resources/local/ecc/docs/ja-JP/agents/pytorch-build-resolver.md +125 -0
  669. package/resources/local/ecc/docs/ja-JP/agents/refactor-cleaner.md +306 -0
  670. package/resources/local/ecc/docs/ja-JP/agents/rust-build-resolver.md +157 -0
  671. package/resources/local/ecc/docs/ja-JP/agents/rust-reviewer.md +103 -0
  672. package/resources/local/ecc/docs/ja-JP/agents/security-reviewer.md +545 -0
  673. package/resources/local/ecc/docs/ja-JP/agents/seo-specialist.md +71 -0
  674. package/resources/local/ecc/docs/ja-JP/agents/silent-failure-hunter.md +59 -0
  675. package/resources/local/ecc/docs/ja-JP/agents/swift-build-resolver.md +170 -0
  676. package/resources/local/ecc/docs/ja-JP/agents/swift-reviewer.md +116 -0
  677. package/resources/local/ecc/docs/ja-JP/agents/tdd-guide.md +280 -0
  678. package/resources/local/ecc/docs/ja-JP/agents/type-design-analyzer.md +50 -0
  679. package/resources/local/ecc/docs/ja-JP/agents/typescript-reviewer.md +121 -0
  680. package/resources/local/ecc/docs/ja-JP/commands/README.md +113 -0
  681. package/resources/local/ecc/docs/ja-JP/commands/aside.md +166 -0
  682. package/resources/local/ecc/docs/ja-JP/commands/auto-update.md +28 -0
  683. package/resources/local/ecc/docs/ja-JP/commands/build-fix.md +29 -0
  684. package/resources/local/ecc/docs/ja-JP/commands/checkpoint.md +78 -0
  685. package/resources/local/ecc/docs/ja-JP/commands/claw.md +51 -0
  686. package/resources/local/ecc/docs/ja-JP/commands/code-review.md +43 -0
  687. package/resources/local/ecc/docs/ja-JP/commands/context-budget.md +29 -0
  688. package/resources/local/ecc/docs/ja-JP/commands/cost-report.md +99 -0
  689. package/resources/local/ecc/docs/ja-JP/commands/cpp-build.md +78 -0
  690. package/resources/local/ecc/docs/ja-JP/commands/cpp-review.md +82 -0
  691. package/resources/local/ecc/docs/ja-JP/commands/cpp-test.md +128 -0
  692. package/resources/local/ecc/docs/ja-JP/commands/devfleet.md +93 -0
  693. package/resources/local/ecc/docs/ja-JP/commands/docs.md +32 -0
  694. package/resources/local/ecc/docs/ja-JP/commands/e2e.md +370 -0
  695. package/resources/local/ecc/docs/ja-JP/commands/ecc-guide.md +93 -0
  696. package/resources/local/ecc/docs/ja-JP/commands/eval.md +120 -0
  697. package/resources/local/ecc/docs/ja-JP/commands/evolve.md +193 -0
  698. package/resources/local/ecc/docs/ja-JP/commands/fastapi-review.md +39 -0
  699. package/resources/local/ecc/docs/ja-JP/commands/feature-dev.md +49 -0
  700. package/resources/local/ecc/docs/ja-JP/commands/flutter-build.md +79 -0
  701. package/resources/local/ecc/docs/ja-JP/commands/flutter-review.md +116 -0
  702. package/resources/local/ecc/docs/ja-JP/commands/flutter-test.md +144 -0
  703. package/resources/local/ecc/docs/ja-JP/commands/gan-build.md +103 -0
  704. package/resources/local/ecc/docs/ja-JP/commands/gan-design.md +39 -0
  705. package/resources/local/ecc/docs/ja-JP/commands/go-build.md +183 -0
  706. package/resources/local/ecc/docs/ja-JP/commands/go-review.md +148 -0
  707. package/resources/local/ecc/docs/ja-JP/commands/go-test.md +268 -0
  708. package/resources/local/ecc/docs/ja-JP/commands/gradle-build.md +70 -0
  709. package/resources/local/ecc/docs/ja-JP/commands/harness-audit.md +77 -0
  710. package/resources/local/ecc/docs/ja-JP/commands/hookify-configure.md +14 -0
  711. package/resources/local/ecc/docs/ja-JP/commands/hookify-help.md +46 -0
  712. package/resources/local/ecc/docs/ja-JP/commands/hookify-list.md +21 -0
  713. package/resources/local/ecc/docs/ja-JP/commands/hookify.md +50 -0
  714. package/resources/local/ecc/docs/ja-JP/commands/instinct-export.md +91 -0
  715. package/resources/local/ecc/docs/ja-JP/commands/instinct-import.md +142 -0
  716. package/resources/local/ecc/docs/ja-JP/commands/instinct-status.md +86 -0
  717. package/resources/local/ecc/docs/ja-JP/commands/jira.md +106 -0
  718. package/resources/local/ecc/docs/ja-JP/commands/kotlin-build.md +174 -0
  719. package/resources/local/ecc/docs/ja-JP/commands/kotlin-review.md +140 -0
  720. package/resources/local/ecc/docs/ja-JP/commands/kotlin-test.md +312 -0
  721. package/resources/local/ecc/docs/ja-JP/commands/learn-eval.md +116 -0
  722. package/resources/local/ecc/docs/ja-JP/commands/learn.md +70 -0
  723. package/resources/local/ecc/docs/ja-JP/commands/loop-start.md +36 -0
  724. package/resources/local/ecc/docs/ja-JP/commands/loop-status.md +58 -0
  725. package/resources/local/ecc/docs/ja-JP/commands/model-route.md +30 -0
  726. package/resources/local/ecc/docs/ja-JP/commands/multi-backend.md +158 -0
  727. package/resources/local/ecc/docs/ja-JP/commands/multi-execute.md +315 -0
  728. package/resources/local/ecc/docs/ja-JP/commands/multi-frontend.md +158 -0
  729. package/resources/local/ecc/docs/ja-JP/commands/multi-plan.md +268 -0
  730. package/resources/local/ecc/docs/ja-JP/commands/multi-workflow.md +183 -0
  731. package/resources/local/ecc/docs/ja-JP/commands/orchestrate.md +172 -0
  732. package/resources/local/ecc/docs/ja-JP/commands/plan-prd.md +160 -0
  733. package/resources/local/ecc/docs/ja-JP/commands/plan.md +200 -0
  734. package/resources/local/ecc/docs/ja-JP/commands/pm2.md +272 -0
  735. package/resources/local/ecc/docs/ja-JP/commands/pr.md +184 -0
  736. package/resources/local/ecc/docs/ja-JP/commands/project-init.md +86 -0
  737. package/resources/local/ecc/docs/ja-JP/commands/projects.md +39 -0
  738. package/resources/local/ecc/docs/ja-JP/commands/promote.md +41 -0
  739. package/resources/local/ecc/docs/ja-JP/commands/prompt-optimize.md +37 -0
  740. package/resources/local/ecc/docs/ja-JP/commands/prp-commit.md +112 -0
  741. package/resources/local/ecc/docs/ja-JP/commands/prp-implement.md +385 -0
  742. package/resources/local/ecc/docs/ja-JP/commands/prp-plan.md +502 -0
  743. package/resources/local/ecc/docs/ja-JP/commands/prp-pr.md +184 -0
  744. package/resources/local/ecc/docs/ja-JP/commands/prp-prd.md +447 -0
  745. package/resources/local/ecc/docs/ja-JP/commands/prune.md +31 -0
  746. package/resources/local/ecc/docs/ja-JP/commands/python-review.md +297 -0
  747. package/resources/local/ecc/docs/ja-JP/commands/quality-gate.md +33 -0
  748. package/resources/local/ecc/docs/ja-JP/commands/refactor-clean.md +28 -0
  749. package/resources/local/ecc/docs/ja-JP/commands/resume-session.md +156 -0
  750. package/resources/local/ecc/docs/ja-JP/commands/review-pr.md +37 -0
  751. package/resources/local/ecc/docs/ja-JP/commands/rules-distill.md +11 -0
  752. package/resources/local/ecc/docs/ja-JP/commands/rust-build.md +187 -0
  753. package/resources/local/ecc/docs/ja-JP/commands/rust-review.md +142 -0
  754. package/resources/local/ecc/docs/ja-JP/commands/rust-test.md +308 -0
  755. package/resources/local/ecc/docs/ja-JP/commands/santa-loop.md +175 -0
  756. package/resources/local/ecc/docs/ja-JP/commands/save-session.md +276 -0
  757. package/resources/local/ecc/docs/ja-JP/commands/security-scan.md +92 -0
  758. package/resources/local/ecc/docs/ja-JP/commands/sessions.md +305 -0
  759. package/resources/local/ecc/docs/ja-JP/commands/setup-pm.md +80 -0
  760. package/resources/local/ecc/docs/ja-JP/commands/skill-create.md +174 -0
  761. package/resources/local/ecc/docs/ja-JP/commands/skill-health.md +54 -0
  762. package/resources/local/ecc/docs/ja-JP/commands/tdd.md +326 -0
  763. package/resources/local/ecc/docs/ja-JP/commands/test-coverage.md +27 -0
  764. package/resources/local/ecc/docs/ja-JP/commands/update-codemaps.md +17 -0
  765. package/resources/local/ecc/docs/ja-JP/commands/update-docs.md +31 -0
  766. package/resources/local/ecc/docs/ja-JP/commands/verify.md +59 -0
  767. package/resources/local/ecc/docs/ja-JP/contexts/dev.md +20 -0
  768. package/resources/local/ecc/docs/ja-JP/contexts/research.md +26 -0
  769. package/resources/local/ecc/docs/ja-JP/contexts/review.md +22 -0
  770. package/resources/local/ecc/docs/ja-JP/examples/CLAUDE.md +109 -0
  771. package/resources/local/ecc/docs/ja-JP/examples/django-api-CLAUDE.md +308 -0
  772. package/resources/local/ecc/docs/ja-JP/examples/go-microservice-CLAUDE.md +267 -0
  773. package/resources/local/ecc/docs/ja-JP/examples/harmonyos-app-CLAUDE.md +88 -0
  774. package/resources/local/ecc/docs/ja-JP/examples/laravel-api-CLAUDE.md +311 -0
  775. package/resources/local/ecc/docs/ja-JP/examples/rust-api-CLAUDE.md +285 -0
  776. package/resources/local/ecc/docs/ja-JP/examples/saas-nextjs-CLAUDE.md +166 -0
  777. package/resources/local/ecc/docs/ja-JP/examples/user-CLAUDE.md +109 -0
  778. package/resources/local/ecc/docs/ja-JP/hooks/README.md +249 -0
  779. package/resources/local/ecc/docs/ja-JP/plugins/README.md +87 -0
  780. package/resources/local/ecc/docs/ja-JP/rules/README.md +81 -0
  781. package/resources/local/ecc/docs/ja-JP/rules/angular/coding-style.md +182 -0
  782. package/resources/local/ecc/docs/ja-JP/rules/angular/hooks.md +25 -0
  783. package/resources/local/ecc/docs/ja-JP/rules/angular/patterns.md +249 -0
  784. package/resources/local/ecc/docs/ja-JP/rules/angular/security.md +87 -0
  785. package/resources/local/ecc/docs/ja-JP/rules/angular/testing.md +164 -0
  786. package/resources/local/ecc/docs/ja-JP/rules/arkts/coding-style.md +153 -0
  787. package/resources/local/ecc/docs/ja-JP/rules/arkts/hooks.md +135 -0
  788. package/resources/local/ecc/docs/ja-JP/rules/arkts/patterns.md +236 -0
  789. package/resources/local/ecc/docs/ja-JP/rules/arkts/security.md +141 -0
  790. package/resources/local/ecc/docs/ja-JP/rules/arkts/testing.md +126 -0
  791. package/resources/local/ecc/docs/ja-JP/rules/common/agents.md +49 -0
  792. package/resources/local/ecc/docs/ja-JP/rules/common/code-review.md +124 -0
  793. package/resources/local/ecc/docs/ja-JP/rules/common/coding-style.md +48 -0
  794. package/resources/local/ecc/docs/ja-JP/rules/common/development-workflow.md +44 -0
  795. package/resources/local/ecc/docs/ja-JP/rules/common/git-workflow.md +45 -0
  796. package/resources/local/ecc/docs/ja-JP/rules/common/hooks.md +30 -0
  797. package/resources/local/ecc/docs/ja-JP/rules/common/patterns.md +31 -0
  798. package/resources/local/ecc/docs/ja-JP/rules/common/performance.md +55 -0
  799. package/resources/local/ecc/docs/ja-JP/rules/common/security.md +29 -0
  800. package/resources/local/ecc/docs/ja-JP/rules/common/testing.md +29 -0
  801. package/resources/local/ecc/docs/ja-JP/rules/cpp/coding-style.md +44 -0
  802. package/resources/local/ecc/docs/ja-JP/rules/cpp/hooks.md +39 -0
  803. package/resources/local/ecc/docs/ja-JP/rules/cpp/patterns.md +51 -0
  804. package/resources/local/ecc/docs/ja-JP/rules/cpp/security.md +51 -0
  805. package/resources/local/ecc/docs/ja-JP/rules/cpp/testing.md +44 -0
  806. package/resources/local/ecc/docs/ja-JP/rules/csharp/coding-style.md +72 -0
  807. package/resources/local/ecc/docs/ja-JP/rules/csharp/hooks.md +25 -0
  808. package/resources/local/ecc/docs/ja-JP/rules/csharp/patterns.md +50 -0
  809. package/resources/local/ecc/docs/ja-JP/rules/csharp/security.md +58 -0
  810. package/resources/local/ecc/docs/ja-JP/rules/csharp/testing.md +46 -0
  811. package/resources/local/ecc/docs/ja-JP/rules/dart/coding-style.md +159 -0
  812. package/resources/local/ecc/docs/ja-JP/rules/dart/hooks.md +66 -0
  813. package/resources/local/ecc/docs/ja-JP/rules/dart/patterns.md +261 -0
  814. package/resources/local/ecc/docs/ja-JP/rules/dart/security.md +135 -0
  815. package/resources/local/ecc/docs/ja-JP/rules/dart/testing.md +215 -0
  816. package/resources/local/ecc/docs/ja-JP/rules/fsharp/coding-style.md +112 -0
  817. package/resources/local/ecc/docs/ja-JP/rules/fsharp/hooks.md +26 -0
  818. package/resources/local/ecc/docs/ja-JP/rules/fsharp/patterns.md +111 -0
  819. package/resources/local/ecc/docs/ja-JP/rules/fsharp/security.md +76 -0
  820. package/resources/local/ecc/docs/ja-JP/rules/fsharp/testing.md +62 -0
  821. package/resources/local/ecc/docs/ja-JP/rules/golang/coding-style.md +32 -0
  822. package/resources/local/ecc/docs/ja-JP/rules/golang/hooks.md +17 -0
  823. package/resources/local/ecc/docs/ja-JP/rules/golang/patterns.md +45 -0
  824. package/resources/local/ecc/docs/ja-JP/rules/golang/security.md +34 -0
  825. package/resources/local/ecc/docs/ja-JP/rules/golang/testing.md +31 -0
  826. package/resources/local/ecc/docs/ja-JP/rules/java/coding-style.md +114 -0
  827. package/resources/local/ecc/docs/ja-JP/rules/java/hooks.md +18 -0
  828. package/resources/local/ecc/docs/ja-JP/rules/java/patterns.md +147 -0
  829. package/resources/local/ecc/docs/ja-JP/rules/java/security.md +101 -0
  830. package/resources/local/ecc/docs/ja-JP/rules/java/testing.md +133 -0
  831. package/resources/local/ecc/docs/ja-JP/rules/kotlin/coding-style.md +86 -0
  832. package/resources/local/ecc/docs/ja-JP/rules/kotlin/hooks.md +17 -0
  833. package/resources/local/ecc/docs/ja-JP/rules/kotlin/patterns.md +146 -0
  834. package/resources/local/ecc/docs/ja-JP/rules/kotlin/security.md +82 -0
  835. package/resources/local/ecc/docs/ja-JP/rules/kotlin/testing.md +128 -0
  836. package/resources/local/ecc/docs/ja-JP/rules/perl/coding-style.md +46 -0
  837. package/resources/local/ecc/docs/ja-JP/rules/perl/hooks.md +22 -0
  838. package/resources/local/ecc/docs/ja-JP/rules/perl/patterns.md +76 -0
  839. package/resources/local/ecc/docs/ja-JP/rules/perl/security.md +69 -0
  840. package/resources/local/ecc/docs/ja-JP/rules/perl/testing.md +54 -0
  841. package/resources/local/ecc/docs/ja-JP/rules/php/coding-style.md +40 -0
  842. package/resources/local/ecc/docs/ja-JP/rules/php/hooks.md +24 -0
  843. package/resources/local/ecc/docs/ja-JP/rules/php/patterns.md +33 -0
  844. package/resources/local/ecc/docs/ja-JP/rules/php/security.md +37 -0
  845. package/resources/local/ecc/docs/ja-JP/rules/php/testing.md +39 -0
  846. package/resources/local/ecc/docs/ja-JP/rules/python/coding-style.md +42 -0
  847. package/resources/local/ecc/docs/ja-JP/rules/python/fastapi.md +58 -0
  848. package/resources/local/ecc/docs/ja-JP/rules/python/hooks.md +19 -0
  849. package/resources/local/ecc/docs/ja-JP/rules/python/patterns.md +39 -0
  850. package/resources/local/ecc/docs/ja-JP/rules/python/security.md +30 -0
  851. package/resources/local/ecc/docs/ja-JP/rules/python/testing.md +38 -0
  852. package/resources/local/ecc/docs/ja-JP/rules/ruby/coding-style.md +46 -0
  853. package/resources/local/ecc/docs/ja-JP/rules/ruby/hooks.md +37 -0
  854. package/resources/local/ecc/docs/ja-JP/rules/ruby/patterns.md +44 -0
  855. package/resources/local/ecc/docs/ja-JP/rules/ruby/security.md +51 -0
  856. package/resources/local/ecc/docs/ja-JP/rules/ruby/testing.md +51 -0
  857. package/resources/local/ecc/docs/ja-JP/rules/rust/coding-style.md +151 -0
  858. package/resources/local/ecc/docs/ja-JP/rules/rust/hooks.md +16 -0
  859. package/resources/local/ecc/docs/ja-JP/rules/rust/patterns.md +168 -0
  860. package/resources/local/ecc/docs/ja-JP/rules/rust/security.md +141 -0
  861. package/resources/local/ecc/docs/ja-JP/rules/rust/testing.md +154 -0
  862. package/resources/local/ecc/docs/ja-JP/rules/swift/coding-style.md +47 -0
  863. package/resources/local/ecc/docs/ja-JP/rules/swift/hooks.md +20 -0
  864. package/resources/local/ecc/docs/ja-JP/rules/swift/patterns.md +66 -0
  865. package/resources/local/ecc/docs/ja-JP/rules/swift/security.md +33 -0
  866. package/resources/local/ecc/docs/ja-JP/rules/swift/testing.md +45 -0
  867. package/resources/local/ecc/docs/ja-JP/rules/typescript/coding-style.md +199 -0
  868. package/resources/local/ecc/docs/ja-JP/rules/typescript/hooks.md +22 -0
  869. package/resources/local/ecc/docs/ja-JP/rules/typescript/patterns.md +52 -0
  870. package/resources/local/ecc/docs/ja-JP/rules/typescript/security.md +28 -0
  871. package/resources/local/ecc/docs/ja-JP/rules/typescript/testing.md +18 -0
  872. package/resources/local/ecc/docs/ja-JP/rules/web/coding-style.md +96 -0
  873. package/resources/local/ecc/docs/ja-JP/rules/web/design-quality.md +63 -0
  874. package/resources/local/ecc/docs/ja-JP/rules/web/hooks.md +129 -0
  875. package/resources/local/ecc/docs/ja-JP/rules/web/patterns.md +79 -0
  876. package/resources/local/ecc/docs/ja-JP/rules/web/performance.md +64 -0
  877. package/resources/local/ecc/docs/ja-JP/rules/web/security.md +57 -0
  878. package/resources/local/ecc/docs/ja-JP/rules/web/testing.md +55 -0
  879. package/resources/local/ecc/docs/ja-JP/skills/README.md +109 -0
  880. package/resources/local/ecc/docs/ja-JP/skills/accessibility/SKILL.md +145 -0
  881. package/resources/local/ecc/docs/ja-JP/skills/agent-architecture-audit/SKILL.md +256 -0
  882. package/resources/local/ecc/docs/ja-JP/skills/agent-eval/SKILL.md +145 -0
  883. package/resources/local/ecc/docs/ja-JP/skills/agent-harness-construction/SKILL.md +73 -0
  884. package/resources/local/ecc/docs/ja-JP/skills/agent-introspection-debugging/SKILL.md +153 -0
  885. package/resources/local/ecc/docs/ja-JP/skills/agent-payment-x402/SKILL.md +224 -0
  886. package/resources/local/ecc/docs/ja-JP/skills/agent-sort/SKILL.md +215 -0
  887. package/resources/local/ecc/docs/ja-JP/skills/agentic-engineering/SKILL.md +63 -0
  888. package/resources/local/ecc/docs/ja-JP/skills/agentic-os/SKILL.md +387 -0
  889. package/resources/local/ecc/docs/ja-JP/skills/ai-first-engineering/SKILL.md +51 -0
  890. package/resources/local/ecc/docs/ja-JP/skills/ai-regression-testing/SKILL.md +385 -0
  891. package/resources/local/ecc/docs/ja-JP/skills/android-clean-architecture/SKILL.md +339 -0
  892. package/resources/local/ecc/docs/ja-JP/skills/angular-developer/SKILL.md +154 -0
  893. package/resources/local/ecc/docs/ja-JP/skills/api-connector-builder/SKILL.md +120 -0
  894. package/resources/local/ecc/docs/ja-JP/skills/api-design/SKILL.md +457 -0
  895. package/resources/local/ecc/docs/ja-JP/skills/architecture-decision-records/SKILL.md +179 -0
  896. package/resources/local/ecc/docs/ja-JP/skills/article-writing/SKILL.md +79 -0
  897. package/resources/local/ecc/docs/ja-JP/skills/automation-audit-ops/SKILL.md +142 -0
  898. package/resources/local/ecc/docs/ja-JP/skills/autonomous-agent-harness/SKILL.md +103 -0
  899. package/resources/local/ecc/docs/ja-JP/skills/autonomous-loops/SKILL.md +77 -0
  900. package/resources/local/ecc/docs/ja-JP/skills/backend-patterns/SKILL.md +587 -0
  901. package/resources/local/ecc/docs/ja-JP/skills/benchmark/SKILL.md +93 -0
  902. package/resources/local/ecc/docs/ja-JP/skills/blueprint/SKILL.md +61 -0
  903. package/resources/local/ecc/docs/ja-JP/skills/brand-voice/SKILL.md +79 -0
  904. package/resources/local/ecc/docs/ja-JP/skills/browser-qa/SKILL.md +84 -0
  905. package/resources/local/ecc/docs/ja-JP/skills/bun-runtime/SKILL.md +70 -0
  906. package/resources/local/ecc/docs/ja-JP/skills/canary-watch/SKILL.md +96 -0
  907. package/resources/local/ecc/docs/ja-JP/skills/carrier-relationship-management/SKILL.md +60 -0
  908. package/resources/local/ecc/docs/ja-JP/skills/cisco-ios-patterns/SKILL.md +92 -0
  909. package/resources/local/ecc/docs/ja-JP/skills/ck/SKILL.md +99 -0
  910. package/resources/local/ecc/docs/ja-JP/skills/claude-devfleet/SKILL.md +69 -0
  911. package/resources/local/ecc/docs/ja-JP/skills/click-path-audit/SKILL.md +85 -0
  912. package/resources/local/ecc/docs/ja-JP/skills/clickhouse-io/SKILL.md +429 -0
  913. package/resources/local/ecc/docs/ja-JP/skills/code-tour/SKILL.md +57 -0
  914. package/resources/local/ecc/docs/ja-JP/skills/codebase-onboarding/SKILL.md +58 -0
  915. package/resources/local/ecc/docs/ja-JP/skills/coding-standards/SKILL.md +527 -0
  916. package/resources/local/ecc/docs/ja-JP/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  917. package/resources/local/ecc/docs/ja-JP/skills/configure-ecc/SKILL.md +313 -0
  918. package/resources/local/ecc/docs/ja-JP/skills/connections-optimizer/SKILL.md +189 -0
  919. package/resources/local/ecc/docs/ja-JP/skills/content-engine/SKILL.md +131 -0
  920. package/resources/local/ecc/docs/ja-JP/skills/content-hash-cache-pattern/SKILL.md +161 -0
  921. package/resources/local/ecc/docs/ja-JP/skills/context-budget/SKILL.md +135 -0
  922. package/resources/local/ecc/docs/ja-JP/skills/continuous-agent-loop/SKILL.md +45 -0
  923. package/resources/local/ecc/docs/ja-JP/skills/continuous-learning/SKILL.md +110 -0
  924. package/resources/local/ecc/docs/ja-JP/skills/continuous-learning-v2/SKILL.md +268 -0
  925. package/resources/local/ecc/docs/ja-JP/skills/continuous-learning-v2/agents/observer.md +137 -0
  926. package/resources/local/ecc/docs/ja-JP/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  927. package/resources/local/ecc/docs/ja-JP/skills/cost-tracking/SKILL.md +137 -0
  928. package/resources/local/ecc/docs/ja-JP/skills/council/SKILL.md +203 -0
  929. package/resources/local/ecc/docs/ja-JP/skills/cpp-coding-standards/SKILL.md +49 -0
  930. package/resources/local/ecc/docs/ja-JP/skills/cpp-testing/SKILL.md +322 -0
  931. package/resources/local/ecc/docs/ja-JP/skills/crosspost/SKILL.md +111 -0
  932. package/resources/local/ecc/docs/ja-JP/skills/csharp-testing/SKILL.md +321 -0
  933. package/resources/local/ecc/docs/ja-JP/skills/customer-billing-ops/SKILL.md +140 -0
  934. package/resources/local/ecc/docs/ja-JP/skills/customs-trade-compliance/SKILL.md +46 -0
  935. package/resources/local/ecc/docs/ja-JP/skills/dart-flutter-patterns/SKILL.md +53 -0
  936. package/resources/local/ecc/docs/ja-JP/skills/dashboard-builder/SKILL.md +58 -0
  937. package/resources/local/ecc/docs/ja-JP/skills/data-scraper-agent/SKILL.md +57 -0
  938. package/resources/local/ecc/docs/ja-JP/skills/database-migrations/SKILL.md +54 -0
  939. package/resources/local/ecc/docs/ja-JP/skills/deep-research/SKILL.md +33 -0
  940. package/resources/local/ecc/docs/ja-JP/skills/defi-amm-security/SKILL.md +46 -0
  941. package/resources/local/ecc/docs/ja-JP/skills/deployment-patterns/SKILL.md +50 -0
  942. package/resources/local/ecc/docs/ja-JP/skills/design-system/SKILL.md +53 -0
  943. package/resources/local/ecc/docs/ja-JP/skills/django-celery/SKILL.md +72 -0
  944. package/resources/local/ecc/docs/ja-JP/skills/django-patterns/SKILL.md +733 -0
  945. package/resources/local/ecc/docs/ja-JP/skills/django-security/SKILL.md +592 -0
  946. package/resources/local/ecc/docs/ja-JP/skills/django-tdd/SKILL.md +728 -0
  947. package/resources/local/ecc/docs/ja-JP/skills/django-verification/SKILL.md +460 -0
  948. package/resources/local/ecc/docs/ja-JP/skills/dmux-workflows/SKILL.md +68 -0
  949. package/resources/local/ecc/docs/ja-JP/skills/docker-patterns/SKILL.md +93 -0
  950. package/resources/local/ecc/docs/ja-JP/skills/documentation-lookup/SKILL.md +77 -0
  951. package/resources/local/ecc/docs/ja-JP/skills/dotnet-patterns/SKILL.md +321 -0
  952. package/resources/local/ecc/docs/ja-JP/skills/e2e-testing/SKILL.md +326 -0
  953. package/resources/local/ecc/docs/ja-JP/skills/ecc-guide/SKILL.md +189 -0
  954. package/resources/local/ecc/docs/ja-JP/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  955. package/resources/local/ecc/docs/ja-JP/skills/email-ops/SKILL.md +121 -0
  956. package/resources/local/ecc/docs/ja-JP/skills/energy-procurement/SKILL.md +228 -0
  957. package/resources/local/ecc/docs/ja-JP/skills/enterprise-agent-ops/SKILL.md +50 -0
  958. package/resources/local/ecc/docs/ja-JP/skills/error-handling/SKILL.md +376 -0
  959. package/resources/local/ecc/docs/ja-JP/skills/eval-harness/SKILL.md +227 -0
  960. package/resources/local/ecc/docs/ja-JP/skills/evm-token-decimals/SKILL.md +130 -0
  961. package/resources/local/ecc/docs/ja-JP/skills/exa-search/SKILL.md +105 -0
  962. package/resources/local/ecc/docs/ja-JP/skills/fal-ai-media/SKILL.md +286 -0
  963. package/resources/local/ecc/docs/ja-JP/skills/fastapi-patterns/SKILL.md +327 -0
  964. package/resources/local/ecc/docs/ja-JP/skills/finance-billing-ops/SKILL.md +127 -0
  965. package/resources/local/ecc/docs/ja-JP/skills/flox-environments/SKILL.md +496 -0
  966. package/resources/local/ecc/docs/ja-JP/skills/flutter-dart-code-review/SKILL.md +435 -0
  967. package/resources/local/ecc/docs/ja-JP/skills/foundation-models-on-device/SKILL.md +243 -0
  968. package/resources/local/ecc/docs/ja-JP/skills/frontend-design-direction/SKILL.md +92 -0
  969. package/resources/local/ecc/docs/ja-JP/skills/frontend-patterns/SKILL.md +631 -0
  970. package/resources/local/ecc/docs/ja-JP/skills/frontend-slides/SKILL.md +184 -0
  971. package/resources/local/ecc/docs/ja-JP/skills/frontend-slides/STYLE_PRESETS.md +333 -0
  972. package/resources/local/ecc/docs/ja-JP/skills/fsharp-testing/SKILL.md +280 -0
  973. package/resources/local/ecc/docs/ja-JP/skills/gan-style-harness/SKILL.md +278 -0
  974. package/resources/local/ecc/docs/ja-JP/skills/gateguard/SKILL.md +125 -0
  975. package/resources/local/ecc/docs/ja-JP/skills/git-workflow/SKILL.md +715 -0
  976. package/resources/local/ecc/docs/ja-JP/skills/github-ops/SKILL.md +144 -0
  977. package/resources/local/ecc/docs/ja-JP/skills/golang-patterns/SKILL.md +673 -0
  978. package/resources/local/ecc/docs/ja-JP/skills/golang-testing/SKILL.md +959 -0
  979. package/resources/local/ecc/docs/ja-JP/skills/google-workspace-ops/SKILL.md +95 -0
  980. package/resources/local/ecc/docs/ja-JP/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  981. package/resources/local/ecc/docs/ja-JP/skills/healthcare-emr-patterns/SKILL.md +159 -0
  982. package/resources/local/ecc/docs/ja-JP/skills/healthcare-eval-harness/SKILL.md +207 -0
  983. package/resources/local/ecc/docs/ja-JP/skills/healthcare-phi-compliance/SKILL.md +145 -0
  984. package/resources/local/ecc/docs/ja-JP/skills/hermes-imports/SKILL.md +88 -0
  985. package/resources/local/ecc/docs/ja-JP/skills/hexagonal-architecture/SKILL.md +276 -0
  986. package/resources/local/ecc/docs/ja-JP/skills/hipaa-compliance/SKILL.md +78 -0
  987. package/resources/local/ecc/docs/ja-JP/skills/homelab-network-readiness/SKILL.md +169 -0
  988. package/resources/local/ecc/docs/ja-JP/skills/homelab-network-setup/SKILL.md +129 -0
  989. package/resources/local/ecc/docs/ja-JP/skills/homelab-pihole-dns/SKILL.md +274 -0
  990. package/resources/local/ecc/docs/ja-JP/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  991. package/resources/local/ecc/docs/ja-JP/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  992. package/resources/local/ecc/docs/ja-JP/skills/hookify-rules/SKILL.md +128 -0
  993. package/resources/local/ecc/docs/ja-JP/skills/inventory-demand-planning/SKILL.md +247 -0
  994. package/resources/local/ecc/docs/ja-JP/skills/investor-materials/SKILL.md +96 -0
  995. package/resources/local/ecc/docs/ja-JP/skills/investor-outreach/SKILL.md +91 -0
  996. package/resources/local/ecc/docs/ja-JP/skills/ios-icon-gen/SKILL.md +157 -0
  997. package/resources/local/ecc/docs/ja-JP/skills/iterative-retrieval/SKILL.md +202 -0
  998. package/resources/local/ecc/docs/ja-JP/skills/java-coding-standards/SKILL.md +138 -0
  999. package/resources/local/ecc/docs/ja-JP/skills/jira-integration/SKILL.md +293 -0
  1000. package/resources/local/ecc/docs/ja-JP/skills/jpa-patterns/SKILL.md +141 -0
  1001. package/resources/local/ecc/docs/ja-JP/skills/knowledge-ops/SKILL.md +154 -0
  1002. package/resources/local/ecc/docs/ja-JP/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  1003. package/resources/local/ecc/docs/ja-JP/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  1004. package/resources/local/ecc/docs/ja-JP/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  1005. package/resources/local/ecc/docs/ja-JP/skills/kotlin-patterns/SKILL.md +711 -0
  1006. package/resources/local/ecc/docs/ja-JP/skills/kotlin-testing/SKILL.md +824 -0
  1007. package/resources/local/ecc/docs/ja-JP/skills/laravel-patterns/SKILL.md +415 -0
  1008. package/resources/local/ecc/docs/ja-JP/skills/laravel-plugin-discovery/SKILL.md +229 -0
  1009. package/resources/local/ecc/docs/ja-JP/skills/laravel-security/SKILL.md +285 -0
  1010. package/resources/local/ecc/docs/ja-JP/skills/laravel-tdd/SKILL.md +283 -0
  1011. package/resources/local/ecc/docs/ja-JP/skills/laravel-verification/SKILL.md +11 -0
  1012. package/resources/local/ecc/docs/ja-JP/skills/lead-intelligence/SKILL.md +11 -0
  1013. package/resources/local/ecc/docs/ja-JP/skills/liquid-glass-design/SKILL.md +11 -0
  1014. package/resources/local/ecc/docs/ja-JP/skills/llm-trading-agent-security/SKILL.md +11 -0
  1015. package/resources/local/ecc/docs/ja-JP/skills/logistics-exception-management/SKILL.md +11 -0
  1016. package/resources/local/ecc/docs/ja-JP/skills/make-interfaces-feel-better/SKILL.md +11 -0
  1017. package/resources/local/ecc/docs/ja-JP/skills/manim-video/SKILL.md +11 -0
  1018. package/resources/local/ecc/docs/ja-JP/skills/market-research/SKILL.md +11 -0
  1019. package/resources/local/ecc/docs/ja-JP/skills/mcp-server-patterns/SKILL.md +11 -0
  1020. package/resources/local/ecc/docs/ja-JP/skills/messages-ops/SKILL.md +11 -0
  1021. package/resources/local/ecc/docs/ja-JP/skills/mle-workflow/SKILL.md +11 -0
  1022. package/resources/local/ecc/docs/ja-JP/skills/motion-advanced/SKILL.md +11 -0
  1023. package/resources/local/ecc/docs/ja-JP/skills/motion-foundations/SKILL.md +11 -0
  1024. package/resources/local/ecc/docs/ja-JP/skills/motion-patterns/SKILL.md +11 -0
  1025. package/resources/local/ecc/docs/ja-JP/skills/motion-ui/SKILL.md +11 -0
  1026. package/resources/local/ecc/docs/ja-JP/skills/mysql-patterns/SKILL.md +11 -0
  1027. package/resources/local/ecc/docs/ja-JP/skills/nanoclaw-repl/SKILL.md +11 -0
  1028. package/resources/local/ecc/docs/ja-JP/skills/nestjs-patterns/SKILL.md +11 -0
  1029. package/resources/local/ecc/docs/ja-JP/skills/netmiko-ssh-automation/SKILL.md +11 -0
  1030. package/resources/local/ecc/docs/ja-JP/skills/network-bgp-diagnostics/SKILL.md +11 -0
  1031. package/resources/local/ecc/docs/ja-JP/skills/network-config-validation/SKILL.md +11 -0
  1032. package/resources/local/ecc/docs/ja-JP/skills/network-interface-health/SKILL.md +143 -0
  1033. package/resources/local/ecc/docs/ja-JP/skills/nextjs-turbopack/SKILL.md +44 -0
  1034. package/resources/local/ecc/docs/ja-JP/skills/nodejs-keccak256/SKILL.md +102 -0
  1035. package/resources/local/ecc/docs/ja-JP/skills/nutrient-document-processing/SKILL.md +164 -0
  1036. package/resources/local/ecc/docs/ja-JP/skills/nuxt4-patterns/SKILL.md +100 -0
  1037. package/resources/local/ecc/docs/ja-JP/skills/openclaw-persona-forge/SKILL.md +288 -0
  1038. package/resources/local/ecc/docs/ja-JP/skills/opensource-pipeline/SKILL.md +255 -0
  1039. package/resources/local/ecc/docs/ja-JP/skills/perl-patterns/SKILL.md +504 -0
  1040. package/resources/local/ecc/docs/ja-JP/skills/perl-security/SKILL.md +503 -0
  1041. package/resources/local/ecc/docs/ja-JP/skills/perl-testing/SKILL.md +11 -0
  1042. package/resources/local/ecc/docs/ja-JP/skills/plan-orchestrate/SKILL.md +11 -0
  1043. package/resources/local/ecc/docs/ja-JP/skills/plankton-code-quality/SKILL.md +11 -0
  1044. package/resources/local/ecc/docs/ja-JP/skills/postgres-patterns/SKILL.md +146 -0
  1045. package/resources/local/ecc/docs/ja-JP/skills/product-capability/SKILL.md +11 -0
  1046. package/resources/local/ecc/docs/ja-JP/skills/product-lens/SKILL.md +11 -0
  1047. package/resources/local/ecc/docs/ja-JP/skills/production-audit/SKILL.md +11 -0
  1048. package/resources/local/ecc/docs/ja-JP/skills/production-scheduling/SKILL.md +11 -0
  1049. package/resources/local/ecc/docs/ja-JP/skills/project-flow-ops/SKILL.md +11 -0
  1050. package/resources/local/ecc/docs/ja-JP/skills/project-guidelines-example/SKILL.md +345 -0
  1051. package/resources/local/ecc/docs/ja-JP/skills/prompt-optimizer/SKILL.md +11 -0
  1052. package/resources/local/ecc/docs/ja-JP/skills/python-patterns/SKILL.md +749 -0
  1053. package/resources/local/ecc/docs/ja-JP/skills/python-testing/SKILL.md +815 -0
  1054. package/resources/local/ecc/docs/ja-JP/skills/pytorch-patterns/SKILL.md +11 -0
  1055. package/resources/local/ecc/docs/ja-JP/skills/quality-nonconformance/SKILL.md +11 -0
  1056. package/resources/local/ecc/docs/ja-JP/skills/quarkus-patterns/SKILL.md +11 -0
  1057. package/resources/local/ecc/docs/ja-JP/skills/quarkus-security/SKILL.md +466 -0
  1058. package/resources/local/ecc/docs/ja-JP/skills/quarkus-tdd/SKILL.md +811 -0
  1059. package/resources/local/ecc/docs/ja-JP/skills/quarkus-verification/SKILL.md +479 -0
  1060. package/resources/local/ecc/docs/ja-JP/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  1061. package/resources/local/ecc/docs/ja-JP/skills/redis-patterns/SKILL.md +403 -0
  1062. package/resources/local/ecc/docs/ja-JP/skills/regex-vs-llm-structured-text/SKILL.md +217 -0
  1063. package/resources/local/ecc/docs/ja-JP/skills/remotion-video-creation/SKILL.md +43 -0
  1064. package/resources/local/ecc/docs/ja-JP/skills/repo-scan/SKILL.md +79 -0
  1065. package/resources/local/ecc/docs/ja-JP/skills/research-ops/SKILL.md +112 -0
  1066. package/resources/local/ecc/docs/ja-JP/skills/returns-reverse-logistics/SKILL.md +225 -0
  1067. package/resources/local/ecc/docs/ja-JP/skills/rules-distill/SKILL.md +264 -0
  1068. package/resources/local/ecc/docs/ja-JP/skills/rust-patterns/SKILL.md +499 -0
  1069. package/resources/local/ecc/docs/ja-JP/skills/rust-testing/SKILL.md +502 -0
  1070. package/resources/local/ecc/docs/ja-JP/skills/safety-guard/SKILL.md +75 -0
  1071. package/resources/local/ecc/docs/ja-JP/skills/santa-method/SKILL.md +306 -0
  1072. package/resources/local/ecc/docs/ja-JP/skills/scientific-db-pubmed-database/SKILL.md +168 -0
  1073. package/resources/local/ecc/docs/ja-JP/skills/scientific-db-uspto-database/SKILL.md +158 -0
  1074. package/resources/local/ecc/docs/ja-JP/skills/scientific-pkg-gget/SKILL.md +154 -0
  1075. package/resources/local/ecc/docs/ja-JP/skills/scientific-thinking-literature-review/SKILL.md +184 -0
  1076. package/resources/local/ecc/docs/ja-JP/skills/scientific-thinking-scholar-evaluation/SKILL.md +159 -0
  1077. package/resources/local/ecc/docs/ja-JP/skills/search-first/SKILL.md +181 -0
  1078. package/resources/local/ecc/docs/ja-JP/skills/security-bounty-hunter/SKILL.md +99 -0
  1079. package/resources/local/ecc/docs/ja-JP/skills/security-review/SKILL.md +494 -0
  1080. package/resources/local/ecc/docs/ja-JP/skills/security-review/cloud-infrastructure-security.md +361 -0
  1081. package/resources/local/ecc/docs/ja-JP/skills/security-scan/SKILL.md +164 -0
  1082. package/resources/local/ecc/docs/ja-JP/skills/seo/SKILL.md +154 -0
  1083. package/resources/local/ecc/docs/ja-JP/skills/skill-comply/SKILL.md +60 -0
  1084. package/resources/local/ecc/docs/ja-JP/skills/skill-scout/SKILL.md +131 -0
  1085. package/resources/local/ecc/docs/ja-JP/skills/skill-stocktake/SKILL.md +194 -0
  1086. package/resources/local/ecc/docs/ja-JP/skills/social-graph-ranker/SKILL.md +154 -0
  1087. package/resources/local/ecc/docs/ja-JP/skills/springboot-patterns/SKILL.md +304 -0
  1088. package/resources/local/ecc/docs/ja-JP/skills/springboot-security/SKILL.md +119 -0
  1089. package/resources/local/ecc/docs/ja-JP/skills/springboot-tdd/SKILL.md +157 -0
  1090. package/resources/local/ecc/docs/ja-JP/skills/springboot-verification/SKILL.md +100 -0
  1091. package/resources/local/ecc/docs/ja-JP/skills/strategic-compact/SKILL.md +66 -0
  1092. package/resources/local/ecc/docs/ja-JP/skills/swift-actor-persistence/SKILL.md +157 -0
  1093. package/resources/local/ecc/docs/ja-JP/skills/swift-concurrency-6-2/SKILL.md +217 -0
  1094. package/resources/local/ecc/docs/ja-JP/skills/swift-protocol-di-testing/SKILL.md +190 -0
  1095. package/resources/local/ecc/docs/ja-JP/skills/swiftui-patterns/SKILL.md +259 -0
  1096. package/resources/local/ecc/docs/ja-JP/skills/tdd-workflow/SKILL.md +409 -0
  1097. package/resources/local/ecc/docs/ja-JP/skills/team-builder/SKILL.md +165 -0
  1098. package/resources/local/ecc/docs/ja-JP/skills/terminal-ops/SKILL.md +109 -0
  1099. package/resources/local/ecc/docs/ja-JP/skills/tinystruct-patterns/SKILL.md +104 -0
  1100. package/resources/local/ecc/docs/ja-JP/skills/token-budget-advisor/SKILL.md +121 -0
  1101. package/resources/local/ecc/docs/ja-JP/skills/ui-demo/SKILL.md +465 -0
  1102. package/resources/local/ecc/docs/ja-JP/skills/ui-to-vue/SKILL.md +86 -0
  1103. package/resources/local/ecc/docs/ja-JP/skills/unified-notifications-ops/SKILL.md +197 -0
  1104. package/resources/local/ecc/docs/ja-JP/skills/verification-loop/SKILL.md +120 -0
  1105. package/resources/local/ecc/docs/ja-JP/skills/video-editing/SKILL.md +317 -0
  1106. package/resources/local/ecc/docs/ja-JP/skills/videodb/SKILL.md +386 -0
  1107. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/api-reference.md +550 -0
  1108. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/capture-reference.md +416 -0
  1109. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/capture.md +104 -0
  1110. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/editor.md +443 -0
  1111. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/generative.md +331 -0
  1112. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/rtstream-reference.md +567 -0
  1113. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/rtstream.md +59 -0
  1114. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/search.md +230 -0
  1115. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/streaming.md +406 -0
  1116. package/resources/local/ecc/docs/ja-JP/skills/videodb/reference/use-cases.md +142 -0
  1117. package/resources/local/ecc/docs/ja-JP/skills/visa-doc-translate/README.md +91 -0
  1118. package/resources/local/ecc/docs/ja-JP/skills/visa-doc-translate/SKILL.md +119 -0
  1119. package/resources/local/ecc/docs/ja-JP/skills/vite-patterns/SKILL.md +449 -0
  1120. package/resources/local/ecc/docs/ja-JP/skills/windows-desktop-e2e/SKILL.md +784 -0
  1121. package/resources/local/ecc/docs/ja-JP/skills/workspace-surface-audit/SKILL.md +125 -0
  1122. package/resources/local/ecc/docs/ja-JP/skills/x-api/SKILL.md +210 -0
  1123. package/resources/local/ecc/docs/ja-JP/the-longform-guide.md +354 -0
  1124. package/resources/local/ecc/docs/ja-JP/the-openclaw-guide.md +471 -0
  1125. package/resources/local/ecc/docs/ja-JP/the-security-guide.md +257 -0
  1126. package/resources/local/ecc/docs/ja-JP/the-shortform-guide.md +429 -0
  1127. package/resources/local/ecc/docs/ko-KR/CONTRIBUTING.md +453 -0
  1128. package/resources/local/ecc/docs/ko-KR/README.md +731 -0
  1129. package/resources/local/ecc/docs/ko-KR/TERMINOLOGY.md +104 -0
  1130. package/resources/local/ecc/docs/ko-KR/agents/architect.md +211 -0
  1131. package/resources/local/ecc/docs/ko-KR/agents/build-error-resolver.md +114 -0
  1132. package/resources/local/ecc/docs/ko-KR/agents/code-reviewer.md +237 -0
  1133. package/resources/local/ecc/docs/ko-KR/agents/database-reviewer.md +87 -0
  1134. package/resources/local/ecc/docs/ko-KR/agents/doc-updater.md +107 -0
  1135. package/resources/local/ecc/docs/ko-KR/agents/e2e-runner.md +103 -0
  1136. package/resources/local/ecc/docs/ko-KR/agents/go-build-resolver.md +92 -0
  1137. package/resources/local/ecc/docs/ko-KR/agents/go-reviewer.md +74 -0
  1138. package/resources/local/ecc/docs/ko-KR/agents/planner.md +209 -0
  1139. package/resources/local/ecc/docs/ko-KR/agents/refactor-cleaner.md +85 -0
  1140. package/resources/local/ecc/docs/ko-KR/agents/security-reviewer.md +104 -0
  1141. package/resources/local/ecc/docs/ko-KR/agents/tdd-guide.md +101 -0
  1142. package/resources/local/ecc/docs/ko-KR/commands/build-fix.md +68 -0
  1143. package/resources/local/ecc/docs/ko-KR/commands/checkpoint.md +79 -0
  1144. package/resources/local/ecc/docs/ko-KR/commands/code-review.md +40 -0
  1145. package/resources/local/ecc/docs/ko-KR/commands/e2e.md +334 -0
  1146. package/resources/local/ecc/docs/ko-KR/commands/eval.md +120 -0
  1147. package/resources/local/ecc/docs/ko-KR/commands/go-build.md +183 -0
  1148. package/resources/local/ecc/docs/ko-KR/commands/go-review.md +148 -0
  1149. package/resources/local/ecc/docs/ko-KR/commands/go-test.md +268 -0
  1150. package/resources/local/ecc/docs/ko-KR/commands/learn.md +70 -0
  1151. package/resources/local/ecc/docs/ko-KR/commands/orchestrate.md +172 -0
  1152. package/resources/local/ecc/docs/ko-KR/commands/plan.md +113 -0
  1153. package/resources/local/ecc/docs/ko-KR/commands/refactor-clean.md +80 -0
  1154. package/resources/local/ecc/docs/ko-KR/commands/setup-pm.md +80 -0
  1155. package/resources/local/ecc/docs/ko-KR/commands/tdd.md +326 -0
  1156. package/resources/local/ecc/docs/ko-KR/commands/test-coverage.md +74 -0
  1157. package/resources/local/ecc/docs/ko-KR/commands/update-codemaps.md +79 -0
  1158. package/resources/local/ecc/docs/ko-KR/commands/update-docs.md +89 -0
  1159. package/resources/local/ecc/docs/ko-KR/commands/verify.md +63 -0
  1160. package/resources/local/ecc/docs/ko-KR/examples/CLAUDE.md +109 -0
  1161. package/resources/local/ecc/docs/ko-KR/examples/django-api-CLAUDE.md +308 -0
  1162. package/resources/local/ecc/docs/ko-KR/examples/go-microservice-CLAUDE.md +267 -0
  1163. package/resources/local/ecc/docs/ko-KR/examples/rust-api-CLAUDE.md +291 -0
  1164. package/resources/local/ecc/docs/ko-KR/examples/saas-nextjs-CLAUDE.md +166 -0
  1165. package/resources/local/ecc/docs/ko-KR/examples/statusline.json +19 -0
  1166. package/resources/local/ecc/docs/ko-KR/examples/user-CLAUDE.md +109 -0
  1167. package/resources/local/ecc/docs/ko-KR/rules/agents.md +52 -0
  1168. package/resources/local/ecc/docs/ko-KR/rules/coding-style.md +48 -0
  1169. package/resources/local/ecc/docs/ko-KR/rules/git-workflow.md +24 -0
  1170. package/resources/local/ecc/docs/ko-KR/rules/hooks.md +30 -0
  1171. package/resources/local/ecc/docs/ko-KR/rules/patterns.md +31 -0
  1172. package/resources/local/ecc/docs/ko-KR/rules/performance.md +55 -0
  1173. package/resources/local/ecc/docs/ko-KR/rules/security.md +29 -0
  1174. package/resources/local/ecc/docs/ko-KR/rules/testing.md +29 -0
  1175. package/resources/local/ecc/docs/ko-KR/skills/backend-patterns/SKILL.md +599 -0
  1176. package/resources/local/ecc/docs/ko-KR/skills/clickhouse-io/SKILL.md +447 -0
  1177. package/resources/local/ecc/docs/ko-KR/skills/coding-standards/SKILL.md +530 -0
  1178. package/resources/local/ecc/docs/ko-KR/skills/continuous-learning/SKILL.md +148 -0
  1179. package/resources/local/ecc/docs/ko-KR/skills/continuous-learning-v2/SKILL.md +346 -0
  1180. package/resources/local/ecc/docs/ko-KR/skills/eval-harness/SKILL.md +270 -0
  1181. package/resources/local/ecc/docs/ko-KR/skills/frontend-patterns/SKILL.md +652 -0
  1182. package/resources/local/ecc/docs/ko-KR/skills/golang-patterns/SKILL.md +675 -0
  1183. package/resources/local/ecc/docs/ko-KR/skills/golang-testing/SKILL.md +720 -0
  1184. package/resources/local/ecc/docs/ko-KR/skills/iterative-retrieval/SKILL.md +211 -0
  1185. package/resources/local/ecc/docs/ko-KR/skills/postgres-patterns/SKILL.md +147 -0
  1186. package/resources/local/ecc/docs/ko-KR/skills/security-review/SKILL.md +504 -0
  1187. package/resources/local/ecc/docs/ko-KR/skills/security-review/cloud-infrastructure-security.md +361 -0
  1188. package/resources/local/ecc/docs/ko-KR/skills/strategic-compact/SKILL.md +105 -0
  1189. package/resources/local/ecc/docs/ko-KR/skills/tdd-workflow/SKILL.md +408 -0
  1190. package/resources/local/ecc/docs/ko-KR/skills/verification-loop/SKILL.md +127 -0
  1191. package/resources/local/ecc/docs/legacy-artifact-inventory.md +112 -0
  1192. package/resources/local/ecc/docs/pt-BR/CONTRIBUTING.md +426 -0
  1193. package/resources/local/ecc/docs/pt-BR/README.md +518 -0
  1194. package/resources/local/ecc/docs/pt-BR/TERMINOLOGY.md +102 -0
  1195. package/resources/local/ecc/docs/pt-BR/agents/architect.md +80 -0
  1196. package/resources/local/ecc/docs/pt-BR/agents/build-error-resolver.md +80 -0
  1197. package/resources/local/ecc/docs/pt-BR/agents/code-reviewer.md +86 -0
  1198. package/resources/local/ecc/docs/pt-BR/agents/database-reviewer.md +91 -0
  1199. package/resources/local/ecc/docs/pt-BR/agents/doc-updater.md +99 -0
  1200. package/resources/local/ecc/docs/pt-BR/agents/e2e-runner.md +99 -0
  1201. package/resources/local/ecc/docs/pt-BR/agents/go-build-resolver.md +80 -0
  1202. package/resources/local/ecc/docs/pt-BR/agents/go-reviewer.md +76 -0
  1203. package/resources/local/ecc/docs/pt-BR/agents/planner.md +81 -0
  1204. package/resources/local/ecc/docs/pt-BR/agents/refactor-cleaner.md +85 -0
  1205. package/resources/local/ecc/docs/pt-BR/agents/security-reviewer.md +108 -0
  1206. package/resources/local/ecc/docs/pt-BR/agents/tdd-guide.md +80 -0
  1207. package/resources/local/ecc/docs/pt-BR/commands/build-fix.md +62 -0
  1208. package/resources/local/ecc/docs/pt-BR/commands/checkpoint.md +74 -0
  1209. package/resources/local/ecc/docs/pt-BR/commands/code-review.md +40 -0
  1210. package/resources/local/ecc/docs/pt-BR/commands/e2e.md +365 -0
  1211. package/resources/local/ecc/docs/pt-BR/commands/eval.md +120 -0
  1212. package/resources/local/ecc/docs/pt-BR/commands/go-build.md +183 -0
  1213. package/resources/local/ecc/docs/pt-BR/commands/go-review.md +147 -0
  1214. package/resources/local/ecc/docs/pt-BR/commands/go-test.md +268 -0
  1215. package/resources/local/ecc/docs/pt-BR/commands/learn.md +70 -0
  1216. package/resources/local/ecc/docs/pt-BR/commands/orchestrate.md +230 -0
  1217. package/resources/local/ecc/docs/pt-BR/commands/plan.md +113 -0
  1218. package/resources/local/ecc/docs/pt-BR/commands/refactor-clean.md +80 -0
  1219. package/resources/local/ecc/docs/pt-BR/commands/setup-pm.md +80 -0
  1220. package/resources/local/ecc/docs/pt-BR/commands/tdd.md +328 -0
  1221. package/resources/local/ecc/docs/pt-BR/commands/test-coverage.md +69 -0
  1222. package/resources/local/ecc/docs/pt-BR/commands/update-codemaps.md +72 -0
  1223. package/resources/local/ecc/docs/pt-BR/commands/update-docs.md +84 -0
  1224. package/resources/local/ecc/docs/pt-BR/commands/verify.md +59 -0
  1225. package/resources/local/ecc/docs/pt-BR/examples/CLAUDE.md +109 -0
  1226. package/resources/local/ecc/docs/pt-BR/examples/django-api-CLAUDE.md +308 -0
  1227. package/resources/local/ecc/docs/pt-BR/examples/go-microservice-CLAUDE.md +267 -0
  1228. package/resources/local/ecc/docs/pt-BR/examples/rust-api-CLAUDE.md +285 -0
  1229. package/resources/local/ecc/docs/pt-BR/examples/saas-nextjs-CLAUDE.md +166 -0
  1230. package/resources/local/ecc/docs/pt-BR/examples/user-CLAUDE.md +109 -0
  1231. package/resources/local/ecc/docs/pt-BR/rules/agents.md +50 -0
  1232. package/resources/local/ecc/docs/pt-BR/rules/coding-style.md +48 -0
  1233. package/resources/local/ecc/docs/pt-BR/rules/git-workflow.md +24 -0
  1234. package/resources/local/ecc/docs/pt-BR/rules/hooks.md +30 -0
  1235. package/resources/local/ecc/docs/pt-BR/rules/patterns.md +31 -0
  1236. package/resources/local/ecc/docs/pt-BR/rules/performance.md +55 -0
  1237. package/resources/local/ecc/docs/pt-BR/rules/security.md +29 -0
  1238. package/resources/local/ecc/docs/pt-BR/rules/testing.md +29 -0
  1239. package/resources/local/ecc/docs/releases/1.10.0/discussion-announcement.md +55 -0
  1240. package/resources/local/ecc/docs/releases/1.10.0/release-notes.md +70 -0
  1241. package/resources/local/ecc/docs/releases/1.10.0/x-thread.md +45 -0
  1242. package/resources/local/ecc/docs/releases/1.8.0/linkedin-post.md +13 -0
  1243. package/resources/local/ecc/docs/releases/1.8.0/reference-attribution.md +16 -0
  1244. package/resources/local/ecc/docs/releases/1.8.0/release-notes.md +20 -0
  1245. package/resources/local/ecc/docs/releases/1.8.0/x-quote-eval-skills.md +5 -0
  1246. package/resources/local/ecc/docs/releases/1.8.0/x-quote-plankton-deslop.md +5 -0
  1247. package/resources/local/ecc/docs/releases/1.8.0/x-thread.md +11 -0
  1248. package/resources/local/ecc/docs/releases/2.0.0-rc.1/article-outline.md +78 -0
  1249. package/resources/local/ecc/docs/releases/2.0.0-rc.1/demo-prompts.md +42 -0
  1250. package/resources/local/ecc/docs/releases/2.0.0-rc.1/launch-checklist.md +56 -0
  1251. package/resources/local/ecc/docs/releases/2.0.0-rc.1/linkedin-post.md +42 -0
  1252. package/resources/local/ecc/docs/releases/2.0.0-rc.1/naming-and-publication-matrix.md +159 -0
  1253. package/resources/local/ecc/docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-15.md +55 -0
  1254. package/resources/local/ecc/docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-17.md +51 -0
  1255. package/resources/local/ecc/docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-18.md +51 -0
  1256. package/resources/local/ecc/docs/releases/2.0.0-rc.1/owner-queue-cleanup-2026-05-18.md +65 -0
  1257. package/resources/local/ecc/docs/releases/2.0.0-rc.1/preview-pack-manifest.md +110 -0
  1258. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-12.md +103 -0
  1259. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-13-post-hardening.md +98 -0
  1260. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-13.md +60 -0
  1261. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-15.md +187 -0
  1262. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-16.md +86 -0
  1263. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-17.md +113 -0
  1264. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-evidence-2026-05-18.md +150 -0
  1265. package/resources/local/ecc/docs/releases/2.0.0-rc.1/publication-readiness.md +138 -0
  1266. package/resources/local/ecc/docs/releases/2.0.0-rc.1/quickstart.md +70 -0
  1267. package/resources/local/ecc/docs/releases/2.0.0-rc.1/release-name-plugin-publication-checklist-2026-05-18.md +116 -0
  1268. package/resources/local/ecc/docs/releases/2.0.0-rc.1/release-notes.md +106 -0
  1269. package/resources/local/ecc/docs/releases/2.0.0-rc.1/release-url-ledger-2026-05-18.md +55 -0
  1270. package/resources/local/ecc/docs/releases/2.0.0-rc.1/telegram-handoff.md +30 -0
  1271. package/resources/local/ecc/docs/releases/2.0.0-rc.1/x-thread.md +83 -0
  1272. package/resources/local/ecc/docs/ru/README.md +1613 -0
  1273. package/resources/local/ecc/docs/security/supply-chain-incident-response.md +188 -0
  1274. package/resources/local/ecc/docs/skill-adaptation-policy.md +73 -0
  1275. package/resources/local/ecc/docs/stale-pr-salvage-ledger.md +173 -0
  1276. package/resources/local/ecc/docs/th/README.md +263 -0
  1277. package/resources/local/ecc/docs/token-optimization.md +156 -0
  1278. package/resources/local/ecc/docs/tr/AGENTS.md +160 -0
  1279. package/resources/local/ecc/docs/tr/CHANGELOG.md +189 -0
  1280. package/resources/local/ecc/docs/tr/CLAUDE.md +69 -0
  1281. package/resources/local/ecc/docs/tr/CODE_OF_CONDUCT.md +104 -0
  1282. package/resources/local/ecc/docs/tr/CONTRIBUTING.md +461 -0
  1283. package/resources/local/ecc/docs/tr/README.md +466 -0
  1284. package/resources/local/ecc/docs/tr/SECURITY.md +53 -0
  1285. package/resources/local/ecc/docs/tr/SPONSORING.md +43 -0
  1286. package/resources/local/ecc/docs/tr/SPONSORS.md +59 -0
  1287. package/resources/local/ecc/docs/tr/TERMINOLOGY.md +184 -0
  1288. package/resources/local/ecc/docs/tr/TROUBLESHOOTING.md +422 -0
  1289. package/resources/local/ecc/docs/tr/agents/architect.md +211 -0
  1290. package/resources/local/ecc/docs/tr/agents/build-error-resolver.md +114 -0
  1291. package/resources/local/ecc/docs/tr/agents/chief-of-staff.md +151 -0
  1292. package/resources/local/ecc/docs/tr/agents/code-reviewer.md +237 -0
  1293. package/resources/local/ecc/docs/tr/agents/cpp-build-resolver.md +90 -0
  1294. package/resources/local/ecc/docs/tr/agents/cpp-reviewer.md +72 -0
  1295. package/resources/local/ecc/docs/tr/agents/database-reviewer.md +91 -0
  1296. package/resources/local/ecc/docs/tr/agents/doc-updater.md +107 -0
  1297. package/resources/local/ecc/docs/tr/agents/docs-lookup.md +68 -0
  1298. package/resources/local/ecc/docs/tr/agents/e2e-runner.md +107 -0
  1299. package/resources/local/ecc/docs/tr/agents/flutter-reviewer.md +243 -0
  1300. package/resources/local/ecc/docs/tr/agents/go-build-resolver.md +94 -0
  1301. package/resources/local/ecc/docs/tr/agents/go-reviewer.md +76 -0
  1302. package/resources/local/ecc/docs/tr/agents/harness-optimizer.md +35 -0
  1303. package/resources/local/ecc/docs/tr/agents/java-build-resolver.md +155 -0
  1304. package/resources/local/ecc/docs/tr/agents/java-reviewer.md +94 -0
  1305. package/resources/local/ecc/docs/tr/agents/kotlin-build-resolver.md +118 -0
  1306. package/resources/local/ecc/docs/tr/agents/kotlin-reviewer.md +159 -0
  1307. package/resources/local/ecc/docs/tr/agents/loop-operator.md +36 -0
  1308. package/resources/local/ecc/docs/tr/agents/planner.md +212 -0
  1309. package/resources/local/ecc/docs/tr/agents/python-reviewer.md +98 -0
  1310. package/resources/local/ecc/docs/tr/agents/pytorch-build-resolver.md +120 -0
  1311. package/resources/local/ecc/docs/tr/agents/refactor-cleaner.md +85 -0
  1312. package/resources/local/ecc/docs/tr/agents/rust-build-resolver.md +148 -0
  1313. package/resources/local/ecc/docs/tr/agents/rust-reviewer.md +94 -0
  1314. package/resources/local/ecc/docs/tr/agents/security-reviewer.md +108 -0
  1315. package/resources/local/ecc/docs/tr/agents/tdd-guide.md +91 -0
  1316. package/resources/local/ecc/docs/tr/agents/typescript-reviewer.md +112 -0
  1317. package/resources/local/ecc/docs/tr/commands/build-fix.md +62 -0
  1318. package/resources/local/ecc/docs/tr/commands/checkpoint.md +74 -0
  1319. package/resources/local/ecc/docs/tr/commands/code-review.md +40 -0
  1320. package/resources/local/ecc/docs/tr/commands/e2e.md +365 -0
  1321. package/resources/local/ecc/docs/tr/commands/eval.md +120 -0
  1322. package/resources/local/ecc/docs/tr/commands/evolve.md +178 -0
  1323. package/resources/local/ecc/docs/tr/commands/go-build.md +183 -0
  1324. package/resources/local/ecc/docs/tr/commands/go-review.md +148 -0
  1325. package/resources/local/ecc/docs/tr/commands/go-test.md +268 -0
  1326. package/resources/local/ecc/docs/tr/commands/instinct-export.md +66 -0
  1327. package/resources/local/ecc/docs/tr/commands/instinct-import.md +114 -0
  1328. package/resources/local/ecc/docs/tr/commands/instinct-status.md +59 -0
  1329. package/resources/local/ecc/docs/tr/commands/learn-eval.md +116 -0
  1330. package/resources/local/ecc/docs/tr/commands/learn.md +70 -0
  1331. package/resources/local/ecc/docs/tr/commands/multi-backend.md +158 -0
  1332. package/resources/local/ecc/docs/tr/commands/multi-execute.md +315 -0
  1333. package/resources/local/ecc/docs/tr/commands/multi-frontend.md +158 -0
  1334. package/resources/local/ecc/docs/tr/commands/multi-plan.md +268 -0
  1335. package/resources/local/ecc/docs/tr/commands/multi-workflow.md +191 -0
  1336. package/resources/local/ecc/docs/tr/commands/orchestrate.md +231 -0
  1337. package/resources/local/ecc/docs/tr/commands/plan.md +115 -0
  1338. package/resources/local/ecc/docs/tr/commands/pm2.md +272 -0
  1339. package/resources/local/ecc/docs/tr/commands/refactor-clean.md +80 -0
  1340. package/resources/local/ecc/docs/tr/commands/sessions.md +293 -0
  1341. package/resources/local/ecc/docs/tr/commands/setup-pm.md +80 -0
  1342. package/resources/local/ecc/docs/tr/commands/skill-create.md +174 -0
  1343. package/resources/local/ecc/docs/tr/commands/tdd.md +328 -0
  1344. package/resources/local/ecc/docs/tr/commands/test-coverage.md +69 -0
  1345. package/resources/local/ecc/docs/tr/commands/update-docs.md +84 -0
  1346. package/resources/local/ecc/docs/tr/commands/verify.md +59 -0
  1347. package/resources/local/ecc/docs/tr/contexts/dev.md +20 -0
  1348. package/resources/local/ecc/docs/tr/contexts/research.md +26 -0
  1349. package/resources/local/ecc/docs/tr/contexts/review.md +22 -0
  1350. package/resources/local/ecc/docs/tr/examples/CLAUDE.md +109 -0
  1351. package/resources/local/ecc/docs/tr/examples/README.md +80 -0
  1352. package/resources/local/ecc/docs/tr/examples/statusline.json +19 -0
  1353. package/resources/local/ecc/docs/tr/examples/user-CLAUDE.md +109 -0
  1354. package/resources/local/ecc/docs/tr/rules/README.md +61 -0
  1355. package/resources/local/ecc/docs/tr/rules/common/agents.md +50 -0
  1356. package/resources/local/ecc/docs/tr/rules/common/coding-style.md +48 -0
  1357. package/resources/local/ecc/docs/tr/rules/common/development-workflow.md +38 -0
  1358. package/resources/local/ecc/docs/tr/rules/common/git-workflow.md +24 -0
  1359. package/resources/local/ecc/docs/tr/rules/common/hooks.md +30 -0
  1360. package/resources/local/ecc/docs/tr/rules/common/patterns.md +31 -0
  1361. package/resources/local/ecc/docs/tr/rules/common/performance.md +55 -0
  1362. package/resources/local/ecc/docs/tr/rules/common/security.md +29 -0
  1363. package/resources/local/ecc/docs/tr/rules/common/testing.md +29 -0
  1364. package/resources/local/ecc/docs/tr/rules/golang/coding-style.md +32 -0
  1365. package/resources/local/ecc/docs/tr/rules/golang/hooks.md +17 -0
  1366. package/resources/local/ecc/docs/tr/rules/golang/patterns.md +45 -0
  1367. package/resources/local/ecc/docs/tr/rules/golang/security.md +34 -0
  1368. package/resources/local/ecc/docs/tr/rules/golang/testing.md +31 -0
  1369. package/resources/local/ecc/docs/tr/rules/python/coding-style.md +42 -0
  1370. package/resources/local/ecc/docs/tr/rules/python/hooks.md +19 -0
  1371. package/resources/local/ecc/docs/tr/rules/python/patterns.md +39 -0
  1372. package/resources/local/ecc/docs/tr/rules/python/security.md +30 -0
  1373. package/resources/local/ecc/docs/tr/rules/python/testing.md +38 -0
  1374. package/resources/local/ecc/docs/tr/rules/typescript/coding-style.md +199 -0
  1375. package/resources/local/ecc/docs/tr/rules/typescript/hooks.md +22 -0
  1376. package/resources/local/ecc/docs/tr/rules/typescript/patterns.md +52 -0
  1377. package/resources/local/ecc/docs/tr/rules/typescript/security.md +28 -0
  1378. package/resources/local/ecc/docs/tr/rules/typescript/testing.md +18 -0
  1379. package/resources/local/ecc/docs/tr/skills/api-design/SKILL.md +523 -0
  1380. package/resources/local/ecc/docs/tr/skills/backend-patterns/SKILL.md +598 -0
  1381. package/resources/local/ecc/docs/tr/skills/coding-standards/SKILL.md +530 -0
  1382. package/resources/local/ecc/docs/tr/skills/continuous-learning/SKILL.md +119 -0
  1383. package/resources/local/ecc/docs/tr/skills/continuous-learning-v2/SKILL.md +347 -0
  1384. package/resources/local/ecc/docs/tr/skills/database-migrations/SKILL.md +319 -0
  1385. package/resources/local/ecc/docs/tr/skills/deployment-patterns/SKILL.md +427 -0
  1386. package/resources/local/ecc/docs/tr/skills/django-patterns/SKILL.md +734 -0
  1387. package/resources/local/ecc/docs/tr/skills/docker-patterns/SKILL.md +364 -0
  1388. package/resources/local/ecc/docs/tr/skills/e2e-testing/SKILL.md +326 -0
  1389. package/resources/local/ecc/docs/tr/skills/eval-harness/SKILL.md +270 -0
  1390. package/resources/local/ecc/docs/tr/skills/frontend-patterns/SKILL.md +642 -0
  1391. package/resources/local/ecc/docs/tr/skills/golang-patterns/SKILL.md +674 -0
  1392. package/resources/local/ecc/docs/tr/skills/golang-testing/SKILL.md +720 -0
  1393. package/resources/local/ecc/docs/tr/skills/jpa-patterns/SKILL.md +151 -0
  1394. package/resources/local/ecc/docs/tr/skills/kotlin-patterns/SKILL.md +535 -0
  1395. package/resources/local/ecc/docs/tr/skills/kotlin-testing/SKILL.md +578 -0
  1396. package/resources/local/ecc/docs/tr/skills/laravel-patterns/SKILL.md +415 -0
  1397. package/resources/local/ecc/docs/tr/skills/laravel-security/SKILL.md +285 -0
  1398. package/resources/local/ecc/docs/tr/skills/laravel-tdd/SKILL.md +283 -0
  1399. package/resources/local/ecc/docs/tr/skills/laravel-verification/SKILL.md +179 -0
  1400. package/resources/local/ecc/docs/tr/skills/nextjs-turbopack/SKILL.md +44 -0
  1401. package/resources/local/ecc/docs/tr/skills/postgres-patterns/SKILL.md +147 -0
  1402. package/resources/local/ecc/docs/tr/skills/python-patterns/SKILL.md +750 -0
  1403. package/resources/local/ecc/docs/tr/skills/python-testing/SKILL.md +816 -0
  1404. package/resources/local/ecc/docs/tr/skills/quarkus-patterns/SKILL.md +778 -0
  1405. package/resources/local/ecc/docs/tr/skills/quarkus-security/SKILL.md +474 -0
  1406. package/resources/local/ecc/docs/tr/skills/quarkus-tdd/SKILL.md +916 -0
  1407. package/resources/local/ecc/docs/tr/skills/quarkus-verification/SKILL.md +479 -0
  1408. package/resources/local/ecc/docs/tr/skills/rust-patterns/SKILL.md +499 -0
  1409. package/resources/local/ecc/docs/tr/skills/rust-testing/SKILL.md +500 -0
  1410. package/resources/local/ecc/docs/tr/skills/security-review/SKILL.md +495 -0
  1411. package/resources/local/ecc/docs/tr/skills/springboot-patterns/SKILL.md +312 -0
  1412. package/resources/local/ecc/docs/tr/skills/springboot-security/SKILL.md +272 -0
  1413. package/resources/local/ecc/docs/tr/skills/springboot-tdd/SKILL.md +158 -0
  1414. package/resources/local/ecc/docs/tr/skills/springboot-verification/SKILL.md +231 -0
  1415. package/resources/local/ecc/docs/tr/skills/tdd-workflow/SKILL.md +410 -0
  1416. package/resources/local/ecc/docs/tr/skills/verification-loop/SKILL.md +126 -0
  1417. package/resources/local/ecc/docs/tr/the-longform-guide.md +354 -0
  1418. package/resources/local/ecc/docs/tr/the-security-guide.md +455 -0
  1419. package/resources/local/ecc/docs/tr/the-shortform-guide.md +431 -0
  1420. package/resources/local/ecc/docs/vi-VN/README.md +179 -0
  1421. package/resources/local/ecc/docs/zh-CN/AGENTS.md +165 -0
  1422. package/resources/local/ecc/docs/zh-CN/CHANGELOG.md +189 -0
  1423. package/resources/local/ecc/docs/zh-CN/CLAUDE.md +70 -0
  1424. package/resources/local/ecc/docs/zh-CN/CODE_OF_CONDUCT.md +83 -0
  1425. package/resources/local/ecc/docs/zh-CN/CONTRIBUTING.md +465 -0
  1426. package/resources/local/ecc/docs/zh-CN/README.md +1415 -0
  1427. package/resources/local/ecc/docs/zh-CN/SECURITY.md +53 -0
  1428. package/resources/local/ecc/docs/zh-CN/SPONSORING.md +43 -0
  1429. package/resources/local/ecc/docs/zh-CN/SPONSORS.md +59 -0
  1430. package/resources/local/ecc/docs/zh-CN/TROUBLESHOOTING.md +446 -0
  1431. package/resources/local/ecc/docs/zh-CN/agents/architect.md +232 -0
  1432. package/resources/local/ecc/docs/zh-CN/agents/build-error-resolver.md +119 -0
  1433. package/resources/local/ecc/docs/zh-CN/agents/chief-of-staff.md +155 -0
  1434. package/resources/local/ecc/docs/zh-CN/agents/code-architect.md +71 -0
  1435. package/resources/local/ecc/docs/zh-CN/agents/code-explorer.md +69 -0
  1436. package/resources/local/ecc/docs/zh-CN/agents/code-reviewer.md +238 -0
  1437. package/resources/local/ecc/docs/zh-CN/agents/code-simplifier.md +47 -0
  1438. package/resources/local/ecc/docs/zh-CN/agents/comment-analyzer.md +45 -0
  1439. package/resources/local/ecc/docs/zh-CN/agents/conversation-analyzer.md +56 -0
  1440. package/resources/local/ecc/docs/zh-CN/agents/cpp-build-resolver.md +91 -0
  1441. package/resources/local/ecc/docs/zh-CN/agents/cpp-reviewer.md +79 -0
  1442. package/resources/local/ecc/docs/zh-CN/agents/csharp-reviewer.md +109 -0
  1443. package/resources/local/ecc/docs/zh-CN/agents/dart-build-resolver.md +202 -0
  1444. package/resources/local/ecc/docs/zh-CN/agents/database-reviewer.md +94 -0
  1445. package/resources/local/ecc/docs/zh-CN/agents/doc-updater.md +110 -0
  1446. package/resources/local/ecc/docs/zh-CN/agents/docs-lookup.md +68 -0
  1447. package/resources/local/ecc/docs/zh-CN/agents/e2e-runner.md +110 -0
  1448. package/resources/local/ecc/docs/zh-CN/agents/flutter-reviewer.md +250 -0
  1449. package/resources/local/ecc/docs/zh-CN/agents/gan-evaluator.md +223 -0
  1450. package/resources/local/ecc/docs/zh-CN/agents/gan-generator.md +139 -0
  1451. package/resources/local/ecc/docs/zh-CN/agents/gan-planner.md +99 -0
  1452. package/resources/local/ecc/docs/zh-CN/agents/go-build-resolver.md +95 -0
  1453. package/resources/local/ecc/docs/zh-CN/agents/go-reviewer.md +83 -0
  1454. package/resources/local/ecc/docs/zh-CN/agents/harness-optimizer.md +35 -0
  1455. package/resources/local/ecc/docs/zh-CN/agents/healthcare-reviewer.md +83 -0
  1456. package/resources/local/ecc/docs/zh-CN/agents/java-build-resolver.md +156 -0
  1457. package/resources/local/ecc/docs/zh-CN/agents/java-reviewer.md +107 -0
  1458. package/resources/local/ecc/docs/zh-CN/agents/kotlin-build-resolver.md +119 -0
  1459. package/resources/local/ecc/docs/zh-CN/agents/kotlin-reviewer.md +161 -0
  1460. package/resources/local/ecc/docs/zh-CN/agents/loop-operator.md +37 -0
  1461. package/resources/local/ecc/docs/zh-CN/agents/opensource-forker.md +203 -0
  1462. package/resources/local/ecc/docs/zh-CN/agents/opensource-packager.md +255 -0
  1463. package/resources/local/ecc/docs/zh-CN/agents/opensource-sanitizer.md +191 -0
  1464. package/resources/local/ecc/docs/zh-CN/agents/performance-optimizer.md +446 -0
  1465. package/resources/local/ecc/docs/zh-CN/agents/planner.md +215 -0
  1466. package/resources/local/ecc/docs/zh-CN/agents/pr-test-analyzer.md +45 -0
  1467. package/resources/local/ecc/docs/zh-CN/agents/python-reviewer.md +106 -0
  1468. package/resources/local/ecc/docs/zh-CN/agents/pytorch-build-resolver.md +122 -0
  1469. package/resources/local/ecc/docs/zh-CN/agents/refactor-cleaner.md +92 -0
  1470. package/resources/local/ecc/docs/zh-CN/agents/rust-build-resolver.md +149 -0
  1471. package/resources/local/ecc/docs/zh-CN/agents/rust-reviewer.md +95 -0
  1472. package/resources/local/ecc/docs/zh-CN/agents/security-reviewer.md +112 -0
  1473. package/resources/local/ecc/docs/zh-CN/agents/seo-specialist.md +63 -0
  1474. package/resources/local/ecc/docs/zh-CN/agents/silent-failure-hunter.md +50 -0
  1475. package/resources/local/ecc/docs/zh-CN/agents/tdd-guide.md +96 -0
  1476. package/resources/local/ecc/docs/zh-CN/agents/type-design-analyzer.md +41 -0
  1477. package/resources/local/ecc/docs/zh-CN/agents/typescript-reviewer.md +122 -0
  1478. package/resources/local/ecc/docs/zh-CN/commands/aside.md +173 -0
  1479. package/resources/local/ecc/docs/zh-CN/commands/auto-update.md +28 -0
  1480. package/resources/local/ecc/docs/zh-CN/commands/build-fix.md +64 -0
  1481. package/resources/local/ecc/docs/zh-CN/commands/checkpoint.md +78 -0
  1482. package/resources/local/ecc/docs/zh-CN/commands/claw.md +51 -0
  1483. package/resources/local/ecc/docs/zh-CN/commands/code-review.md +43 -0
  1484. package/resources/local/ecc/docs/zh-CN/commands/context-budget.md +29 -0
  1485. package/resources/local/ecc/docs/zh-CN/commands/cpp-build.md +173 -0
  1486. package/resources/local/ecc/docs/zh-CN/commands/cpp-review.md +140 -0
  1487. package/resources/local/ecc/docs/zh-CN/commands/cpp-test.md +257 -0
  1488. package/resources/local/ecc/docs/zh-CN/commands/devfleet.md +93 -0
  1489. package/resources/local/ecc/docs/zh-CN/commands/docs.md +32 -0
  1490. package/resources/local/ecc/docs/zh-CN/commands/e2e.md +374 -0
  1491. package/resources/local/ecc/docs/zh-CN/commands/eval.md +122 -0
  1492. package/resources/local/ecc/docs/zh-CN/commands/evolve.md +194 -0
  1493. package/resources/local/ecc/docs/zh-CN/commands/feature-dev.md +49 -0
  1494. package/resources/local/ecc/docs/zh-CN/commands/flutter-build.md +166 -0
  1495. package/resources/local/ecc/docs/zh-CN/commands/flutter-review.md +118 -0
  1496. package/resources/local/ecc/docs/zh-CN/commands/flutter-test.md +145 -0
  1497. package/resources/local/ecc/docs/zh-CN/commands/gan-build.md +109 -0
  1498. package/resources/local/ecc/docs/zh-CN/commands/gan-design.md +45 -0
  1499. package/resources/local/ecc/docs/zh-CN/commands/go-build.md +183 -0
  1500. package/resources/local/ecc/docs/zh-CN/commands/go-review.md +156 -0
  1501. package/resources/local/ecc/docs/zh-CN/commands/go-test.md +274 -0
  1502. package/resources/local/ecc/docs/zh-CN/commands/gradle-build.md +72 -0
  1503. package/resources/local/ecc/docs/zh-CN/commands/harness-audit.md +72 -0
  1504. package/resources/local/ecc/docs/zh-CN/commands/hookify-configure.md +14 -0
  1505. package/resources/local/ecc/docs/zh-CN/commands/hookify-help.md +46 -0
  1506. package/resources/local/ecc/docs/zh-CN/commands/hookify-list.md +21 -0
  1507. package/resources/local/ecc/docs/zh-CN/commands/hookify.md +50 -0
  1508. package/resources/local/ecc/docs/zh-CN/commands/instinct-export.md +67 -0
  1509. package/resources/local/ecc/docs/zh-CN/commands/instinct-import.md +117 -0
  1510. package/resources/local/ecc/docs/zh-CN/commands/instinct-status.md +59 -0
  1511. package/resources/local/ecc/docs/zh-CN/commands/jira.md +108 -0
  1512. package/resources/local/ecc/docs/zh-CN/commands/kotlin-build.md +176 -0
  1513. package/resources/local/ecc/docs/zh-CN/commands/kotlin-review.md +144 -0
  1514. package/resources/local/ecc/docs/zh-CN/commands/kotlin-test.md +315 -0
  1515. package/resources/local/ecc/docs/zh-CN/commands/learn-eval.md +117 -0
  1516. package/resources/local/ecc/docs/zh-CN/commands/learn.md +70 -0
  1517. package/resources/local/ecc/docs/zh-CN/commands/loop-start.md +33 -0
  1518. package/resources/local/ecc/docs/zh-CN/commands/loop-status.md +25 -0
  1519. package/resources/local/ecc/docs/zh-CN/commands/model-route.md +27 -0
  1520. package/resources/local/ecc/docs/zh-CN/commands/multi-backend.md +162 -0
  1521. package/resources/local/ecc/docs/zh-CN/commands/multi-execute.md +321 -0
  1522. package/resources/local/ecc/docs/zh-CN/commands/multi-frontend.md +162 -0
  1523. package/resources/local/ecc/docs/zh-CN/commands/multi-plan.md +278 -0
  1524. package/resources/local/ecc/docs/zh-CN/commands/multi-workflow.md +197 -0
  1525. package/resources/local/ecc/docs/zh-CN/commands/orchestrate.md +242 -0
  1526. package/resources/local/ecc/docs/zh-CN/commands/plan.md +118 -0
  1527. package/resources/local/ecc/docs/zh-CN/commands/pm2.md +283 -0
  1528. package/resources/local/ecc/docs/zh-CN/commands/projects.md +39 -0
  1529. package/resources/local/ecc/docs/zh-CN/commands/promote.md +41 -0
  1530. package/resources/local/ecc/docs/zh-CN/commands/prompt-optimize.md +37 -0
  1531. package/resources/local/ecc/docs/zh-CN/commands/prp-commit.md +115 -0
  1532. package/resources/local/ecc/docs/zh-CN/commands/prp-implement.md +394 -0
  1533. package/resources/local/ecc/docs/zh-CN/commands/prp-plan.md +506 -0
  1534. package/resources/local/ecc/docs/zh-CN/commands/prp-pr.md +188 -0
  1535. package/resources/local/ecc/docs/zh-CN/commands/prp-prd.md +453 -0
  1536. package/resources/local/ecc/docs/zh-CN/commands/prune.md +31 -0
  1537. package/resources/local/ecc/docs/zh-CN/commands/python-review.md +319 -0
  1538. package/resources/local/ecc/docs/zh-CN/commands/quality-gate.md +30 -0
  1539. package/resources/local/ecc/docs/zh-CN/commands/refactor-clean.md +83 -0
  1540. package/resources/local/ecc/docs/zh-CN/commands/resume-session.md +154 -0
  1541. package/resources/local/ecc/docs/zh-CN/commands/review-pr.md +37 -0
  1542. package/resources/local/ecc/docs/zh-CN/commands/rules-distill.md +11 -0
  1543. package/resources/local/ecc/docs/zh-CN/commands/rust-build.md +189 -0
  1544. package/resources/local/ecc/docs/zh-CN/commands/rust-review.md +146 -0
  1545. package/resources/local/ecc/docs/zh-CN/commands/rust-test.md +311 -0
  1546. package/resources/local/ecc/docs/zh-CN/commands/santa-loop.md +180 -0
  1547. package/resources/local/ecc/docs/zh-CN/commands/save-session.md +252 -0
  1548. package/resources/local/ecc/docs/zh-CN/commands/sessions.md +340 -0
  1549. package/resources/local/ecc/docs/zh-CN/commands/setup-pm.md +83 -0
  1550. package/resources/local/ecc/docs/zh-CN/commands/skill-create.md +176 -0
  1551. package/resources/local/ecc/docs/zh-CN/commands/skill-health.md +54 -0
  1552. package/resources/local/ecc/docs/zh-CN/commands/tdd.md +330 -0
  1553. package/resources/local/ecc/docs/zh-CN/commands/test-coverage.md +69 -0
  1554. package/resources/local/ecc/docs/zh-CN/commands/update-codemaps.md +73 -0
  1555. package/resources/local/ecc/docs/zh-CN/commands/update-docs.md +86 -0
  1556. package/resources/local/ecc/docs/zh-CN/commands/verify.md +60 -0
  1557. package/resources/local/ecc/docs/zh-CN/contexts/dev.md +23 -0
  1558. package/resources/local/ecc/docs/zh-CN/contexts/research.md +30 -0
  1559. package/resources/local/ecc/docs/zh-CN/contexts/review.md +25 -0
  1560. package/resources/local/ecc/docs/zh-CN/examples/CLAUDE.md +109 -0
  1561. package/resources/local/ecc/docs/zh-CN/examples/django-api-CLAUDE.md +308 -0
  1562. package/resources/local/ecc/docs/zh-CN/examples/go-microservice-CLAUDE.md +267 -0
  1563. package/resources/local/ecc/docs/zh-CN/examples/laravel-api-CLAUDE.md +311 -0
  1564. package/resources/local/ecc/docs/zh-CN/examples/rust-api-CLAUDE.md +285 -0
  1565. package/resources/local/ecc/docs/zh-CN/examples/saas-nextjs-CLAUDE.md +166 -0
  1566. package/resources/local/ecc/docs/zh-CN/examples/user-CLAUDE.md +118 -0
  1567. package/resources/local/ecc/docs/zh-CN/hooks/README.md +220 -0
  1568. package/resources/local/ecc/docs/zh-CN/plugins/README.md +89 -0
  1569. package/resources/local/ecc/docs/zh-CN/rules/README.md +105 -0
  1570. package/resources/local/ecc/docs/zh-CN/rules/common/agents.md +53 -0
  1571. package/resources/local/ecc/docs/zh-CN/rules/common/coding-style.md +52 -0
  1572. package/resources/local/ecc/docs/zh-CN/rules/common/development-workflow.md +38 -0
  1573. package/resources/local/ecc/docs/zh-CN/rules/common/git-workflow.md +26 -0
  1574. package/resources/local/ecc/docs/zh-CN/rules/common/hooks.md +33 -0
  1575. package/resources/local/ecc/docs/zh-CN/rules/common/patterns.md +34 -0
  1576. package/resources/local/ecc/docs/zh-CN/rules/common/performance.md +63 -0
  1577. package/resources/local/ecc/docs/zh-CN/rules/common/security.md +31 -0
  1578. package/resources/local/ecc/docs/zh-CN/rules/common/testing.md +31 -0
  1579. package/resources/local/ecc/docs/zh-CN/rules/cpp/coding-style.md +45 -0
  1580. package/resources/local/ecc/docs/zh-CN/rules/cpp/hooks.md +40 -0
  1581. package/resources/local/ecc/docs/zh-CN/rules/cpp/patterns.md +52 -0
  1582. package/resources/local/ecc/docs/zh-CN/rules/cpp/security.md +52 -0
  1583. package/resources/local/ecc/docs/zh-CN/rules/cpp/testing.md +45 -0
  1584. package/resources/local/ecc/docs/zh-CN/rules/csharp/coding-style.md +73 -0
  1585. package/resources/local/ecc/docs/zh-CN/rules/csharp/hooks.md +26 -0
  1586. package/resources/local/ecc/docs/zh-CN/rules/csharp/patterns.md +51 -0
  1587. package/resources/local/ecc/docs/zh-CN/rules/csharp/security.md +59 -0
  1588. package/resources/local/ecc/docs/zh-CN/rules/csharp/testing.md +47 -0
  1589. package/resources/local/ecc/docs/zh-CN/rules/golang/coding-style.md +33 -0
  1590. package/resources/local/ecc/docs/zh-CN/rules/golang/hooks.md +18 -0
  1591. package/resources/local/ecc/docs/zh-CN/rules/golang/patterns.md +46 -0
  1592. package/resources/local/ecc/docs/zh-CN/rules/golang/security.md +35 -0
  1593. package/resources/local/ecc/docs/zh-CN/rules/golang/testing.md +32 -0
  1594. package/resources/local/ecc/docs/zh-CN/rules/java/coding-style.md +117 -0
  1595. package/resources/local/ecc/docs/zh-CN/rules/java/hooks.md +19 -0
  1596. package/resources/local/ecc/docs/zh-CN/rules/java/patterns.md +148 -0
  1597. package/resources/local/ecc/docs/zh-CN/rules/java/security.md +102 -0
  1598. package/resources/local/ecc/docs/zh-CN/rules/java/testing.md +135 -0
  1599. package/resources/local/ecc/docs/zh-CN/rules/kotlin/coding-style.md +90 -0
  1600. package/resources/local/ecc/docs/zh-CN/rules/kotlin/hooks.md +18 -0
  1601. package/resources/local/ecc/docs/zh-CN/rules/kotlin/patterns.md +147 -0
  1602. package/resources/local/ecc/docs/zh-CN/rules/kotlin/security.md +83 -0
  1603. package/resources/local/ecc/docs/zh-CN/rules/kotlin/testing.md +129 -0
  1604. package/resources/local/ecc/docs/zh-CN/rules/perl/coding-style.md +47 -0
  1605. package/resources/local/ecc/docs/zh-CN/rules/perl/hooks.md +23 -0
  1606. package/resources/local/ecc/docs/zh-CN/rules/perl/patterns.md +77 -0
  1607. package/resources/local/ecc/docs/zh-CN/rules/perl/security.md +70 -0
  1608. package/resources/local/ecc/docs/zh-CN/rules/perl/testing.md +55 -0
  1609. package/resources/local/ecc/docs/zh-CN/rules/php/coding-style.md +41 -0
  1610. package/resources/local/ecc/docs/zh-CN/rules/php/hooks.md +25 -0
  1611. package/resources/local/ecc/docs/zh-CN/rules/php/patterns.md +34 -0
  1612. package/resources/local/ecc/docs/zh-CN/rules/php/security.md +38 -0
  1613. package/resources/local/ecc/docs/zh-CN/rules/php/testing.md +40 -0
  1614. package/resources/local/ecc/docs/zh-CN/rules/python/coding-style.md +43 -0
  1615. package/resources/local/ecc/docs/zh-CN/rules/python/hooks.md +20 -0
  1616. package/resources/local/ecc/docs/zh-CN/rules/python/patterns.md +40 -0
  1617. package/resources/local/ecc/docs/zh-CN/rules/python/security.md +31 -0
  1618. package/resources/local/ecc/docs/zh-CN/rules/python/testing.md +39 -0
  1619. package/resources/local/ecc/docs/zh-CN/rules/rust/coding-style.md +153 -0
  1620. package/resources/local/ecc/docs/zh-CN/rules/rust/hooks.md +17 -0
  1621. package/resources/local/ecc/docs/zh-CN/rules/rust/patterns.md +169 -0
  1622. package/resources/local/ecc/docs/zh-CN/rules/rust/security.md +142 -0
  1623. package/resources/local/ecc/docs/zh-CN/rules/rust/testing.md +156 -0
  1624. package/resources/local/ecc/docs/zh-CN/rules/swift/coding-style.md +48 -0
  1625. package/resources/local/ecc/docs/zh-CN/rules/swift/hooks.md +21 -0
  1626. package/resources/local/ecc/docs/zh-CN/rules/swift/patterns.md +67 -0
  1627. package/resources/local/ecc/docs/zh-CN/rules/swift/security.md +34 -0
  1628. package/resources/local/ecc/docs/zh-CN/rules/swift/testing.md +46 -0
  1629. package/resources/local/ecc/docs/zh-CN/rules/typescript/coding-style.md +200 -0
  1630. package/resources/local/ecc/docs/zh-CN/rules/typescript/hooks.md +23 -0
  1631. package/resources/local/ecc/docs/zh-CN/rules/typescript/patterns.md +53 -0
  1632. package/resources/local/ecc/docs/zh-CN/rules/typescript/security.md +29 -0
  1633. package/resources/local/ecc/docs/zh-CN/rules/typescript/testing.md +19 -0
  1634. package/resources/local/ecc/docs/zh-CN/skills/accessibility/SKILL.md +145 -0
  1635. package/resources/local/ecc/docs/zh-CN/skills/agent-eval/SKILL.md +149 -0
  1636. package/resources/local/ecc/docs/zh-CN/skills/agent-harness-construction/SKILL.md +77 -0
  1637. package/resources/local/ecc/docs/zh-CN/skills/agent-introspection-debugging/SKILL.md +161 -0
  1638. package/resources/local/ecc/docs/zh-CN/skills/agent-payment-x402/SKILL.md +182 -0
  1639. package/resources/local/ecc/docs/zh-CN/skills/agent-sort/SKILL.md +215 -0
  1640. package/resources/local/ecc/docs/zh-CN/skills/agentic-engineering/SKILL.md +66 -0
  1641. package/resources/local/ecc/docs/zh-CN/skills/ai-first-engineering/SKILL.md +55 -0
  1642. package/resources/local/ecc/docs/zh-CN/skills/ai-regression-testing/SKILL.md +387 -0
  1643. package/resources/local/ecc/docs/zh-CN/skills/android-clean-architecture/SKILL.md +339 -0
  1644. package/resources/local/ecc/docs/zh-CN/skills/api-connector-builder/SKILL.md +120 -0
  1645. package/resources/local/ecc/docs/zh-CN/skills/api-design/SKILL.md +523 -0
  1646. package/resources/local/ecc/docs/zh-CN/skills/architecture-decision-records/SKILL.md +183 -0
  1647. package/resources/local/ecc/docs/zh-CN/skills/article-writing/SKILL.md +92 -0
  1648. package/resources/local/ecc/docs/zh-CN/skills/automation-audit-ops/SKILL.md +142 -0
  1649. package/resources/local/ecc/docs/zh-CN/skills/autonomous-agent-harness/SKILL.md +279 -0
  1650. package/resources/local/ecc/docs/zh-CN/skills/autonomous-loops/SKILL.md +619 -0
  1651. package/resources/local/ecc/docs/zh-CN/skills/backend-patterns/SKILL.md +598 -0
  1652. package/resources/local/ecc/docs/zh-CN/skills/benchmark/SKILL.md +94 -0
  1653. package/resources/local/ecc/docs/zh-CN/skills/blueprint/SKILL.md +96 -0
  1654. package/resources/local/ecc/docs/zh-CN/skills/brand-voice/SKILL.md +97 -0
  1655. package/resources/local/ecc/docs/zh-CN/skills/browser-qa/SKILL.md +81 -0
  1656. package/resources/local/ecc/docs/zh-CN/skills/bun-runtime/SKILL.md +84 -0
  1657. package/resources/local/ecc/docs/zh-CN/skills/canary-watch/SKILL.md +104 -0
  1658. package/resources/local/ecc/docs/zh-CN/skills/carrier-relationship-management/SKILL.md +199 -0
  1659. package/resources/local/ecc/docs/zh-CN/skills/ck/SKILL.md +171 -0
  1660. package/resources/local/ecc/docs/zh-CN/skills/claude-devfleet/SKILL.md +104 -0
  1661. package/resources/local/ecc/docs/zh-CN/skills/click-path-audit/SKILL.md +257 -0
  1662. package/resources/local/ecc/docs/zh-CN/skills/clickhouse-io/SKILL.md +445 -0
  1663. package/resources/local/ecc/docs/zh-CN/skills/code-tour/SKILL.md +244 -0
  1664. package/resources/local/ecc/docs/zh-CN/skills/codebase-onboarding/SKILL.md +243 -0
  1665. package/resources/local/ecc/docs/zh-CN/skills/coding-standards/SKILL.md +537 -0
  1666. package/resources/local/ecc/docs/zh-CN/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  1667. package/resources/local/ecc/docs/zh-CN/skills/configure-ecc/SKILL.md +400 -0
  1668. package/resources/local/ecc/docs/zh-CN/skills/connections-optimizer/SKILL.md +189 -0
  1669. package/resources/local/ecc/docs/zh-CN/skills/content-engine/SKILL.md +97 -0
  1670. package/resources/local/ecc/docs/zh-CN/skills/content-hash-cache-pattern/SKILL.md +161 -0
  1671. package/resources/local/ecc/docs/zh-CN/skills/context-budget/SKILL.md +143 -0
  1672. package/resources/local/ecc/docs/zh-CN/skills/continuous-agent-loop/SKILL.md +46 -0
  1673. package/resources/local/ecc/docs/zh-CN/skills/continuous-learning/SKILL.md +120 -0
  1674. package/resources/local/ecc/docs/zh-CN/skills/continuous-learning-v2/SKILL.md +355 -0
  1675. package/resources/local/ecc/docs/zh-CN/skills/continuous-learning-v2/agents/observer.md +214 -0
  1676. package/resources/local/ecc/docs/zh-CN/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  1677. package/resources/local/ecc/docs/zh-CN/skills/council/SKILL.md +216 -0
  1678. package/resources/local/ecc/docs/zh-CN/skills/cpp-coding-standards/SKILL.md +723 -0
  1679. package/resources/local/ecc/docs/zh-CN/skills/cpp-testing/SKILL.md +324 -0
  1680. package/resources/local/ecc/docs/zh-CN/skills/crosspost/SKILL.md +207 -0
  1681. package/resources/local/ecc/docs/zh-CN/skills/csharp-testing/SKILL.md +321 -0
  1682. package/resources/local/ecc/docs/zh-CN/skills/customer-billing-ops/SKILL.md +140 -0
  1683. package/resources/local/ecc/docs/zh-CN/skills/customs-trade-compliance/SKILL.md +256 -0
  1684. package/resources/local/ecc/docs/zh-CN/skills/dart-flutter-patterns/SKILL.md +565 -0
  1685. package/resources/local/ecc/docs/zh-CN/skills/dashboard-builder/SKILL.md +108 -0
  1686. package/resources/local/ecc/docs/zh-CN/skills/data-scraper-agent/SKILL.md +772 -0
  1687. package/resources/local/ecc/docs/zh-CN/skills/database-migrations/SKILL.md +335 -0
  1688. package/resources/local/ecc/docs/zh-CN/skills/deep-research/SKILL.md +163 -0
  1689. package/resources/local/ecc/docs/zh-CN/skills/defi-amm-security/SKILL.md +166 -0
  1690. package/resources/local/ecc/docs/zh-CN/skills/deployment-patterns/SKILL.md +432 -0
  1691. package/resources/local/ecc/docs/zh-CN/skills/design-system/SKILL.md +85 -0
  1692. package/resources/local/ecc/docs/zh-CN/skills/django-patterns/SKILL.md +734 -0
  1693. package/resources/local/ecc/docs/zh-CN/skills/django-security/SKILL.md +593 -0
  1694. package/resources/local/ecc/docs/zh-CN/skills/django-tdd/SKILL.md +729 -0
  1695. package/resources/local/ecc/docs/zh-CN/skills/django-verification/SKILL.md +475 -0
  1696. package/resources/local/ecc/docs/zh-CN/skills/dmux-workflows/SKILL.md +193 -0
  1697. package/resources/local/ecc/docs/zh-CN/skills/docker-patterns/SKILL.md +365 -0
  1698. package/resources/local/ecc/docs/zh-CN/skills/documentation-lookup/SKILL.md +90 -0
  1699. package/resources/local/ecc/docs/zh-CN/skills/dotnet-patterns/SKILL.md +321 -0
  1700. package/resources/local/ecc/docs/zh-CN/skills/e2e-testing/SKILL.md +329 -0
  1701. package/resources/local/ecc/docs/zh-CN/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  1702. package/resources/local/ecc/docs/zh-CN/skills/email-ops/SKILL.md +121 -0
  1703. package/resources/local/ecc/docs/zh-CN/skills/energy-procurement/SKILL.md +220 -0
  1704. package/resources/local/ecc/docs/zh-CN/skills/enterprise-agent-ops/SKILL.md +52 -0
  1705. package/resources/local/ecc/docs/zh-CN/skills/eval-harness/SKILL.md +304 -0
  1706. package/resources/local/ecc/docs/zh-CN/skills/evm-token-decimals/SKILL.md +130 -0
  1707. package/resources/local/ecc/docs/zh-CN/skills/exa-search/SKILL.md +109 -0
  1708. package/resources/local/ecc/docs/zh-CN/skills/fal-ai-media/SKILL.md +296 -0
  1709. package/resources/local/ecc/docs/zh-CN/skills/finance-billing-ops/SKILL.md +127 -0
  1710. package/resources/local/ecc/docs/zh-CN/skills/flutter-dart-code-review/SKILL.md +480 -0
  1711. package/resources/local/ecc/docs/zh-CN/skills/foundation-models-on-device/SKILL.md +244 -0
  1712. package/resources/local/ecc/docs/zh-CN/skills/frontend-patterns/SKILL.md +642 -0
  1713. package/resources/local/ecc/docs/zh-CN/skills/frontend-slides/SKILL.md +195 -0
  1714. package/resources/local/ecc/docs/zh-CN/skills/frontend-slides/STYLE_PRESETS.md +333 -0
  1715. package/resources/local/ecc/docs/zh-CN/skills/gan-style-harness/SKILL.md +284 -0
  1716. package/resources/local/ecc/docs/zh-CN/skills/gateguard/SKILL.md +123 -0
  1717. package/resources/local/ecc/docs/zh-CN/skills/git-workflow/SKILL.md +720 -0
  1718. package/resources/local/ecc/docs/zh-CN/skills/github-ops/SKILL.md +145 -0
  1719. package/resources/local/ecc/docs/zh-CN/skills/golang-patterns/SKILL.md +674 -0
  1720. package/resources/local/ecc/docs/zh-CN/skills/golang-testing/SKILL.md +722 -0
  1721. package/resources/local/ecc/docs/zh-CN/skills/google-workspace-ops/SKILL.md +95 -0
  1722. package/resources/local/ecc/docs/zh-CN/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  1723. package/resources/local/ecc/docs/zh-CN/skills/healthcare-emr-patterns/SKILL.md +161 -0
  1724. package/resources/local/ecc/docs/zh-CN/skills/healthcare-eval-harness/SKILL.md +207 -0
  1725. package/resources/local/ecc/docs/zh-CN/skills/healthcare-phi-compliance/SKILL.md +146 -0
  1726. package/resources/local/ecc/docs/zh-CN/skills/hermes-imports/SKILL.md +88 -0
  1727. package/resources/local/ecc/docs/zh-CN/skills/hexagonal-architecture/SKILL.md +276 -0
  1728. package/resources/local/ecc/docs/zh-CN/skills/hipaa-compliance/SKILL.md +78 -0
  1729. package/resources/local/ecc/docs/zh-CN/skills/hookify-rules/SKILL.md +139 -0
  1730. package/resources/local/ecc/docs/zh-CN/skills/inventory-demand-planning/SKILL.md +233 -0
  1731. package/resources/local/ecc/docs/zh-CN/skills/investor-materials/SKILL.md +104 -0
  1732. package/resources/local/ecc/docs/zh-CN/skills/investor-outreach/SKILL.md +81 -0
  1733. package/resources/local/ecc/docs/zh-CN/skills/iterative-retrieval/SKILL.md +215 -0
  1734. package/resources/local/ecc/docs/zh-CN/skills/java-coding-standards/SKILL.md +147 -0
  1735. package/resources/local/ecc/docs/zh-CN/skills/jira-integration/SKILL.md +302 -0
  1736. package/resources/local/ecc/docs/zh-CN/skills/jpa-patterns/SKILL.md +155 -0
  1737. package/resources/local/ecc/docs/zh-CN/skills/knowledge-ops/SKILL.md +177 -0
  1738. package/resources/local/ecc/docs/zh-CN/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  1739. package/resources/local/ecc/docs/zh-CN/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  1740. package/resources/local/ecc/docs/zh-CN/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  1741. package/resources/local/ecc/docs/zh-CN/skills/kotlin-patterns/SKILL.md +714 -0
  1742. package/resources/local/ecc/docs/zh-CN/skills/kotlin-testing/SKILL.md +826 -0
  1743. package/resources/local/ecc/docs/zh-CN/skills/laravel-patterns/SKILL.md +415 -0
  1744. package/resources/local/ecc/docs/zh-CN/skills/laravel-plugin-discovery/SKILL.md +235 -0
  1745. package/resources/local/ecc/docs/zh-CN/skills/laravel-security/SKILL.md +285 -0
  1746. package/resources/local/ecc/docs/zh-CN/skills/laravel-tdd/SKILL.md +283 -0
  1747. package/resources/local/ecc/docs/zh-CN/skills/laravel-verification/SKILL.md +179 -0
  1748. package/resources/local/ecc/docs/zh-CN/skills/lead-intelligence/SKILL.md +323 -0
  1749. package/resources/local/ecc/docs/zh-CN/skills/liquid-glass-design/SKILL.md +280 -0
  1750. package/resources/local/ecc/docs/zh-CN/skills/llm-trading-agent-security/SKILL.md +146 -0
  1751. package/resources/local/ecc/docs/zh-CN/skills/logistics-exception-management/SKILL.md +218 -0
  1752. package/resources/local/ecc/docs/zh-CN/skills/manim-video/SKILL.md +89 -0
  1753. package/resources/local/ecc/docs/zh-CN/skills/market-research/SKILL.md +85 -0
  1754. package/resources/local/ecc/docs/zh-CN/skills/mcp-server-patterns/SKILL.md +67 -0
  1755. package/resources/local/ecc/docs/zh-CN/skills/messages-ops/SKILL.md +104 -0
  1756. package/resources/local/ecc/docs/zh-CN/skills/nanoclaw-repl/SKILL.md +33 -0
  1757. package/resources/local/ecc/docs/zh-CN/skills/nestjs-patterns/SKILL.md +230 -0
  1758. package/resources/local/ecc/docs/zh-CN/skills/nextjs-turbopack/SKILL.md +44 -0
  1759. package/resources/local/ecc/docs/zh-CN/skills/nodejs-keccak256/SKILL.md +102 -0
  1760. package/resources/local/ecc/docs/zh-CN/skills/nutrient-document-processing/SKILL.md +165 -0
  1761. package/resources/local/ecc/docs/zh-CN/skills/nuxt4-patterns/SKILL.md +100 -0
  1762. package/resources/local/ecc/docs/zh-CN/skills/opensource-pipeline/SKILL.md +258 -0
  1763. package/resources/local/ecc/docs/zh-CN/skills/perl-patterns/SKILL.md +504 -0
  1764. package/resources/local/ecc/docs/zh-CN/skills/perl-security/SKILL.md +503 -0
  1765. package/resources/local/ecc/docs/zh-CN/skills/perl-testing/SKILL.md +475 -0
  1766. package/resources/local/ecc/docs/zh-CN/skills/plankton-code-quality/SKILL.md +243 -0
  1767. package/resources/local/ecc/docs/zh-CN/skills/postgres-patterns/SKILL.md +154 -0
  1768. package/resources/local/ecc/docs/zh-CN/skills/product-capability/SKILL.md +141 -0
  1769. package/resources/local/ecc/docs/zh-CN/skills/product-lens/SKILL.md +93 -0
  1770. package/resources/local/ecc/docs/zh-CN/skills/production-scheduling/SKILL.md +230 -0
  1771. package/resources/local/ecc/docs/zh-CN/skills/project-flow-ops/SKILL.md +111 -0
  1772. package/resources/local/ecc/docs/zh-CN/skills/prompt-optimizer/SKILL.md +380 -0
  1773. package/resources/local/ecc/docs/zh-CN/skills/python-patterns/SKILL.md +750 -0
  1774. package/resources/local/ecc/docs/zh-CN/skills/python-testing/SKILL.md +816 -0
  1775. package/resources/local/ecc/docs/zh-CN/skills/pytorch-patterns/SKILL.md +396 -0
  1776. package/resources/local/ecc/docs/zh-CN/skills/quality-nonconformance/SKILL.md +252 -0
  1777. package/resources/local/ecc/docs/zh-CN/skills/ralphinho-rfc-pipeline/SKILL.md +69 -0
  1778. package/resources/local/ecc/docs/zh-CN/skills/regex-vs-llm-structured-text/SKILL.md +217 -0
  1779. package/resources/local/ecc/docs/zh-CN/skills/remotion-video-creation/SKILL.md +43 -0
  1780. package/resources/local/ecc/docs/zh-CN/skills/repo-scan/SKILL.md +79 -0
  1781. package/resources/local/ecc/docs/zh-CN/skills/research-ops/SKILL.md +112 -0
  1782. package/resources/local/ecc/docs/zh-CN/skills/returns-reverse-logistics/SKILL.md +225 -0
  1783. package/resources/local/ecc/docs/zh-CN/skills/rules-distill/SKILL.md +264 -0
  1784. package/resources/local/ecc/docs/zh-CN/skills/rust-patterns/SKILL.md +499 -0
  1785. package/resources/local/ecc/docs/zh-CN/skills/rust-testing/SKILL.md +502 -0
  1786. package/resources/local/ecc/docs/zh-CN/skills/safety-guard/SKILL.md +75 -0
  1787. package/resources/local/ecc/docs/zh-CN/skills/santa-method/SKILL.md +310 -0
  1788. package/resources/local/ecc/docs/zh-CN/skills/search-first/SKILL.md +175 -0
  1789. package/resources/local/ecc/docs/zh-CN/skills/security-bounty-hunter/SKILL.md +99 -0
  1790. package/resources/local/ecc/docs/zh-CN/skills/security-review/SKILL.md +527 -0
  1791. package/resources/local/ecc/docs/zh-CN/skills/security-review/cloud-infrastructure-security.md +361 -0
  1792. package/resources/local/ecc/docs/zh-CN/skills/security-scan/SKILL.md +172 -0
  1793. package/resources/local/ecc/docs/zh-CN/skills/seo/SKILL.md +155 -0
  1794. package/resources/local/ecc/docs/zh-CN/skills/skill-comply/SKILL.md +60 -0
  1795. package/resources/local/ecc/docs/zh-CN/skills/skill-stocktake/SKILL.md +194 -0
  1796. package/resources/local/ecc/docs/zh-CN/skills/social-graph-ranker/SKILL.md +154 -0
  1797. package/resources/local/ecc/docs/zh-CN/skills/springboot-patterns/SKILL.md +313 -0
  1798. package/resources/local/ecc/docs/zh-CN/skills/springboot-security/SKILL.md +272 -0
  1799. package/resources/local/ecc/docs/zh-CN/skills/springboot-tdd/SKILL.md +160 -0
  1800. package/resources/local/ecc/docs/zh-CN/skills/springboot-verification/SKILL.md +235 -0
  1801. package/resources/local/ecc/docs/zh-CN/skills/strategic-compact/SKILL.md +140 -0
  1802. package/resources/local/ecc/docs/zh-CN/skills/swift-actor-persistence/SKILL.md +143 -0
  1803. package/resources/local/ecc/docs/zh-CN/skills/swift-concurrency-6-2/SKILL.md +217 -0
  1804. package/resources/local/ecc/docs/zh-CN/skills/swift-protocol-di-testing/SKILL.md +190 -0
  1805. package/resources/local/ecc/docs/zh-CN/skills/swiftui-patterns/SKILL.md +259 -0
  1806. package/resources/local/ecc/docs/zh-CN/skills/tdd-workflow/SKILL.md +440 -0
  1807. package/resources/local/ecc/docs/zh-CN/skills/team-builder/SKILL.md +165 -0
  1808. package/resources/local/ecc/docs/zh-CN/skills/terminal-ops/SKILL.md +109 -0
  1809. package/resources/local/ecc/docs/zh-CN/skills/token-budget-advisor/SKILL.md +121 -0
  1810. package/resources/local/ecc/docs/zh-CN/skills/ui-demo/SKILL.md +465 -0
  1811. package/resources/local/ecc/docs/zh-CN/skills/unified-notifications-ops/SKILL.md +197 -0
  1812. package/resources/local/ecc/docs/zh-CN/skills/verification-loop/SKILL.md +136 -0
  1813. package/resources/local/ecc/docs/zh-CN/skills/video-editing/SKILL.md +316 -0
  1814. package/resources/local/ecc/docs/zh-CN/skills/videodb/SKILL.md +386 -0
  1815. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/api-reference.md +550 -0
  1816. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/capture-reference.md +416 -0
  1817. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/capture.md +104 -0
  1818. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/editor.md +443 -0
  1819. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/generative.md +331 -0
  1820. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/rtstream-reference.md +567 -0
  1821. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/rtstream.md +59 -0
  1822. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/search.md +230 -0
  1823. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/streaming.md +406 -0
  1824. package/resources/local/ecc/docs/zh-CN/skills/videodb/reference/use-cases.md +142 -0
  1825. package/resources/local/ecc/docs/zh-CN/skills/visa-doc-translate/README.md +91 -0
  1826. package/resources/local/ecc/docs/zh-CN/skills/visa-doc-translate/SKILL.md +119 -0
  1827. package/resources/local/ecc/docs/zh-CN/skills/workspace-surface-audit/SKILL.md +125 -0
  1828. package/resources/local/ecc/docs/zh-CN/skills/x-api/SKILL.md +210 -0
  1829. package/resources/local/ecc/docs/zh-CN/the-longform-guide.md +358 -0
  1830. package/resources/local/ecc/docs/zh-CN/the-openclaw-guide.md +471 -0
  1831. package/resources/local/ecc/docs/zh-CN/the-security-guide.md +206 -0
  1832. package/resources/local/ecc/docs/zh-CN/the-shortform-guide.md +432 -0
  1833. package/resources/local/ecc/docs/zh-TW/CONTRIBUTING.md +191 -0
  1834. package/resources/local/ecc/docs/zh-TW/README.md +482 -0
  1835. package/resources/local/ecc/docs/zh-TW/TERMINOLOGY.md +104 -0
  1836. package/resources/local/ecc/docs/zh-TW/agents/architect.md +211 -0
  1837. package/resources/local/ecc/docs/zh-TW/agents/build-error-resolver.md +300 -0
  1838. package/resources/local/ecc/docs/zh-TW/agents/code-reviewer.md +104 -0
  1839. package/resources/local/ecc/docs/zh-TW/agents/database-reviewer.md +378 -0
  1840. package/resources/local/ecc/docs/zh-TW/agents/doc-updater.md +310 -0
  1841. package/resources/local/ecc/docs/zh-TW/agents/e2e-runner.md +303 -0
  1842. package/resources/local/ecc/docs/zh-TW/agents/go-build-resolver.md +368 -0
  1843. package/resources/local/ecc/docs/zh-TW/agents/go-reviewer.md +267 -0
  1844. package/resources/local/ecc/docs/zh-TW/agents/planner.md +119 -0
  1845. package/resources/local/ecc/docs/zh-TW/agents/refactor-cleaner.md +273 -0
  1846. package/resources/local/ecc/docs/zh-TW/agents/security-reviewer.md +378 -0
  1847. package/resources/local/ecc/docs/zh-TW/agents/tdd-guide.md +280 -0
  1848. package/resources/local/ecc/docs/zh-TW/commands/build-fix.md +29 -0
  1849. package/resources/local/ecc/docs/zh-TW/commands/checkpoint.md +74 -0
  1850. package/resources/local/ecc/docs/zh-TW/commands/code-review.md +40 -0
  1851. package/resources/local/ecc/docs/zh-TW/commands/e2e.md +115 -0
  1852. package/resources/local/ecc/docs/zh-TW/commands/eval.md +120 -0
  1853. package/resources/local/ecc/docs/zh-TW/commands/go-build.md +81 -0
  1854. package/resources/local/ecc/docs/zh-TW/commands/go-review.md +87 -0
  1855. package/resources/local/ecc/docs/zh-TW/commands/go-test.md +132 -0
  1856. package/resources/local/ecc/docs/zh-TW/commands/learn.md +70 -0
  1857. package/resources/local/ecc/docs/zh-TW/commands/orchestrate.md +140 -0
  1858. package/resources/local/ecc/docs/zh-TW/commands/plan.md +113 -0
  1859. package/resources/local/ecc/docs/zh-TW/commands/refactor-clean.md +28 -0
  1860. package/resources/local/ecc/docs/zh-TW/commands/setup-pm.md +80 -0
  1861. package/resources/local/ecc/docs/zh-TW/commands/tdd.md +100 -0
  1862. package/resources/local/ecc/docs/zh-TW/commands/test-coverage.md +27 -0
  1863. package/resources/local/ecc/docs/zh-TW/commands/update-codemaps.md +17 -0
  1864. package/resources/local/ecc/docs/zh-TW/commands/update-docs.md +31 -0
  1865. package/resources/local/ecc/docs/zh-TW/commands/verify.md +59 -0
  1866. package/resources/local/ecc/docs/zh-TW/rules/agents.md +49 -0
  1867. package/resources/local/ecc/docs/zh-TW/rules/coding-style.md +70 -0
  1868. package/resources/local/ecc/docs/zh-TW/rules/git-workflow.md +45 -0
  1869. package/resources/local/ecc/docs/zh-TW/rules/hooks.md +46 -0
  1870. package/resources/local/ecc/docs/zh-TW/rules/patterns.md +55 -0
  1871. package/resources/local/ecc/docs/zh-TW/rules/performance.md +47 -0
  1872. package/resources/local/ecc/docs/zh-TW/rules/security.md +36 -0
  1873. package/resources/local/ecc/docs/zh-TW/rules/testing.md +30 -0
  1874. package/resources/local/ecc/docs/zh-TW/skills/backend-patterns/SKILL.md +587 -0
  1875. package/resources/local/ecc/docs/zh-TW/skills/clickhouse-io/SKILL.md +429 -0
  1876. package/resources/local/ecc/docs/zh-TW/skills/coding-standards/SKILL.md +520 -0
  1877. package/resources/local/ecc/docs/zh-TW/skills/continuous-learning/SKILL.md +110 -0
  1878. package/resources/local/ecc/docs/zh-TW/skills/continuous-learning-v2/SKILL.md +263 -0
  1879. package/resources/local/ecc/docs/zh-TW/skills/eval-harness/SKILL.md +227 -0
  1880. package/resources/local/ecc/docs/zh-TW/skills/frontend-patterns/SKILL.md +631 -0
  1881. package/resources/local/ecc/docs/zh-TW/skills/golang-patterns/SKILL.md +673 -0
  1882. package/resources/local/ecc/docs/zh-TW/skills/golang-testing/SKILL.md +710 -0
  1883. package/resources/local/ecc/docs/zh-TW/skills/iterative-retrieval/SKILL.md +202 -0
  1884. package/resources/local/ecc/docs/zh-TW/skills/postgres-patterns/SKILL.md +146 -0
  1885. package/resources/local/ecc/docs/zh-TW/skills/project-guidelines-example/SKILL.md +345 -0
  1886. package/resources/local/ecc/docs/zh-TW/skills/security-review/SKILL.md +494 -0
  1887. package/resources/local/ecc/docs/zh-TW/skills/security-review/cloud-infrastructure-security.md +361 -0
  1888. package/resources/local/ecc/docs/zh-TW/skills/strategic-compact/SKILL.md +66 -0
  1889. package/resources/local/ecc/docs/zh-TW/skills/tdd-workflow/SKILL.md +409 -0
  1890. package/resources/local/ecc/docs/zh-TW/skills/verification-loop/SKILL.md +120 -0
  1891. package/resources/local/ecc/ecc2/Cargo.lock +2992 -0
  1892. package/resources/local/ecc/ecc2/Cargo.toml +61 -0
  1893. package/resources/local/ecc/ecc2/README.md +99 -0
  1894. package/resources/local/ecc/ecc2/src/comms/mod.rs +156 -0
  1895. package/resources/local/ecc/ecc2/src/config/mod.rs +1806 -0
  1896. package/resources/local/ecc/ecc2/src/main.rs +12595 -0
  1897. package/resources/local/ecc/ecc2/src/notifications.rs +635 -0
  1898. package/resources/local/ecc/ecc2/src/observability/mod.rs +423 -0
  1899. package/resources/local/ecc/ecc2/src/session/daemon.rs +1322 -0
  1900. package/resources/local/ecc/ecc2/src/session/manager.rs +8190 -0
  1901. package/resources/local/ecc/ecc2/src/session/mod.rs +984 -0
  1902. package/resources/local/ecc/ecc2/src/session/output.rs +172 -0
  1903. package/resources/local/ecc/ecc2/src/session/runtime.rs +379 -0
  1904. package/resources/local/ecc/ecc2/src/session/store.rs +7109 -0
  1905. package/resources/local/ecc/ecc2/src/tui/app.rs +151 -0
  1906. package/resources/local/ecc/ecc2/src/tui/dashboard.rs +15162 -0
  1907. package/resources/local/ecc/ecc2/src/tui/mod.rs +3 -0
  1908. package/resources/local/ecc/ecc2/src/tui/widgets.rs +382 -0
  1909. package/resources/local/ecc/ecc2/src/worktree/mod.rs +2672 -0
  1910. package/resources/local/ecc/ecc_dashboard.py +932 -0
  1911. package/resources/local/ecc/eslint.config.js +34 -0
  1912. package/resources/local/ecc/examples/CLAUDE.md +109 -0
  1913. package/resources/local/ecc/examples/django-api-CLAUDE.md +308 -0
  1914. package/resources/local/ecc/examples/evaluator-rag-prototype/agentshield-policy-exception/candidate-playbook.md +49 -0
  1915. package/resources/local/ecc/examples/evaluator-rag-prototype/agentshield-policy-exception/report.json +35 -0
  1916. package/resources/local/ecc/examples/evaluator-rag-prototype/agentshield-policy-exception/scenario.json +62 -0
  1917. package/resources/local/ecc/examples/evaluator-rag-prototype/agentshield-policy-exception/trace.json +45 -0
  1918. package/resources/local/ecc/examples/evaluator-rag-prototype/agentshield-policy-exception/verifier-result.json +35 -0
  1919. package/resources/local/ecc/examples/evaluator-rag-prototype/billing-marketplace-readiness/candidate-playbook.md +41 -0
  1920. package/resources/local/ecc/examples/evaluator-rag-prototype/billing-marketplace-readiness/report.json +35 -0
  1921. package/resources/local/ecc/examples/evaluator-rag-prototype/billing-marketplace-readiness/scenario.json +55 -0
  1922. package/resources/local/ecc/examples/evaluator-rag-prototype/billing-marketplace-readiness/trace.json +45 -0
  1923. package/resources/local/ecc/examples/evaluator-rag-prototype/billing-marketplace-readiness/verifier-result.json +35 -0
  1924. package/resources/local/ecc/examples/evaluator-rag-prototype/candidate-playbook.md +41 -0
  1925. package/resources/local/ecc/examples/evaluator-rag-prototype/ci-failure-diagnosis/candidate-playbook.md +46 -0
  1926. package/resources/local/ecc/examples/evaluator-rag-prototype/ci-failure-diagnosis/report.json +35 -0
  1927. package/resources/local/ecc/examples/evaluator-rag-prototype/ci-failure-diagnosis/scenario.json +57 -0
  1928. package/resources/local/ecc/examples/evaluator-rag-prototype/ci-failure-diagnosis/trace.json +45 -0
  1929. package/resources/local/ecc/examples/evaluator-rag-prototype/ci-failure-diagnosis/verifier-result.json +35 -0
  1930. package/resources/local/ecc/examples/evaluator-rag-prototype/deep-analyzer-evidence/candidate-playbook.md +60 -0
  1931. package/resources/local/ecc/examples/evaluator-rag-prototype/deep-analyzer-evidence/report.json +35 -0
  1932. package/resources/local/ecc/examples/evaluator-rag-prototype/deep-analyzer-evidence/scenario.json +57 -0
  1933. package/resources/local/ecc/examples/evaluator-rag-prototype/deep-analyzer-evidence/trace.json +45 -0
  1934. package/resources/local/ecc/examples/evaluator-rag-prototype/deep-analyzer-evidence/verifier-result.json +35 -0
  1935. package/resources/local/ecc/examples/evaluator-rag-prototype/harness-config-quality/candidate-playbook.md +49 -0
  1936. package/resources/local/ecc/examples/evaluator-rag-prototype/harness-config-quality/report.json +35 -0
  1937. package/resources/local/ecc/examples/evaluator-rag-prototype/harness-config-quality/scenario.json +57 -0
  1938. package/resources/local/ecc/examples/evaluator-rag-prototype/harness-config-quality/trace.json +45 -0
  1939. package/resources/local/ecc/examples/evaluator-rag-prototype/harness-config-quality/verifier-result.json +35 -0
  1940. package/resources/local/ecc/examples/evaluator-rag-prototype/report.json +35 -0
  1941. package/resources/local/ecc/examples/evaluator-rag-prototype/scenario.json +56 -0
  1942. package/resources/local/ecc/examples/evaluator-rag-prototype/skill-quality-evidence/candidate-playbook.md +57 -0
  1943. package/resources/local/ecc/examples/evaluator-rag-prototype/skill-quality-evidence/report.json +35 -0
  1944. package/resources/local/ecc/examples/evaluator-rag-prototype/skill-quality-evidence/scenario.json +57 -0
  1945. package/resources/local/ecc/examples/evaluator-rag-prototype/skill-quality-evidence/trace.json +46 -0
  1946. package/resources/local/ecc/examples/evaluator-rag-prototype/skill-quality-evidence/verifier-result.json +35 -0
  1947. package/resources/local/ecc/examples/evaluator-rag-prototype/trace.json +46 -0
  1948. package/resources/local/ecc/examples/evaluator-rag-prototype/verifier-result.json +35 -0
  1949. package/resources/local/ecc/examples/gan-harness/README.md +126 -0
  1950. package/resources/local/ecc/examples/go-microservice-CLAUDE.md +267 -0
  1951. package/resources/local/ecc/examples/harmonyos-app-CLAUDE.md +88 -0
  1952. package/resources/local/ecc/examples/hud-status-contract.json +117 -0
  1953. package/resources/local/ecc/examples/laravel-api-CLAUDE.md +311 -0
  1954. package/resources/local/ecc/examples/rust-api-CLAUDE.md +285 -0
  1955. package/resources/local/ecc/examples/saas-nextjs-CLAUDE.md +166 -0
  1956. package/resources/local/ecc/examples/statusline.json +20 -0
  1957. package/resources/local/ecc/examples/user-CLAUDE.md +109 -0
  1958. package/resources/local/ecc/hooks/README.md +258 -0
  1959. package/resources/local/ecc/hooks/hooks.json +354 -0
  1960. package/resources/local/ecc/hooks/memory-persistence/README.md +44 -0
  1961. package/resources/local/ecc/hooks/memory-persistence/hooks.json +47 -0
  1962. package/resources/local/ecc/install.ps1 +53 -0
  1963. package/resources/local/ecc/install.sh +32 -0
  1964. package/resources/local/ecc/legacy-command-shims/README.md +7 -0
  1965. package/resources/local/ecc/legacy-command-shims/commands/agent-sort.md +23 -0
  1966. package/resources/local/ecc/legacy-command-shims/commands/claw.md +23 -0
  1967. package/resources/local/ecc/legacy-command-shims/commands/context-budget.md +23 -0
  1968. package/resources/local/ecc/legacy-command-shims/commands/devfleet.md +23 -0
  1969. package/resources/local/ecc/legacy-command-shims/commands/docs.md +23 -0
  1970. package/resources/local/ecc/legacy-command-shims/commands/e2e.md +268 -0
  1971. package/resources/local/ecc/legacy-command-shims/commands/eval.md +23 -0
  1972. package/resources/local/ecc/legacy-command-shims/commands/orchestrate.md +135 -0
  1973. package/resources/local/ecc/legacy-command-shims/commands/prompt-optimize.md +23 -0
  1974. package/resources/local/ecc/legacy-command-shims/commands/rules-distill.md +20 -0
  1975. package/resources/local/ecc/legacy-command-shims/commands/tdd.md +231 -0
  1976. package/resources/local/ecc/legacy-command-shims/commands/verify.md +23 -0
  1977. package/resources/local/ecc/manifests/install-components.json +594 -0
  1978. package/resources/local/ecc/manifests/install-modules.json +819 -0
  1979. package/resources/local/ecc/manifests/install-profiles.json +92 -0
  1980. package/resources/local/ecc/mcp-configs/mcp-servers.json +181 -0
  1981. package/resources/local/ecc/nul +2 -0
  1982. package/resources/local/ecc/package-lock.json +2906 -0
  1983. package/resources/local/ecc/package.json +347 -0
  1984. package/resources/local/ecc/plugins/README.md +85 -0
  1985. package/resources/local/ecc/pyproject.toml +78 -0
  1986. package/resources/local/ecc/research/ecc2-codebase-analysis.md +172 -0
  1987. package/resources/local/ecc/rules/README.md +135 -0
  1988. package/resources/local/ecc/rules/angular/coding-style.md +182 -0
  1989. package/resources/local/ecc/rules/angular/hooks.md +25 -0
  1990. package/resources/local/ecc/rules/angular/patterns.md +249 -0
  1991. package/resources/local/ecc/rules/angular/security.md +87 -0
  1992. package/resources/local/ecc/rules/angular/testing.md +164 -0
  1993. package/resources/local/ecc/rules/arkts/coding-style.md +153 -0
  1994. package/resources/local/ecc/rules/arkts/hooks.md +135 -0
  1995. package/resources/local/ecc/rules/arkts/patterns.md +236 -0
  1996. package/resources/local/ecc/rules/arkts/security.md +141 -0
  1997. package/resources/local/ecc/rules/arkts/testing.md +126 -0
  1998. package/resources/local/ecc/rules/common/agents.md +51 -0
  1999. package/resources/local/ecc/rules/common/code-review.md +124 -0
  2000. package/resources/local/ecc/rules/common/coding-style.md +90 -0
  2001. package/resources/local/ecc/rules/common/development-workflow.md +44 -0
  2002. package/resources/local/ecc/rules/common/git-workflow.md +24 -0
  2003. package/resources/local/ecc/rules/common/hooks.md +30 -0
  2004. package/resources/local/ecc/rules/common/patterns.md +31 -0
  2005. package/resources/local/ecc/rules/common/performance.md +55 -0
  2006. package/resources/local/ecc/rules/common/security.md +29 -0
  2007. package/resources/local/ecc/rules/common/testing.md +57 -0
  2008. package/resources/local/ecc/rules/cpp/coding-style.md +44 -0
  2009. package/resources/local/ecc/rules/cpp/hooks.md +39 -0
  2010. package/resources/local/ecc/rules/cpp/patterns.md +51 -0
  2011. package/resources/local/ecc/rules/cpp/security.md +51 -0
  2012. package/resources/local/ecc/rules/cpp/testing.md +44 -0
  2013. package/resources/local/ecc/rules/csharp/coding-style.md +72 -0
  2014. package/resources/local/ecc/rules/csharp/hooks.md +25 -0
  2015. package/resources/local/ecc/rules/csharp/patterns.md +50 -0
  2016. package/resources/local/ecc/rules/csharp/security.md +58 -0
  2017. package/resources/local/ecc/rules/csharp/testing.md +46 -0
  2018. package/resources/local/ecc/rules/dart/coding-style.md +159 -0
  2019. package/resources/local/ecc/rules/dart/hooks.md +66 -0
  2020. package/resources/local/ecc/rules/dart/patterns.md +261 -0
  2021. package/resources/local/ecc/rules/dart/security.md +135 -0
  2022. package/resources/local/ecc/rules/dart/testing.md +215 -0
  2023. package/resources/local/ecc/rules/fsharp/coding-style.md +112 -0
  2024. package/resources/local/ecc/rules/fsharp/hooks.md +26 -0
  2025. package/resources/local/ecc/rules/fsharp/patterns.md +111 -0
  2026. package/resources/local/ecc/rules/fsharp/security.md +76 -0
  2027. package/resources/local/ecc/rules/fsharp/testing.md +62 -0
  2028. package/resources/local/ecc/rules/golang/coding-style.md +32 -0
  2029. package/resources/local/ecc/rules/golang/hooks.md +17 -0
  2030. package/resources/local/ecc/rules/golang/patterns.md +45 -0
  2031. package/resources/local/ecc/rules/golang/security.md +34 -0
  2032. package/resources/local/ecc/rules/golang/testing.md +31 -0
  2033. package/resources/local/ecc/rules/java/coding-style.md +114 -0
  2034. package/resources/local/ecc/rules/java/hooks.md +18 -0
  2035. package/resources/local/ecc/rules/java/patterns.md +147 -0
  2036. package/resources/local/ecc/rules/java/security.md +101 -0
  2037. package/resources/local/ecc/rules/java/testing.md +133 -0
  2038. package/resources/local/ecc/rules/kotlin/coding-style.md +86 -0
  2039. package/resources/local/ecc/rules/kotlin/hooks.md +17 -0
  2040. package/resources/local/ecc/rules/kotlin/patterns.md +146 -0
  2041. package/resources/local/ecc/rules/kotlin/security.md +82 -0
  2042. package/resources/local/ecc/rules/kotlin/testing.md +128 -0
  2043. package/resources/local/ecc/rules/perl/coding-style.md +46 -0
  2044. package/resources/local/ecc/rules/perl/hooks.md +22 -0
  2045. package/resources/local/ecc/rules/perl/patterns.md +76 -0
  2046. package/resources/local/ecc/rules/perl/security.md +69 -0
  2047. package/resources/local/ecc/rules/perl/testing.md +54 -0
  2048. package/resources/local/ecc/rules/php/coding-style.md +40 -0
  2049. package/resources/local/ecc/rules/php/hooks.md +24 -0
  2050. package/resources/local/ecc/rules/php/patterns.md +33 -0
  2051. package/resources/local/ecc/rules/php/security.md +37 -0
  2052. package/resources/local/ecc/rules/php/testing.md +39 -0
  2053. package/resources/local/ecc/rules/python/coding-style.md +42 -0
  2054. package/resources/local/ecc/rules/python/fastapi.md +58 -0
  2055. package/resources/local/ecc/rules/python/hooks.md +19 -0
  2056. package/resources/local/ecc/rules/python/patterns.md +39 -0
  2057. package/resources/local/ecc/rules/python/security.md +30 -0
  2058. package/resources/local/ecc/rules/python/testing.md +38 -0
  2059. package/resources/local/ecc/rules/ruby/coding-style.md +46 -0
  2060. package/resources/local/ecc/rules/ruby/hooks.md +37 -0
  2061. package/resources/local/ecc/rules/ruby/patterns.md +44 -0
  2062. package/resources/local/ecc/rules/ruby/security.md +51 -0
  2063. package/resources/local/ecc/rules/ruby/testing.md +51 -0
  2064. package/resources/local/ecc/rules/rust/coding-style.md +151 -0
  2065. package/resources/local/ecc/rules/rust/hooks.md +16 -0
  2066. package/resources/local/ecc/rules/rust/patterns.md +168 -0
  2067. package/resources/local/ecc/rules/rust/security.md +141 -0
  2068. package/resources/local/ecc/rules/rust/testing.md +154 -0
  2069. package/resources/local/ecc/rules/swift/coding-style.md +47 -0
  2070. package/resources/local/ecc/rules/swift/hooks.md +20 -0
  2071. package/resources/local/ecc/rules/swift/patterns.md +66 -0
  2072. package/resources/local/ecc/rules/swift/security.md +33 -0
  2073. package/resources/local/ecc/rules/swift/testing.md +45 -0
  2074. package/resources/local/ecc/rules/typescript/coding-style.md +199 -0
  2075. package/resources/local/ecc/rules/typescript/hooks.md +22 -0
  2076. package/resources/local/ecc/rules/typescript/patterns.md +52 -0
  2077. package/resources/local/ecc/rules/typescript/security.md +28 -0
  2078. package/resources/local/ecc/rules/typescript/testing.md +18 -0
  2079. package/resources/local/ecc/rules/web/coding-style.md +96 -0
  2080. package/resources/local/ecc/rules/web/design-quality.md +63 -0
  2081. package/resources/local/ecc/rules/web/hooks.md +129 -0
  2082. package/resources/local/ecc/rules/web/patterns.md +79 -0
  2083. package/resources/local/ecc/rules/web/performance.md +64 -0
  2084. package/resources/local/ecc/rules/web/security.md +57 -0
  2085. package/resources/local/ecc/rules/web/testing.md +55 -0
  2086. package/resources/local/ecc/rules/zh/README.md +108 -0
  2087. package/resources/local/ecc/rules/zh/agents.md +50 -0
  2088. package/resources/local/ecc/rules/zh/code-review.md +124 -0
  2089. package/resources/local/ecc/rules/zh/coding-style.md +48 -0
  2090. package/resources/local/ecc/rules/zh/development-workflow.md +44 -0
  2091. package/resources/local/ecc/rules/zh/git-workflow.md +24 -0
  2092. package/resources/local/ecc/rules/zh/hooks.md +30 -0
  2093. package/resources/local/ecc/rules/zh/patterns.md +31 -0
  2094. package/resources/local/ecc/rules/zh/performance.md +55 -0
  2095. package/resources/local/ecc/rules/zh/security.md +29 -0
  2096. package/resources/local/ecc/rules/zh/testing.md +29 -0
  2097. package/resources/local/ecc/schemas/ecc-install-config.schema.json +63 -0
  2098. package/resources/local/ecc/schemas/hooks.schema.json +197 -0
  2099. package/resources/local/ecc/schemas/install-components.schema.json +59 -0
  2100. package/resources/local/ecc/schemas/install-modules.schema.json +111 -0
  2101. package/resources/local/ecc/schemas/install-profiles.schema.json +45 -0
  2102. package/resources/local/ecc/schemas/install-state.schema.json +210 -0
  2103. package/resources/local/ecc/schemas/package-manager.schema.json +23 -0
  2104. package/resources/local/ecc/schemas/plugin.schema.json +70 -0
  2105. package/resources/local/ecc/schemas/provenance.schema.json +31 -0
  2106. package/resources/local/ecc/schemas/state-store.schema.json +382 -0
  2107. package/resources/local/ecc/scripts/auto-update.js +361 -0
  2108. package/resources/local/ecc/scripts/build-opencode.js +26 -0
  2109. package/resources/local/ecc/scripts/catalog.js +186 -0
  2110. package/resources/local/ecc/scripts/ci/catalog.js +828 -0
  2111. package/resources/local/ecc/scripts/ci/check-unicode-safety.js +272 -0
  2112. package/resources/local/ecc/scripts/ci/generate-command-registry.js +318 -0
  2113. package/resources/local/ecc/scripts/ci/scan-supply-chain-iocs.js +847 -0
  2114. package/resources/local/ecc/scripts/ci/supply-chain-advisory-sources.js +469 -0
  2115. package/resources/local/ecc/scripts/ci/validate-agents.js +96 -0
  2116. package/resources/local/ecc/scripts/ci/validate-commands.js +188 -0
  2117. package/resources/local/ecc/scripts/ci/validate-hooks.js +239 -0
  2118. package/resources/local/ecc/scripts/ci/validate-install-manifests.js +218 -0
  2119. package/resources/local/ecc/scripts/ci/validate-no-personal-paths.js +107 -0
  2120. package/resources/local/ecc/scripts/ci/validate-rules.js +81 -0
  2121. package/resources/local/ecc/scripts/ci/validate-skills.js +210 -0
  2122. package/resources/local/ecc/scripts/ci/validate-workflow-security.js +278 -0
  2123. package/resources/local/ecc/scripts/claw.js +473 -0
  2124. package/resources/local/ecc/scripts/codemaps/generate.ts +330 -0
  2125. package/resources/local/ecc/scripts/codex/check-codex-global-state.sh +250 -0
  2126. package/resources/local/ecc/scripts/codex/install-global-git-hooks.sh +65 -0
  2127. package/resources/local/ecc/scripts/codex/merge-codex-config.js +317 -0
  2128. package/resources/local/ecc/scripts/codex/merge-mcp-config.js +335 -0
  2129. package/resources/local/ecc/scripts/codex-git-hooks/pre-commit +77 -0
  2130. package/resources/local/ecc/scripts/codex-git-hooks/pre-push +124 -0
  2131. package/resources/local/ecc/scripts/consult.js +497 -0
  2132. package/resources/local/ecc/scripts/discussion-audit.js +350 -0
  2133. package/resources/local/ecc/scripts/doctor.js +111 -0
  2134. package/resources/local/ecc/scripts/ecc.js +255 -0
  2135. package/resources/local/ecc/scripts/gan-harness.sh +299 -0
  2136. package/resources/local/ecc/scripts/gemini-adapt-agents.js +189 -0
  2137. package/resources/local/ecc/scripts/harness-adapter-compliance.js +149 -0
  2138. package/resources/local/ecc/scripts/harness-audit.js +869 -0
  2139. package/resources/local/ecc/scripts/hooks/auto-tmux-dev.js +107 -0
  2140. package/resources/local/ecc/scripts/hooks/bash-hook-dispatcher.js +177 -0
  2141. package/resources/local/ecc/scripts/hooks/block-no-verify.js +546 -0
  2142. package/resources/local/ecc/scripts/hooks/check-console-log.js +71 -0
  2143. package/resources/local/ecc/scripts/hooks/check-hook-enabled.js +12 -0
  2144. package/resources/local/ecc/scripts/hooks/config-protection.js +169 -0
  2145. package/resources/local/ecc/scripts/hooks/cost-tracker.js +157 -0
  2146. package/resources/local/ecc/scripts/hooks/design-quality-check.js +131 -0
  2147. package/resources/local/ecc/scripts/hooks/desktop-notify.js +245 -0
  2148. package/resources/local/ecc/scripts/hooks/doc-file-warning.js +90 -0
  2149. package/resources/local/ecc/scripts/hooks/ecc-context-monitor.js +258 -0
  2150. package/resources/local/ecc/scripts/hooks/ecc-metrics-bridge.js +263 -0
  2151. package/resources/local/ecc/scripts/hooks/ecc-statusline.js +168 -0
  2152. package/resources/local/ecc/scripts/hooks/evaluate-session.js +100 -0
  2153. package/resources/local/ecc/scripts/hooks/gateguard-fact-force.js +832 -0
  2154. package/resources/local/ecc/scripts/hooks/governance-capture.js +334 -0
  2155. package/resources/local/ecc/scripts/hooks/insaits-security-monitor.py +269 -0
  2156. package/resources/local/ecc/scripts/hooks/insaits-security-wrapper.js +119 -0
  2157. package/resources/local/ecc/scripts/hooks/mcp-health-check.js +720 -0
  2158. package/resources/local/ecc/scripts/hooks/observe-runner.js +196 -0
  2159. package/resources/local/ecc/scripts/hooks/plugin-hook-bootstrap.js +153 -0
  2160. package/resources/local/ecc/scripts/hooks/post-bash-build-complete.js +49 -0
  2161. package/resources/local/ecc/scripts/hooks/post-bash-command-log.js +80 -0
  2162. package/resources/local/ecc/scripts/hooks/post-bash-dispatcher.js +24 -0
  2163. package/resources/local/ecc/scripts/hooks/post-bash-pr-created.js +60 -0
  2164. package/resources/local/ecc/scripts/hooks/post-edit-accumulator.js +78 -0
  2165. package/resources/local/ecc/scripts/hooks/post-edit-console-warn.js +54 -0
  2166. package/resources/local/ecc/scripts/hooks/post-edit-format.js +109 -0
  2167. package/resources/local/ecc/scripts/hooks/post-edit-typecheck.js +96 -0
  2168. package/resources/local/ecc/scripts/hooks/pre-bash-commit-quality.js +447 -0
  2169. package/resources/local/ecc/scripts/hooks/pre-bash-dev-server-block.js +225 -0
  2170. package/resources/local/ecc/scripts/hooks/pre-bash-dispatcher.js +24 -0
  2171. package/resources/local/ecc/scripts/hooks/pre-bash-git-push-reminder.js +52 -0
  2172. package/resources/local/ecc/scripts/hooks/pre-bash-tmux-reminder.js +57 -0
  2173. package/resources/local/ecc/scripts/hooks/pre-compact.js +48 -0
  2174. package/resources/local/ecc/scripts/hooks/pre-write-doc-warn.js +9 -0
  2175. package/resources/local/ecc/scripts/hooks/quality-gate.js +168 -0
  2176. package/resources/local/ecc/scripts/hooks/run-with-flags-shell.sh +36 -0
  2177. package/resources/local/ecc/scripts/hooks/run-with-flags.js +190 -0
  2178. package/resources/local/ecc/scripts/hooks/session-activity-tracker.js +639 -0
  2179. package/resources/local/ecc/scripts/hooks/session-end-marker.js +67 -0
  2180. package/resources/local/ecc/scripts/hooks/session-end.js +328 -0
  2181. package/resources/local/ecc/scripts/hooks/session-start-bootstrap.js +161 -0
  2182. package/resources/local/ecc/scripts/hooks/session-start.js +706 -0
  2183. package/resources/local/ecc/scripts/hooks/stop-format-typecheck.js +209 -0
  2184. package/resources/local/ecc/scripts/hooks/suggest-compact.js +108 -0
  2185. package/resources/local/ecc/scripts/install-apply.js +167 -0
  2186. package/resources/local/ecc/scripts/install-plan.js +276 -0
  2187. package/resources/local/ecc/scripts/lib/agent-compress.js +244 -0
  2188. package/resources/local/ecc/scripts/lib/cost-estimate.js +32 -0
  2189. package/resources/local/ecc/scripts/lib/cursor-agent-names.js +26 -0
  2190. package/resources/local/ecc/scripts/lib/ecc_dashboard_runtime.py +70 -0
  2191. package/resources/local/ecc/scripts/lib/github-discussions.js +159 -0
  2192. package/resources/local/ecc/scripts/lib/harness-adapter-compliance.js +453 -0
  2193. package/resources/local/ecc/scripts/lib/hook-flags.js +74 -0
  2194. package/resources/local/ecc/scripts/lib/inspection.js +212 -0
  2195. package/resources/local/ecc/scripts/lib/install/apply.js +174 -0
  2196. package/resources/local/ecc/scripts/lib/install/config.js +89 -0
  2197. package/resources/local/ecc/scripts/lib/install/request.js +157 -0
  2198. package/resources/local/ecc/scripts/lib/install/runtime.js +56 -0
  2199. package/resources/local/ecc/scripts/lib/install-executor.js +738 -0
  2200. package/resources/local/ecc/scripts/lib/install-lifecycle.js +1226 -0
  2201. package/resources/local/ecc/scripts/lib/install-manifests.js +644 -0
  2202. package/resources/local/ecc/scripts/lib/install-state.js +313 -0
  2203. package/resources/local/ecc/scripts/lib/install-targets/antigravity-project.js +85 -0
  2204. package/resources/local/ecc/scripts/lib/install-targets/claude-home.js +91 -0
  2205. package/resources/local/ecc/scripts/lib/install-targets/codebuddy-project.js +50 -0
  2206. package/resources/local/ecc/scripts/lib/install-targets/codex-home.js +10 -0
  2207. package/resources/local/ecc/scripts/lib/install-targets/cursor-project.js +210 -0
  2208. package/resources/local/ecc/scripts/lib/install-targets/gemini-project.js +10 -0
  2209. package/resources/local/ecc/scripts/lib/install-targets/helpers.js +368 -0
  2210. package/resources/local/ecc/scripts/lib/install-targets/joycode-project.js +50 -0
  2211. package/resources/local/ecc/scripts/lib/install-targets/opencode-home.js +10 -0
  2212. package/resources/local/ecc/scripts/lib/install-targets/qwen-home.js +10 -0
  2213. package/resources/local/ecc/scripts/lib/install-targets/registry.js +76 -0
  2214. package/resources/local/ecc/scripts/lib/install-targets/zed-project.js +50 -0
  2215. package/resources/local/ecc/scripts/lib/mcp-config.js +56 -0
  2216. package/resources/local/ecc/scripts/lib/observer-sessions.js +212 -0
  2217. package/resources/local/ecc/scripts/lib/orchestration-session.js +299 -0
  2218. package/resources/local/ecc/scripts/lib/package-manager.d.ts +119 -0
  2219. package/resources/local/ecc/scripts/lib/package-manager.js +431 -0
  2220. package/resources/local/ecc/scripts/lib/project-detect.js +438 -0
  2221. package/resources/local/ecc/scripts/lib/resolve-ecc-root.js +118 -0
  2222. package/resources/local/ecc/scripts/lib/resolve-formatter.js +185 -0
  2223. package/resources/local/ecc/scripts/lib/session-adapters/canonical-session.js +531 -0
  2224. package/resources/local/ecc/scripts/lib/session-adapters/claude-history.js +160 -0
  2225. package/resources/local/ecc/scripts/lib/session-adapters/dmux-tmux.js +90 -0
  2226. package/resources/local/ecc/scripts/lib/session-adapters/registry.js +127 -0
  2227. package/resources/local/ecc/scripts/lib/session-aliases.d.ts +136 -0
  2228. package/resources/local/ecc/scripts/lib/session-aliases.js +481 -0
  2229. package/resources/local/ecc/scripts/lib/session-bridge.js +81 -0
  2230. package/resources/local/ecc/scripts/lib/session-manager.d.ts +132 -0
  2231. package/resources/local/ecc/scripts/lib/session-manager.js +533 -0
  2232. package/resources/local/ecc/scripts/lib/shell-split.js +86 -0
  2233. package/resources/local/ecc/scripts/lib/shell-substitution.js +494 -0
  2234. package/resources/local/ecc/scripts/lib/skill-evolution/dashboard.js +401 -0
  2235. package/resources/local/ecc/scripts/lib/skill-evolution/health.js +263 -0
  2236. package/resources/local/ecc/scripts/lib/skill-evolution/index.js +20 -0
  2237. package/resources/local/ecc/scripts/lib/skill-evolution/provenance.js +187 -0
  2238. package/resources/local/ecc/scripts/lib/skill-evolution/tracker.js +146 -0
  2239. package/resources/local/ecc/scripts/lib/skill-evolution/versioning.js +237 -0
  2240. package/resources/local/ecc/scripts/lib/skill-improvement/amendify.js +89 -0
  2241. package/resources/local/ecc/scripts/lib/skill-improvement/evaluate.js +59 -0
  2242. package/resources/local/ecc/scripts/lib/skill-improvement/health.js +118 -0
  2243. package/resources/local/ecc/scripts/lib/skill-improvement/observations.js +108 -0
  2244. package/resources/local/ecc/scripts/lib/state-store/index.js +191 -0
  2245. package/resources/local/ecc/scripts/lib/state-store/migrations.js +209 -0
  2246. package/resources/local/ecc/scripts/lib/state-store/queries.js +906 -0
  2247. package/resources/local/ecc/scripts/lib/state-store/schema.js +93 -0
  2248. package/resources/local/ecc/scripts/lib/tmux-worktree-orchestrator.js +598 -0
  2249. package/resources/local/ecc/scripts/lib/utils.d.ts +196 -0
  2250. package/resources/local/ecc/scripts/lib/utils.js +629 -0
  2251. package/resources/local/ecc/scripts/list-installed.js +91 -0
  2252. package/resources/local/ecc/scripts/loop-status.js +820 -0
  2253. package/resources/local/ecc/scripts/observability-readiness.js +462 -0
  2254. package/resources/local/ecc/scripts/operator-readiness-dashboard.js +979 -0
  2255. package/resources/local/ecc/scripts/orchestrate-codex-worker.sh +107 -0
  2256. package/resources/local/ecc/scripts/orchestrate-worktrees.js +108 -0
  2257. package/resources/local/ecc/scripts/orchestration-status.js +62 -0
  2258. package/resources/local/ecc/scripts/platform-audit.js +749 -0
  2259. package/resources/local/ecc/scripts/preview-pack-smoke.js +353 -0
  2260. package/resources/local/ecc/scripts/repair.js +98 -0
  2261. package/resources/local/ecc/scripts/session-inspect.js +150 -0
  2262. package/resources/local/ecc/scripts/sessions-cli.js +178 -0
  2263. package/resources/local/ecc/scripts/setup-package-manager.js +204 -0
  2264. package/resources/local/ecc/scripts/skill-create-output.js +244 -0
  2265. package/resources/local/ecc/scripts/skills-health.js +132 -0
  2266. package/resources/local/ecc/scripts/status.js +394 -0
  2267. package/resources/local/ecc/scripts/sync-ecc-to-codex.sh +534 -0
  2268. package/resources/local/ecc/scripts/uninstall.js +97 -0
  2269. package/resources/local/ecc/scripts/work-items.js +510 -0
  2270. package/resources/local/ecc/skills/accessibility/SKILL.md +146 -0
  2271. package/resources/local/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
  2272. package/resources/local/ecc/skills/agent-eval/SKILL.md +145 -0
  2273. package/resources/local/ecc/skills/agent-harness-construction/SKILL.md +73 -0
  2274. package/resources/local/ecc/skills/agent-introspection-debugging/SKILL.md +153 -0
  2275. package/resources/local/ecc/skills/agent-payment-x402/SKILL.md +224 -0
  2276. package/resources/local/ecc/skills/agent-sort/SKILL.md +215 -0
  2277. package/resources/local/ecc/skills/agentic-engineering/SKILL.md +63 -0
  2278. package/resources/local/ecc/skills/agentic-os/SKILL.md +387 -0
  2279. package/resources/local/ecc/skills/ai-first-engineering/SKILL.md +51 -0
  2280. package/resources/local/ecc/skills/ai-regression-testing/SKILL.md +385 -0
  2281. package/resources/local/ecc/skills/android-clean-architecture/SKILL.md +339 -0
  2282. package/resources/local/ecc/skills/angular-developer/SKILL.md +154 -0
  2283. package/resources/local/ecc/skills/angular-developer/references/angular-animations.md +160 -0
  2284. package/resources/local/ecc/skills/angular-developer/references/angular-aria.md +410 -0
  2285. package/resources/local/ecc/skills/angular-developer/references/cli.md +86 -0
  2286. package/resources/local/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
  2287. package/resources/local/ecc/skills/angular-developer/references/component-styling.md +91 -0
  2288. package/resources/local/ecc/skills/angular-developer/references/components.md +117 -0
  2289. package/resources/local/ecc/skills/angular-developer/references/creating-services.md +97 -0
  2290. package/resources/local/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
  2291. package/resources/local/ecc/skills/angular-developer/references/define-routes.md +67 -0
  2292. package/resources/local/ecc/skills/angular-developer/references/defining-providers.md +72 -0
  2293. package/resources/local/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
  2294. package/resources/local/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
  2295. package/resources/local/ecc/skills/angular-developer/references/effects.md +83 -0
  2296. package/resources/local/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  2297. package/resources/local/ecc/skills/angular-developer/references/host-elements.md +80 -0
  2298. package/resources/local/ecc/skills/angular-developer/references/injection-context.md +63 -0
  2299. package/resources/local/ecc/skills/angular-developer/references/inputs.md +101 -0
  2300. package/resources/local/ecc/skills/angular-developer/references/linked-signal.md +59 -0
  2301. package/resources/local/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
  2302. package/resources/local/ecc/skills/angular-developer/references/mcp.md +108 -0
  2303. package/resources/local/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
  2304. package/resources/local/ecc/skills/angular-developer/references/outputs.md +86 -0
  2305. package/resources/local/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
  2306. package/resources/local/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
  2307. package/resources/local/ecc/skills/angular-developer/references/resource.md +77 -0
  2308. package/resources/local/ecc/skills/angular-developer/references/route-animations.md +56 -0
  2309. package/resources/local/ecc/skills/angular-developer/references/route-guards.md +52 -0
  2310. package/resources/local/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
  2311. package/resources/local/ecc/skills/angular-developer/references/router-testing.md +87 -0
  2312. package/resources/local/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  2313. package/resources/local/ecc/skills/angular-developer/references/signal-forms.md +795 -0
  2314. package/resources/local/ecc/skills/angular-developer/references/signals-overview.md +94 -0
  2315. package/resources/local/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
  2316. package/resources/local/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
  2317. package/resources/local/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
  2318. package/resources/local/ecc/skills/api-connector-builder/SKILL.md +120 -0
  2319. package/resources/local/ecc/skills/api-design/SKILL.md +523 -0
  2320. package/resources/local/ecc/skills/architecture-decision-records/SKILL.md +179 -0
  2321. package/resources/local/ecc/skills/article-writing/SKILL.md +79 -0
  2322. package/resources/local/ecc/skills/automation-audit-ops/SKILL.md +142 -0
  2323. package/resources/local/ecc/skills/autonomous-agent-harness/SKILL.md +273 -0
  2324. package/resources/local/ecc/skills/autonomous-loops/SKILL.md +610 -0
  2325. package/resources/local/ecc/skills/backend-patterns/SKILL.md +561 -0
  2326. package/resources/local/ecc/skills/benchmark/SKILL.md +93 -0
  2327. package/resources/local/ecc/skills/blender-motion-state-inspection/SKILL.md +164 -0
  2328. package/resources/local/ecc/skills/blueprint/SKILL.md +105 -0
  2329. package/resources/local/ecc/skills/brand-voice/SKILL.md +97 -0
  2330. package/resources/local/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
  2331. package/resources/local/ecc/skills/browser-qa/SKILL.md +87 -0
  2332. package/resources/local/ecc/skills/bun-runtime/SKILL.md +84 -0
  2333. package/resources/local/ecc/skills/canary-watch/SKILL.md +107 -0
  2334. package/resources/local/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
  2335. package/resources/local/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
  2336. package/resources/local/ecc/skills/ck/SKILL.md +147 -0
  2337. package/resources/local/ecc/skills/ck/commands/forget.mjs +44 -0
  2338. package/resources/local/ecc/skills/ck/commands/info.mjs +24 -0
  2339. package/resources/local/ecc/skills/ck/commands/init.mjs +143 -0
  2340. package/resources/local/ecc/skills/ck/commands/list.mjs +40 -0
  2341. package/resources/local/ecc/skills/ck/commands/migrate.mjs +202 -0
  2342. package/resources/local/ecc/skills/ck/commands/resume.mjs +36 -0
  2343. package/resources/local/ecc/skills/ck/commands/save.mjs +210 -0
  2344. package/resources/local/ecc/skills/ck/commands/shared.mjs +387 -0
  2345. package/resources/local/ecc/skills/ck/hooks/session-start.mjs +224 -0
  2346. package/resources/local/ecc/skills/claude-devfleet/SKILL.md +103 -0
  2347. package/resources/local/ecc/skills/click-path-audit/SKILL.md +244 -0
  2348. package/resources/local/ecc/skills/clickhouse-io/SKILL.md +439 -0
  2349. package/resources/local/ecc/skills/code-tour/SKILL.md +236 -0
  2350. package/resources/local/ecc/skills/codebase-onboarding/SKILL.md +233 -0
  2351. package/resources/local/ecc/skills/coding-standards/SKILL.md +549 -0
  2352. package/resources/local/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  2353. package/resources/local/ecc/skills/configure-ecc/SKILL.md +384 -0
  2354. package/resources/local/ecc/skills/connections-optimizer/SKILL.md +189 -0
  2355. package/resources/local/ecc/skills/content-engine/SKILL.md +131 -0
  2356. package/resources/local/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
  2357. package/resources/local/ecc/skills/context-budget/SKILL.md +135 -0
  2358. package/resources/local/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
  2359. package/resources/local/ecc/skills/continuous-learning/SKILL.md +131 -0
  2360. package/resources/local/ecc/skills/continuous-learning/config.json +18 -0
  2361. package/resources/local/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
  2362. package/resources/local/ecc/skills/continuous-learning-v2/SKILL.md +360 -0
  2363. package/resources/local/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +322 -0
  2364. package/resources/local/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
  2365. package/resources/local/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  2366. package/resources/local/ecc/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  2367. package/resources/local/ecc/skills/continuous-learning-v2/config.json +8 -0
  2368. package/resources/local/ecc/skills/continuous-learning-v2/hooks/observe.sh +492 -0
  2369. package/resources/local/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +288 -0
  2370. package/resources/local/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1519 -0
  2371. package/resources/local/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  2372. package/resources/local/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  2373. package/resources/local/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -0
  2374. package/resources/local/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  2375. package/resources/local/ecc/skills/cost-tracking/SKILL.md +147 -0
  2376. package/resources/local/ecc/skills/council/SKILL.md +203 -0
  2377. package/resources/local/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
  2378. package/resources/local/ecc/skills/cpp-testing/SKILL.md +324 -0
  2379. package/resources/local/ecc/skills/crosspost/SKILL.md +111 -0
  2380. package/resources/local/ecc/skills/csharp-testing/SKILL.md +321 -0
  2381. package/resources/local/ecc/skills/customer-billing-ops/SKILL.md +140 -0
  2382. package/resources/local/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
  2383. package/resources/local/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
  2384. package/resources/local/ecc/skills/dashboard-builder/SKILL.md +108 -0
  2385. package/resources/local/ecc/skills/data-scraper-agent/SKILL.md +764 -0
  2386. package/resources/local/ecc/skills/database-migrations/SKILL.md +429 -0
  2387. package/resources/local/ecc/skills/deep-research/SKILL.md +159 -0
  2388. package/resources/local/ecc/skills/defi-amm-security/SKILL.md +166 -0
  2389. package/resources/local/ecc/skills/deployment-patterns/SKILL.md +427 -0
  2390. package/resources/local/ecc/skills/design-system/SKILL.md +82 -0
  2391. package/resources/local/ecc/skills/django-celery/SKILL.md +457 -0
  2392. package/resources/local/ecc/skills/django-patterns/SKILL.md +734 -0
  2393. package/resources/local/ecc/skills/django-security/SKILL.md +593 -0
  2394. package/resources/local/ecc/skills/django-tdd/SKILL.md +729 -0
  2395. package/resources/local/ecc/skills/django-verification/SKILL.md +469 -0
  2396. package/resources/local/ecc/skills/dmux-workflows/SKILL.md +191 -0
  2397. package/resources/local/ecc/skills/docker-patterns/SKILL.md +364 -0
  2398. package/resources/local/ecc/skills/documentation-lookup/SKILL.md +90 -0
  2399. package/resources/local/ecc/skills/dotnet-patterns/SKILL.md +321 -0
  2400. package/resources/local/ecc/skills/e2e-testing/SKILL.md +326 -0
  2401. package/resources/local/ecc/skills/ecc-guide/SKILL.md +189 -0
  2402. package/resources/local/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
  2403. package/resources/local/ecc/skills/email-ops/SKILL.md +121 -0
  2404. package/resources/local/ecc/skills/energy-procurement/SKILL.md +228 -0
  2405. package/resources/local/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
  2406. package/resources/local/ecc/skills/error-handling/SKILL.md +376 -0
  2407. package/resources/local/ecc/skills/eval-harness/SKILL.md +270 -0
  2408. package/resources/local/ecc/skills/evm-token-decimals/SKILL.md +130 -0
  2409. package/resources/local/ecc/skills/exa-search/SKILL.md +107 -0
  2410. package/resources/local/ecc/skills/fal-ai-media/SKILL.md +288 -0
  2411. package/resources/local/ecc/skills/fastapi-patterns/SKILL.md +327 -0
  2412. package/resources/local/ecc/skills/finance-billing-ops/SKILL.md +127 -0
  2413. package/resources/local/ecc/skills/flox-environments/SKILL.md +496 -0
  2414. package/resources/local/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
  2415. package/resources/local/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  2416. package/resources/local/ecc/skills/frontend-design-direction/SKILL.md +92 -0
  2417. package/resources/local/ecc/skills/frontend-patterns/SKILL.md +642 -0
  2418. package/resources/local/ecc/skills/frontend-slides/SKILL.md +184 -0
  2419. package/resources/local/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  2420. package/resources/local/ecc/skills/frontend-slides/animation-patterns.md +122 -0
  2421. package/resources/local/ecc/skills/frontend-slides/html-template.md +419 -0
  2422. package/resources/local/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  2423. package/resources/local/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  2424. package/resources/local/ecc/skills/frontend-slides/viewport-base.css +153 -0
  2425. package/resources/local/ecc/skills/fsharp-testing/SKILL.md +280 -0
  2426. package/resources/local/ecc/skills/gan-style-harness/SKILL.md +278 -0
  2427. package/resources/local/ecc/skills/gateguard/SKILL.md +125 -0
  2428. package/resources/local/ecc/skills/git-workflow/SKILL.md +715 -0
  2429. package/resources/local/ecc/skills/github-ops/SKILL.md +144 -0
  2430. package/resources/local/ecc/skills/golang-patterns/SKILL.md +674 -0
  2431. package/resources/local/ecc/skills/golang-testing/SKILL.md +720 -0
  2432. package/resources/local/ecc/skills/google-workspace-ops/SKILL.md +95 -0
  2433. package/resources/local/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  2434. package/resources/local/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
  2435. package/resources/local/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
  2436. package/resources/local/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
  2437. package/resources/local/ecc/skills/hermes-imports/SKILL.md +88 -0
  2438. package/resources/local/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
  2439. package/resources/local/ecc/skills/hipaa-compliance/SKILL.md +78 -0
  2440. package/resources/local/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
  2441. package/resources/local/ecc/skills/homelab-network-setup/SKILL.md +129 -0
  2442. package/resources/local/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
  2443. package/resources/local/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  2444. package/resources/local/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  2445. package/resources/local/ecc/skills/hookify-rules/SKILL.md +128 -0
  2446. package/resources/local/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
  2447. package/resources/local/ecc/skills/investor-materials/SKILL.md +96 -0
  2448. package/resources/local/ecc/skills/investor-outreach/SKILL.md +91 -0
  2449. package/resources/local/ecc/skills/ios-icon-gen/SKILL.md +157 -0
  2450. package/resources/local/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  2451. package/resources/local/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  2452. package/resources/local/ecc/skills/iterative-retrieval/SKILL.md +211 -0
  2453. package/resources/local/ecc/skills/java-coding-standards/SKILL.md +383 -0
  2454. package/resources/local/ecc/skills/jira-integration/SKILL.md +293 -0
  2455. package/resources/local/ecc/skills/jpa-patterns/SKILL.md +151 -0
  2456. package/resources/local/ecc/skills/knowledge-ops/SKILL.md +154 -0
  2457. package/resources/local/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  2458. package/resources/local/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  2459. package/resources/local/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  2460. package/resources/local/ecc/skills/kotlin-patterns/SKILL.md +711 -0
  2461. package/resources/local/ecc/skills/kotlin-testing/SKILL.md +824 -0
  2462. package/resources/local/ecc/skills/laravel-patterns/SKILL.md +415 -0
  2463. package/resources/local/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
  2464. package/resources/local/ecc/skills/laravel-security/SKILL.md +285 -0
  2465. package/resources/local/ecc/skills/laravel-tdd/SKILL.md +283 -0
  2466. package/resources/local/ecc/skills/laravel-verification/SKILL.md +179 -0
  2467. package/resources/local/ecc/skills/lead-intelligence/SKILL.md +321 -0
  2468. package/resources/local/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  2469. package/resources/local/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  2470. package/resources/local/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  2471. package/resources/local/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  2472. package/resources/local/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  2473. package/resources/local/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
  2474. package/resources/local/ecc/skills/logistics-exception-management/SKILL.md +222 -0
  2475. package/resources/local/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
  2476. package/resources/local/ecc/skills/manim-video/SKILL.md +89 -0
  2477. package/resources/local/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
  2478. package/resources/local/ecc/skills/market-research/SKILL.md +75 -0
  2479. package/resources/local/ecc/skills/mcp-server-patterns/SKILL.md +69 -0
  2480. package/resources/local/ecc/skills/messages-ops/SKILL.md +104 -0
  2481. package/resources/local/ecc/skills/mle-workflow/SKILL.md +346 -0
  2482. package/resources/local/ecc/skills/motion-advanced/SKILL.md +596 -0
  2483. package/resources/local/ecc/skills/motion-foundations/SKILL.md +299 -0
  2484. package/resources/local/ecc/skills/motion-patterns/SKILL.md +435 -0
  2485. package/resources/local/ecc/skills/motion-ui/SKILL.md +575 -0
  2486. package/resources/local/ecc/skills/mysql-patterns/SKILL.md +412 -0
  2487. package/resources/local/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
  2488. package/resources/local/ecc/skills/nestjs-patterns/SKILL.md +230 -0
  2489. package/resources/local/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
  2490. package/resources/local/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
  2491. package/resources/local/ecc/skills/network-config-validation/SKILL.md +210 -0
  2492. package/resources/local/ecc/skills/network-interface-health/SKILL.md +152 -0
  2493. package/resources/local/ecc/skills/nextjs-turbopack/SKILL.md +44 -0
  2494. package/resources/local/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
  2495. package/resources/local/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
  2496. package/resources/local/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
  2497. package/resources/local/ecc/skills/openclaw-persona-forge/SKILL.md +288 -0
  2498. package/resources/local/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
  2499. package/resources/local/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
  2500. package/resources/local/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  2501. package/resources/local/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  2502. package/resources/local/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  2503. package/resources/local/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  2504. package/resources/local/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  2505. package/resources/local/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
  2506. package/resources/local/ecc/skills/opensource-pipeline/SKILL.md +255 -0
  2507. package/resources/local/ecc/skills/perl-patterns/SKILL.md +504 -0
  2508. package/resources/local/ecc/skills/perl-security/SKILL.md +503 -0
  2509. package/resources/local/ecc/skills/perl-testing/SKILL.md +475 -0
  2510. package/resources/local/ecc/skills/plan-orchestrate/SKILL.md +262 -0
  2511. package/resources/local/ecc/skills/plankton-code-quality/SKILL.md +236 -0
  2512. package/resources/local/ecc/skills/postgres-patterns/SKILL.md +147 -0
  2513. package/resources/local/ecc/skills/prisma-patterns/SKILL.md +371 -0
  2514. package/resources/local/ecc/skills/product-capability/SKILL.md +141 -0
  2515. package/resources/local/ecc/skills/product-lens/SKILL.md +92 -0
  2516. package/resources/local/ecc/skills/production-audit/SKILL.md +206 -0
  2517. package/resources/local/ecc/skills/production-scheduling/SKILL.md +238 -0
  2518. package/resources/local/ecc/skills/project-flow-ops/SKILL.md +111 -0
  2519. package/resources/local/ecc/skills/prompt-optimizer/SKILL.md +398 -0
  2520. package/resources/local/ecc/skills/python-patterns/SKILL.md +750 -0
  2521. package/resources/local/ecc/skills/python-testing/SKILL.md +816 -0
  2522. package/resources/local/ecc/skills/pytorch-patterns/SKILL.md +396 -0
  2523. package/resources/local/ecc/skills/quality-nonconformance/SKILL.md +260 -0
  2524. package/resources/local/ecc/skills/quarkus-patterns/SKILL.md +722 -0
  2525. package/resources/local/ecc/skills/quarkus-security/SKILL.md +467 -0
  2526. package/resources/local/ecc/skills/quarkus-tdd/SKILL.md +811 -0
  2527. package/resources/local/ecc/skills/quarkus-verification/SKILL.md +479 -0
  2528. package/resources/local/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  2529. package/resources/local/ecc/skills/recsys-pipeline-architect/SKILL.md +114 -0
  2530. package/resources/local/ecc/skills/redis-patterns/SKILL.md +403 -0
  2531. package/resources/local/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  2532. package/resources/local/ecc/skills/remotion-video-creation/SKILL.md +43 -0
  2533. package/resources/local/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
  2534. package/resources/local/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
  2535. package/resources/local/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  2536. package/resources/local/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  2537. package/resources/local/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  2538. package/resources/local/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
  2539. package/resources/local/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
  2540. package/resources/local/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  2541. package/resources/local/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
  2542. package/resources/local/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
  2543. package/resources/local/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
  2544. package/resources/local/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
  2545. package/resources/local/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  2546. package/resources/local/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
  2547. package/resources/local/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  2548. package/resources/local/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  2549. package/resources/local/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  2550. package/resources/local/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
  2551. package/resources/local/ecc/skills/remotion-video-creation/rules/images.md +130 -0
  2552. package/resources/local/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  2553. package/resources/local/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
  2554. package/resources/local/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  2555. package/resources/local/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  2556. package/resources/local/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
  2557. package/resources/local/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
  2558. package/resources/local/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
  2559. package/resources/local/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
  2560. package/resources/local/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  2561. package/resources/local/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
  2562. package/resources/local/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
  2563. package/resources/local/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
  2564. package/resources/local/ecc/skills/repo-scan/SKILL.md +78 -0
  2565. package/resources/local/ecc/skills/research-ops/SKILL.md +112 -0
  2566. package/resources/local/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
  2567. package/resources/local/ecc/skills/rules-distill/SKILL.md +264 -0
  2568. package/resources/local/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
  2569. package/resources/local/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
  2570. package/resources/local/ecc/skills/rust-patterns/SKILL.md +499 -0
  2571. package/resources/local/ecc/skills/rust-testing/SKILL.md +500 -0
  2572. package/resources/local/ecc/skills/safety-guard/SKILL.md +75 -0
  2573. package/resources/local/ecc/skills/santa-method/SKILL.md +306 -0
  2574. package/resources/local/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  2575. package/resources/local/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
  2576. package/resources/local/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
  2577. package/resources/local/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  2578. package/resources/local/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  2579. package/resources/local/ecc/skills/search-first/SKILL.md +182 -0
  2580. package/resources/local/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
  2581. package/resources/local/ecc/skills/security-review/SKILL.md +503 -0
  2582. package/resources/local/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
  2583. package/resources/local/ecc/skills/security-scan/SKILL.md +165 -0
  2584. package/resources/local/ecc/skills/seo/SKILL.md +154 -0
  2585. package/resources/local/ecc/skills/skill-comply/SKILL.md +58 -0
  2586. package/resources/local/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  2587. package/resources/local/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  2588. package/resources/local/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  2589. package/resources/local/ecc/skills/skill-comply/prompts/classifier.md +24 -0
  2590. package/resources/local/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
  2591. package/resources/local/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
  2592. package/resources/local/ecc/skills/skill-comply/pyproject.toml +15 -0
  2593. package/resources/local/ecc/skills/skill-comply/scripts/__init__.py +0 -0
  2594. package/resources/local/ecc/skills/skill-comply/scripts/classifier.py +85 -0
  2595. package/resources/local/ecc/skills/skill-comply/scripts/grader.py +124 -0
  2596. package/resources/local/ecc/skills/skill-comply/scripts/parser.py +107 -0
  2597. package/resources/local/ecc/skills/skill-comply/scripts/report.py +170 -0
  2598. package/resources/local/ecc/skills/skill-comply/scripts/run.py +127 -0
  2599. package/resources/local/ecc/skills/skill-comply/scripts/runner.py +186 -0
  2600. package/resources/local/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
  2601. package/resources/local/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
  2602. package/resources/local/ecc/skills/skill-comply/scripts/utils.py +13 -0
  2603. package/resources/local/ecc/skills/skill-comply/tests/test_grader.py +197 -0
  2604. package/resources/local/ecc/skills/skill-comply/tests/test_parser.py +90 -0
  2605. package/resources/local/ecc/skills/skill-comply/tests/test_runner.py +172 -0
  2606. package/resources/local/ecc/skills/skill-scout/SKILL.md +140 -0
  2607. package/resources/local/ecc/skills/skill-stocktake/SKILL.md +194 -0
  2608. package/resources/local/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  2609. package/resources/local/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  2610. package/resources/local/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  2611. package/resources/local/ecc/skills/social-graph-ranker/SKILL.md +154 -0
  2612. package/resources/local/ecc/skills/springboot-patterns/SKILL.md +314 -0
  2613. package/resources/local/ecc/skills/springboot-security/SKILL.md +272 -0
  2614. package/resources/local/ecc/skills/springboot-tdd/SKILL.md +158 -0
  2615. package/resources/local/ecc/skills/springboot-verification/SKILL.md +231 -0
  2616. package/resources/local/ecc/skills/strategic-compact/SKILL.md +131 -0
  2617. package/resources/local/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
  2618. package/resources/local/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  2619. package/resources/local/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
  2620. package/resources/local/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  2621. package/resources/local/ecc/skills/tdd-workflow/SKILL.md +463 -0
  2622. package/resources/local/ecc/skills/team-builder/SKILL.md +168 -0
  2623. package/resources/local/ecc/skills/terminal-ops/SKILL.md +109 -0
  2624. package/resources/local/ecc/skills/tinystruct-patterns/SKILL.md +203 -0
  2625. package/resources/local/ecc/skills/tinystruct-patterns/references/architecture.md +90 -0
  2626. package/resources/local/ecc/skills/tinystruct-patterns/references/data-handling.md +60 -0
  2627. package/resources/local/ecc/skills/tinystruct-patterns/references/database.md +99 -0
  2628. package/resources/local/ecc/skills/tinystruct-patterns/references/routing.md +64 -0
  2629. package/resources/local/ecc/skills/tinystruct-patterns/references/system-usage.md +97 -0
  2630. package/resources/local/ecc/skills/tinystruct-patterns/references/testing.md +72 -0
  2631. package/resources/local/ecc/skills/token-budget-advisor/SKILL.md +133 -0
  2632. package/resources/local/ecc/skills/ui-demo/SKILL.md +465 -0
  2633. package/resources/local/ecc/skills/ui-to-vue/SKILL.md +134 -0
  2634. package/resources/local/ecc/skills/uncloud/SKILL.md +343 -0
  2635. package/resources/local/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
  2636. package/resources/local/ecc/skills/verification-loop/SKILL.md +126 -0
  2637. package/resources/local/ecc/skills/video-editing/SKILL.md +310 -0
  2638. package/resources/local/ecc/skills/videodb/SKILL.md +374 -0
  2639. package/resources/local/ecc/skills/videodb/reference/api-reference.md +550 -0
  2640. package/resources/local/ecc/skills/videodb/reference/capture-reference.md +407 -0
  2641. package/resources/local/ecc/skills/videodb/reference/capture.md +101 -0
  2642. package/resources/local/ecc/skills/videodb/reference/editor.md +443 -0
  2643. package/resources/local/ecc/skills/videodb/reference/generative.md +331 -0
  2644. package/resources/local/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
  2645. package/resources/local/ecc/skills/videodb/reference/rtstream.md +65 -0
  2646. package/resources/local/ecc/skills/videodb/reference/search.md +230 -0
  2647. package/resources/local/ecc/skills/videodb/reference/streaming.md +406 -0
  2648. package/resources/local/ecc/skills/videodb/reference/use-cases.md +118 -0
  2649. package/resources/local/ecc/skills/videodb/scripts/ws_listener.py +282 -0
  2650. package/resources/local/ecc/skills/visa-doc-translate/README.md +86 -0
  2651. package/resources/local/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  2652. package/resources/local/ecc/skills/vite-patterns/SKILL.md +449 -0
  2653. package/resources/local/ecc/skills/windows-desktop-e2e/SKILL.md +887 -0
  2654. package/resources/local/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
  2655. package/resources/local/ecc/skills/x-api/SKILL.md +234 -0
  2656. package/resources/local/ecc/src/llm/__init__.py +33 -0
  2657. package/resources/local/ecc/src/llm/__main__.py +7 -0
  2658. package/resources/local/ecc/src/llm/cli/__init__.py +0 -0
  2659. package/resources/local/ecc/src/llm/cli/selector.py +154 -0
  2660. package/resources/local/ecc/src/llm/core/__init__.py +1 -0
  2661. package/resources/local/ecc/src/llm/core/interface.py +60 -0
  2662. package/resources/local/ecc/src/llm/core/types.py +166 -0
  2663. package/resources/local/ecc/src/llm/prompt/__init__.py +23 -0
  2664. package/resources/local/ecc/src/llm/prompt/builder.py +125 -0
  2665. package/resources/local/ecc/src/llm/prompt/templates/__init__.py +41 -0
  2666. package/resources/local/ecc/src/llm/providers/__init__.py +17 -0
  2667. package/resources/local/ecc/src/llm/providers/astraflow.py +151 -0
  2668. package/resources/local/ecc/src/llm/providers/claude.py +117 -0
  2669. package/resources/local/ecc/src/llm/providers/constants.py +3 -0
  2670. package/resources/local/ecc/src/llm/providers/ollama.py +112 -0
  2671. package/resources/local/ecc/src/llm/providers/openai.py +125 -0
  2672. package/resources/local/ecc/src/llm/providers/resolver.py +78 -0
  2673. package/resources/local/ecc/src/llm/tools/__init__.py +9 -0
  2674. package/resources/local/ecc/src/llm/tools/executor.py +116 -0
  2675. package/resources/local/ecc/tests/__init__.py +0 -0
  2676. package/resources/local/ecc/tests/ci/agent-instruction-safety.test.js +98 -0
  2677. package/resources/local/ecc/tests/ci/agent-yaml-surface.test.js +131 -0
  2678. package/resources/local/ecc/tests/ci/catalog.test.js +294 -0
  2679. package/resources/local/ecc/tests/ci/code-reviewer-false-positive-guard.test.js +82 -0
  2680. package/resources/local/ecc/tests/ci/codex-skill-surface.test.js +125 -0
  2681. package/resources/local/ecc/tests/ci/command-registry.test.js +176 -0
  2682. package/resources/local/ecc/tests/ci/mle-workflow-coverage.test.js +223 -0
  2683. package/resources/local/ecc/tests/ci/no-personal-paths.test.js +211 -0
  2684. package/resources/local/ecc/tests/ci/scan-supply-chain-iocs.test.js +447 -0
  2685. package/resources/local/ecc/tests/ci/supply-chain-advisory-sources.test.js +290 -0
  2686. package/resources/local/ecc/tests/ci/supply-chain-watch-workflow.test.js +77 -0
  2687. package/resources/local/ecc/tests/ci/validate-workflow-security.test.js +289 -0
  2688. package/resources/local/ecc/tests/ci/validators.test.js +3139 -0
  2689. package/resources/local/ecc/tests/codex-config.test.js +117 -0
  2690. package/resources/local/ecc/tests/commands/command-frontmatter.test.js +61 -0
  2691. package/resources/local/ecc/tests/commands/plan-command.test.js +76 -0
  2692. package/resources/local/ecc/tests/conftest.py +10 -0
  2693. package/resources/local/ecc/tests/docs/canary-watch.test.js +45 -0
  2694. package/resources/local/ecc/tests/docs/configure-ecc-install-paths.test.js +69 -0
  2695. package/resources/local/ecc/tests/docs/continuous-learning-v2-docs.test.js +64 -0
  2696. package/resources/local/ecc/tests/docs/copilot-support.test.js +110 -0
  2697. package/resources/local/ecc/tests/docs/ecc2-release-surface.test.js +374 -0
  2698. package/resources/local/ecc/tests/docs/evaluator-rag-prototype.test.js +417 -0
  2699. package/resources/local/ecc/tests/docs/harness-adapter-compliance.test.js +154 -0
  2700. package/resources/local/ecc/tests/docs/install-identifiers.test.js +104 -0
  2701. package/resources/local/ecc/tests/docs/legacy-artifact-inventory.test.js +155 -0
  2702. package/resources/local/ecc/tests/docs/mcp-management-docs.test.js +77 -0
  2703. package/resources/local/ecc/tests/docs/stale-pr-salvage-ledger.test.js +158 -0
  2704. package/resources/local/ecc/tests/hooks/auto-tmux-dev.test.js +145 -0
  2705. package/resources/local/ecc/tests/hooks/bash-hook-dispatcher.test.js +114 -0
  2706. package/resources/local/ecc/tests/hooks/block-no-verify.test.js +203 -0
  2707. package/resources/local/ecc/tests/hooks/check-hook-enabled.test.js +108 -0
  2708. package/resources/local/ecc/tests/hooks/config-protection.test.js +322 -0
  2709. package/resources/local/ecc/tests/hooks/continuous-learning-observe-runner.test.js +194 -0
  2710. package/resources/local/ecc/tests/hooks/cost-tracker.test.js +222 -0
  2711. package/resources/local/ecc/tests/hooks/design-quality-check.test.js +82 -0
  2712. package/resources/local/ecc/tests/hooks/detect-project-worktree.test.js +260 -0
  2713. package/resources/local/ecc/tests/hooks/doc-file-warning.test.js +215 -0
  2714. package/resources/local/ecc/tests/hooks/ecc-context-monitor.test.js +301 -0
  2715. package/resources/local/ecc/tests/hooks/ecc-metrics-bridge.test.js +430 -0
  2716. package/resources/local/ecc/tests/hooks/ecc-statusline.test.js +213 -0
  2717. package/resources/local/ecc/tests/hooks/evaluate-session.test.js +419 -0
  2718. package/resources/local/ecc/tests/hooks/gateguard-fact-force.test.js +1407 -0
  2719. package/resources/local/ecc/tests/hooks/governance-capture.test.js +360 -0
  2720. package/resources/local/ecc/tests/hooks/hook-flags.test.js +397 -0
  2721. package/resources/local/ecc/tests/hooks/hooks.test.js +6041 -0
  2722. package/resources/local/ecc/tests/hooks/insaits-security-monitor.test.js +219 -0
  2723. package/resources/local/ecc/tests/hooks/insaits-security-wrapper.test.js +199 -0
  2724. package/resources/local/ecc/tests/hooks/mcp-health-check.test.js +1131 -0
  2725. package/resources/local/ecc/tests/hooks/observe-subdirectory-detection.test.js +279 -0
  2726. package/resources/local/ecc/tests/hooks/observer-memory.test.js +475 -0
  2727. package/resources/local/ecc/tests/hooks/plugin-hook-bootstrap.test.js +254 -0
  2728. package/resources/local/ecc/tests/hooks/post-bash-hooks.test.js +207 -0
  2729. package/resources/local/ecc/tests/hooks/pre-bash-commit-quality.test.js +293 -0
  2730. package/resources/local/ecc/tests/hooks/pre-bash-dev-server-block.test.js +225 -0
  2731. package/resources/local/ecc/tests/hooks/pre-bash-reminders.test.js +104 -0
  2732. package/resources/local/ecc/tests/hooks/quality-gate.test.js +159 -0
  2733. package/resources/local/ecc/tests/hooks/session-activity-tracker.test.js +668 -0
  2734. package/resources/local/ecc/tests/hooks/stop-format-typecheck.test.js +248 -0
  2735. package/resources/local/ecc/tests/hooks/suggest-compact.test.js +460 -0
  2736. package/resources/local/ecc/tests/hooks/test_insaits_security_monitor.py +272 -0
  2737. package/resources/local/ecc/tests/integration/hooks.test.js +1018 -0
  2738. package/resources/local/ecc/tests/lib/agent-compress.test.js +271 -0
  2739. package/resources/local/ecc/tests/lib/changed-files-store.test.js +163 -0
  2740. package/resources/local/ecc/tests/lib/command-plugin-root.test.js +48 -0
  2741. package/resources/local/ecc/tests/lib/cost-estimate.test.js +114 -0
  2742. package/resources/local/ecc/tests/lib/inspection.test.js +232 -0
  2743. package/resources/local/ecc/tests/lib/install-config.test.js +144 -0
  2744. package/resources/local/ecc/tests/lib/install-executor.test.js +435 -0
  2745. package/resources/local/ecc/tests/lib/install-lifecycle.test.js +1608 -0
  2746. package/resources/local/ecc/tests/lib/install-manifests.test.js +882 -0
  2747. package/resources/local/ecc/tests/lib/install-request.test.js +249 -0
  2748. package/resources/local/ecc/tests/lib/install-state.test.js +234 -0
  2749. package/resources/local/ecc/tests/lib/install-targets.test.js +872 -0
  2750. package/resources/local/ecc/tests/lib/locale-install.test.js +172 -0
  2751. package/resources/local/ecc/tests/lib/mcp-config.test.js +62 -0
  2752. package/resources/local/ecc/tests/lib/observer-sessions.test.js +134 -0
  2753. package/resources/local/ecc/tests/lib/orchestration-session.test.js +225 -0
  2754. package/resources/local/ecc/tests/lib/package-manager.test.js +1698 -0
  2755. package/resources/local/ecc/tests/lib/project-detect.test.js +447 -0
  2756. package/resources/local/ecc/tests/lib/resolve-ecc-root.test.js +351 -0
  2757. package/resources/local/ecc/tests/lib/resolve-formatter.test.js +277 -0
  2758. package/resources/local/ecc/tests/lib/selective-install.test.js +836 -0
  2759. package/resources/local/ecc/tests/lib/session-adapters.test.js +970 -0
  2760. package/resources/local/ecc/tests/lib/session-aliases.test.js +1830 -0
  2761. package/resources/local/ecc/tests/lib/session-bridge.test.js +174 -0
  2762. package/resources/local/ecc/tests/lib/session-manager.test.js +2650 -0
  2763. package/resources/local/ecc/tests/lib/shell-split.test.js +114 -0
  2764. package/resources/local/ecc/tests/lib/skill-dashboard.test.js +574 -0
  2765. package/resources/local/ecc/tests/lib/skill-evolution.test.js +656 -0
  2766. package/resources/local/ecc/tests/lib/skill-improvement.test.js +186 -0
  2767. package/resources/local/ecc/tests/lib/state-store.test.js +1002 -0
  2768. package/resources/local/ecc/tests/lib/tmux-worktree-orchestrator.test.js +423 -0
  2769. package/resources/local/ecc/tests/lib/utils.test.js +2648 -0
  2770. package/resources/local/ecc/tests/opencode-config.test.js +103 -0
  2771. package/resources/local/ecc/tests/opencode-plugin-hooks.test.js +183 -0
  2772. package/resources/local/ecc/tests/plugin-manifest.test.js +545 -0
  2773. package/resources/local/ecc/tests/run-all.js +118 -0
  2774. package/resources/local/ecc/tests/scripts/auto-update.test.js +395 -0
  2775. package/resources/local/ecc/tests/scripts/build-opencode.test.js +123 -0
  2776. package/resources/local/ecc/tests/scripts/catalog.test.js +104 -0
  2777. package/resources/local/ecc/tests/scripts/check-unicode-safety.test.js +203 -0
  2778. package/resources/local/ecc/tests/scripts/claw.test.js +325 -0
  2779. package/resources/local/ecc/tests/scripts/codex-hooks.test.js +508 -0
  2780. package/resources/local/ecc/tests/scripts/consult.test.js +194 -0
  2781. package/resources/local/ecc/tests/scripts/discussion-audit.test.js +302 -0
  2782. package/resources/local/ecc/tests/scripts/doctor.test.js +190 -0
  2783. package/resources/local/ecc/tests/scripts/ecc-dashboard.test.js +142 -0
  2784. package/resources/local/ecc/tests/scripts/ecc.test.js +258 -0
  2785. package/resources/local/ecc/tests/scripts/gemini-adapt-agents.test.js +136 -0
  2786. package/resources/local/ecc/tests/scripts/harness-audit.test.js +477 -0
  2787. package/resources/local/ecc/tests/scripts/install-apply.test.js +904 -0
  2788. package/resources/local/ecc/tests/scripts/install-plan.test.js +194 -0
  2789. package/resources/local/ecc/tests/scripts/install-ps1.test.js +128 -0
  2790. package/resources/local/ecc/tests/scripts/install-readme-clarity.test.js +170 -0
  2791. package/resources/local/ecc/tests/scripts/install-sh.test.js +102 -0
  2792. package/resources/local/ecc/tests/scripts/list-installed.test.js +139 -0
  2793. package/resources/local/ecc/tests/scripts/loop-status.test.js +749 -0
  2794. package/resources/local/ecc/tests/scripts/manual-hook-install-docs.test.js +71 -0
  2795. package/resources/local/ecc/tests/scripts/npm-publish-surface.test.js +188 -0
  2796. package/resources/local/ecc/tests/scripts/observability-readiness.test.js +331 -0
  2797. package/resources/local/ecc/tests/scripts/openclaw-persona-forge-gacha.test.js +92 -0
  2798. package/resources/local/ecc/tests/scripts/operator-readiness-dashboard.test.js +640 -0
  2799. package/resources/local/ecc/tests/scripts/orchestrate-codex-worker.test.js +63 -0
  2800. package/resources/local/ecc/tests/scripts/orchestration-status.test.js +76 -0
  2801. package/resources/local/ecc/tests/scripts/platform-audit.test.js +432 -0
  2802. package/resources/local/ecc/tests/scripts/post-bash-command-log.test.js +105 -0
  2803. package/resources/local/ecc/tests/scripts/preview-pack-smoke.test.js +260 -0
  2804. package/resources/local/ecc/tests/scripts/release-publish.test.js +79 -0
  2805. package/resources/local/ecc/tests/scripts/release.test.js +150 -0
  2806. package/resources/local/ecc/tests/scripts/repair.test.js +326 -0
  2807. package/resources/local/ecc/tests/scripts/session-inspect.test.js +300 -0
  2808. package/resources/local/ecc/tests/scripts/setup-package-manager.test.js +397 -0
  2809. package/resources/local/ecc/tests/scripts/skill-create-output.test.js +533 -0
  2810. package/resources/local/ecc/tests/scripts/sync-ecc-to-codex.test.js +90 -0
  2811. package/resources/local/ecc/tests/scripts/trae-install.test.js +179 -0
  2812. package/resources/local/ecc/tests/scripts/uninstall.test.js +287 -0
  2813. package/resources/local/ecc/tests/test_astraflow_provider.py +141 -0
  2814. package/resources/local/ecc/tests/test_builder.py +84 -0
  2815. package/resources/local/ecc/tests/test_claude_provider.py +111 -0
  2816. package/resources/local/ecc/tests/test_executor.py +86 -0
  2817. package/resources/local/ecc/tests/test_provider_tools.py +130 -0
  2818. package/resources/local/ecc/tests/test_resolver.py +88 -0
  2819. package/resources/local/ecc/tests/test_templates.py +71 -0
  2820. package/resources/local/ecc/tests/test_types.py +150 -0
  2821. package/resources/local/ecc/the-longform-guide.md +354 -0
  2822. package/resources/local/ecc/the-security-guide.md +455 -0
  2823. package/resources/local/ecc/the-shortform-guide.md +431 -0
  2824. package/resources/local/ecc/yarn.lock +2259 -0
  2825. package/resources/local/manifest.json +12 -0
  2826. package/resources/local/page-agent/.agents/skills/git-cleanup/SKILL.md +64 -0
  2827. package/resources/local/page-agent/.agents/skills/pre-impl-discussion/SKILL.md +104 -0
  2828. package/resources/local/page-agent/.agents/skills/submit-pr-from-current-changes/SKILL.md +102 -0
  2829. package/resources/local/page-agent/.agents/skills/update-changelog/SKILL.md +109 -0
  2830. package/resources/local/page-agent/.github/ISSUE_TEMPLATE/bug_report.yml +59 -0
  2831. package/resources/local/page-agent/.github/ISSUE_TEMPLATE/config.yml +8 -0
  2832. package/resources/local/page-agent/.github/ISSUE_TEMPLATE/feature_request.yml +42 -0
  2833. package/resources/local/page-agent/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  2834. package/resources/local/page-agent/.github/dependabot.yml +39 -0
  2835. package/resources/local/page-agent/.github/workflows/ci.yml +33 -0
  2836. package/resources/local/page-agent/.github/workflows/deploy-demo.yml +40 -0
  2837. package/resources/local/page-agent/.github/workflows/release.yml +43 -0
  2838. package/resources/local/page-agent/.prettierignore +8 -0
  2839. package/resources/local/page-agent/.vscode/extensions.json +3 -0
  2840. package/resources/local/page-agent/.vscode/settings.json +43 -0
  2841. package/resources/local/page-agent/AGENTS.md +135 -0
  2842. package/resources/local/page-agent/CLAUDE.md +1 -0
  2843. package/resources/local/page-agent/CONTRIBUTING.md +47 -0
  2844. package/resources/local/page-agent/LICENSE +22 -0
  2845. package/resources/local/page-agent/README.md +121 -0
  2846. package/resources/local/page-agent/WINTER.md +101 -0
  2847. package/resources/local/page-agent/docs/CHANGELOG.md +250 -0
  2848. package/resources/local/page-agent/docs/CODE_OF_CONDUCT.md +127 -0
  2849. package/resources/local/page-agent/docs/README-zh.md +110 -0
  2850. package/resources/local/page-agent/docs/SECURITY.md +50 -0
  2851. package/resources/local/page-agent/docs/developer-guide.md +105 -0
  2852. package/resources/local/page-agent/docs/terms-and-privacy.md +85 -0
  2853. package/resources/local/page-agent/eslint.config.js +62 -0
  2854. package/resources/local/page-agent/package-lock.json +11184 -0
  2855. package/resources/local/page-agent/package.json +129 -0
  2856. package/resources/local/page-agent/packages/core/package.json +66 -0
  2857. package/resources/local/page-agent/packages/core/src/PageAgentCore.ts +641 -0
  2858. package/resources/local/page-agent/packages/core/src/env.d.ts +6 -0
  2859. package/resources/local/page-agent/packages/core/src/prompts/system_prompt.md +153 -0
  2860. package/resources/local/page-agent/packages/core/src/tools/index.ts +190 -0
  2861. package/resources/local/page-agent/packages/core/src/types.ts +289 -0
  2862. package/resources/local/page-agent/packages/core/src/utils/autoFixer.ts +216 -0
  2863. package/resources/local/page-agent/packages/core/src/utils/index.ts +111 -0
  2864. package/resources/local/page-agent/packages/core/tsconfig.json +8 -0
  2865. package/resources/local/page-agent/packages/core/vite.config.js +50 -0
  2866. package/resources/local/page-agent/packages/extension/PRIVACY.md +5 -0
  2867. package/resources/local/page-agent/packages/extension/components.json +24 -0
  2868. package/resources/local/page-agent/packages/extension/docs/extension_api.md +224 -0
  2869. package/resources/local/page-agent/packages/extension/package.json +51 -0
  2870. package/resources/local/page-agent/packages/extension/public/_locales/en/messages.json +11 -0
  2871. package/resources/local/page-agent/packages/extension/public/_locales/zh_CN/messages.json +11 -0
  2872. package/resources/local/page-agent/packages/extension/public/assets/page-agent-256.webp +0 -0
  2873. package/resources/local/page-agent/packages/extension/public/assets/page-agent-64.png +0 -0
  2874. package/resources/local/page-agent/packages/extension/src/agent/MultiPageAgent.ts +102 -0
  2875. package/resources/local/page-agent/packages/extension/src/agent/RemotePageController.background.ts +42 -0
  2876. package/resources/local/page-agent/packages/extension/src/agent/RemotePageController.content.ts +135 -0
  2877. package/resources/local/page-agent/packages/extension/src/agent/RemotePageController.ts +194 -0
  2878. package/resources/local/page-agent/packages/extension/src/agent/TabsController.background.ts +169 -0
  2879. package/resources/local/page-agent/packages/extension/src/agent/TabsController.ts +421 -0
  2880. package/resources/local/page-agent/packages/extension/src/agent/constants.ts +30 -0
  2881. package/resources/local/page-agent/packages/extension/src/agent/system_prompt.md +145 -0
  2882. package/resources/local/page-agent/packages/extension/src/agent/tabTools.ts +74 -0
  2883. package/resources/local/page-agent/packages/extension/src/agent/useAgent.ts +161 -0
  2884. package/resources/local/page-agent/packages/extension/src/assets/index.css +158 -0
  2885. package/resources/local/page-agent/packages/extension/src/assets/page-agent-64.png +0 -0
  2886. package/resources/local/page-agent/packages/extension/src/components/ConfigPanel.tsx +402 -0
  2887. package/resources/local/page-agent/packages/extension/src/components/ErrorBoundary.tsx +60 -0
  2888. package/resources/local/page-agent/packages/extension/src/components/HistoryDetail.tsx +79 -0
  2889. package/resources/local/page-agent/packages/extension/src/components/HistoryList.tsx +181 -0
  2890. package/resources/local/page-agent/packages/extension/src/components/cards.tsx +387 -0
  2891. package/resources/local/page-agent/packages/extension/src/components/misc.tsx +153 -0
  2892. package/resources/local/page-agent/packages/extension/src/components/ui/button.tsx +60 -0
  2893. package/resources/local/page-agent/packages/extension/src/components/ui/card.tsx +75 -0
  2894. package/resources/local/page-agent/packages/extension/src/components/ui/field.tsx +232 -0
  2895. package/resources/local/page-agent/packages/extension/src/components/ui/hover-card.tsx +36 -0
  2896. package/resources/local/page-agent/packages/extension/src/components/ui/input-group.tsx +157 -0
  2897. package/resources/local/page-agent/packages/extension/src/components/ui/input.tsx +21 -0
  2898. package/resources/local/page-agent/packages/extension/src/components/ui/item.tsx +172 -0
  2899. package/resources/local/page-agent/packages/extension/src/components/ui/label.tsx +19 -0
  2900. package/resources/local/page-agent/packages/extension/src/components/ui/separator.tsx +26 -0
  2901. package/resources/local/page-agent/packages/extension/src/components/ui/sonner.tsx +38 -0
  2902. package/resources/local/page-agent/packages/extension/src/components/ui/spinner.tsx +16 -0
  2903. package/resources/local/page-agent/packages/extension/src/components/ui/switch.tsx +26 -0
  2904. package/resources/local/page-agent/packages/extension/src/components/ui/textarea.tsx +18 -0
  2905. package/resources/local/page-agent/packages/extension/src/components/ui/typing-animation.tsx +164 -0
  2906. package/resources/local/page-agent/packages/extension/src/entrypoints/background.ts +63 -0
  2907. package/resources/local/page-agent/packages/extension/src/entrypoints/content.ts +164 -0
  2908. package/resources/local/page-agent/packages/extension/src/entrypoints/hub/App.tsx +250 -0
  2909. package/resources/local/page-agent/packages/extension/src/entrypoints/hub/hub-ws.ts +243 -0
  2910. package/resources/local/page-agent/packages/extension/src/entrypoints/hub/index.html +13 -0
  2911. package/resources/local/page-agent/packages/extension/src/entrypoints/hub/main.tsx +25 -0
  2912. package/resources/local/page-agent/packages/extension/src/entrypoints/main-world.ts +131 -0
  2913. package/resources/local/page-agent/packages/extension/src/entrypoints/sidepanel/App.tsx +235 -0
  2914. package/resources/local/page-agent/packages/extension/src/entrypoints/sidepanel/index.html +13 -0
  2915. package/resources/local/page-agent/packages/extension/src/entrypoints/sidepanel/main.tsx +26 -0
  2916. package/resources/local/page-agent/packages/extension/src/lib/db.ts +70 -0
  2917. package/resources/local/page-agent/packages/extension/src/lib/history-export.ts +60 -0
  2918. package/resources/local/page-agent/packages/extension/src/lib/utils.ts +6 -0
  2919. package/resources/local/page-agent/packages/extension/src/types/assets.d.ts +25 -0
  2920. package/resources/local/page-agent/packages/extension/src/types/globals.d.ts +1 -0
  2921. package/resources/local/page-agent/packages/extension/src/types/markdown.d.ts +4 -0
  2922. package/resources/local/page-agent/packages/extension/tsconfig.json +13 -0
  2923. package/resources/local/page-agent/packages/extension/wxt.config.js +69 -0
  2924. package/resources/local/page-agent/packages/llms/package.json +58 -0
  2925. package/resources/local/page-agent/packages/llms/src/OpenAIClient.ts +242 -0
  2926. package/resources/local/page-agent/packages/llms/src/constants.ts +3 -0
  2927. package/resources/local/page-agent/packages/llms/src/errors.ts +58 -0
  2928. package/resources/local/page-agent/packages/llms/src/index.ts +114 -0
  2929. package/resources/local/page-agent/packages/llms/src/types.ts +120 -0
  2930. package/resources/local/page-agent/packages/llms/src/utils.ts +152 -0
  2931. package/resources/local/page-agent/packages/llms/tsconfig.json +8 -0
  2932. package/resources/local/page-agent/packages/llms/vite.config.js +43 -0
  2933. package/resources/local/page-agent/packages/mcp/README.md +93 -0
  2934. package/resources/local/page-agent/packages/mcp/package.json +35 -0
  2935. package/resources/local/page-agent/packages/mcp/src/hub-bridge.js +139 -0
  2936. package/resources/local/page-agent/packages/mcp/src/index.js +100 -0
  2937. package/resources/local/page-agent/packages/mcp/src/launcher.html +245 -0
  2938. package/resources/local/page-agent/packages/page-agent/package.json +69 -0
  2939. package/resources/local/page-agent/packages/page-agent/src/PageAgent.ts +29 -0
  2940. package/resources/local/page-agent/packages/page-agent/src/demo.ts +55 -0
  2941. package/resources/local/page-agent/packages/page-agent/src/env.d.ts +9 -0
  2942. package/resources/local/page-agent/packages/page-agent/tsconfig.json +8 -0
  2943. package/resources/local/page-agent/packages/page-agent/vite.config.js +50 -0
  2944. package/resources/local/page-agent/packages/page-agent/vite.iife.config.js +49 -0
  2945. package/resources/local/page-agent/packages/page-controller/package.json +51 -0
  2946. package/resources/local/page-agent/packages/page-controller/src/PageController.ts +433 -0
  2947. package/resources/local/page-agent/packages/page-controller/src/actions.ts +552 -0
  2948. package/resources/local/page-agent/packages/page-controller/src/dom/dom_tree/index.d.ts +16 -0
  2949. package/resources/local/page-agent/packages/page-controller/src/dom/dom_tree/index.js +1753 -0
  2950. package/resources/local/page-agent/packages/page-controller/src/dom/dom_tree/type.ts +51 -0
  2951. package/resources/local/page-agent/packages/page-controller/src/dom/getPageInfo.ts +42 -0
  2952. package/resources/local/page-agent/packages/page-controller/src/dom/index.ts +569 -0
  2953. package/resources/local/page-agent/packages/page-controller/src/env.d.ts +6 -0
  2954. package/resources/local/page-agent/packages/page-controller/src/mask/SimulatorMask.module.css +13 -0
  2955. package/resources/local/page-agent/packages/page-controller/src/mask/SimulatorMask.ts +217 -0
  2956. package/resources/local/page-agent/packages/page-controller/src/mask/checkDarkMode.ts +115 -0
  2957. package/resources/local/page-agent/packages/page-controller/src/mask/cursor-border.svg +3 -0
  2958. package/resources/local/page-agent/packages/page-controller/src/mask/cursor-fill.svg +5 -0
  2959. package/resources/local/page-agent/packages/page-controller/src/mask/cursor.module.css +70 -0
  2960. package/resources/local/page-agent/packages/page-controller/src/patches/antd.ts +20 -0
  2961. package/resources/local/page-agent/packages/page-controller/src/patches/react.ts +16 -0
  2962. package/resources/local/page-agent/packages/page-controller/src/utils/index.ts +80 -0
  2963. package/resources/local/page-agent/packages/page-controller/tsconfig.json +8 -0
  2964. package/resources/local/page-agent/packages/page-controller/vite.config.js +50 -0
  2965. package/resources/local/page-agent/packages/ui/package.json +48 -0
  2966. package/resources/local/page-agent/packages/ui/src/env.d.ts +6 -0
  2967. package/resources/local/page-agent/packages/ui/src/i18n/index.ts +50 -0
  2968. package/resources/local/page-agent/packages/ui/src/i18n/locales.ts +122 -0
  2969. package/resources/local/page-agent/packages/ui/src/index.ts +2 -0
  2970. package/resources/local/page-agent/packages/ui/src/motion-css/createMotion.ts +64 -0
  2971. package/resources/local/page-agent/packages/ui/src/motion-css/motion.module.css +397 -0
  2972. package/resources/local/page-agent/packages/ui/src/motion-css/readme +5 -0
  2973. package/resources/local/page-agent/packages/ui/src/panel/Panel.module.css +601 -0
  2974. package/resources/local/page-agent/packages/ui/src/panel/Panel.ts +669 -0
  2975. package/resources/local/page-agent/packages/ui/src/panel/cards.ts +52 -0
  2976. package/resources/local/page-agent/packages/ui/src/panel/types.ts +76 -0
  2977. package/resources/local/page-agent/packages/ui/src/utils.ts +18 -0
  2978. package/resources/local/page-agent/packages/ui/tsconfig.json +8 -0
  2979. package/resources/local/page-agent/packages/ui/vite.config.js +46 -0
  2980. package/resources/local/page-agent/packages/website/AGENTS.md +127 -0
  2981. package/resources/local/page-agent/packages/website/components.json +24 -0
  2982. package/resources/local/page-agent/packages/website/index.html +95 -0
  2983. package/resources/local/page-agent/packages/website/package.json +34 -0
  2984. package/resources/local/page-agent/packages/website/public/robots.txt +4 -0
  2985. package/resources/local/page-agent/packages/website/src/components/APIReference.tsx +175 -0
  2986. package/resources/local/page-agent/packages/website/src/components/BetaNotice.tsx +25 -0
  2987. package/resources/local/page-agent/packages/website/src/components/CodeEditor.tsx +129 -0
  2988. package/resources/local/page-agent/packages/website/src/components/Footer.tsx +77 -0
  2989. package/resources/local/page-agent/packages/website/src/components/Header.tsx +188 -0
  2990. package/resources/local/page-agent/packages/website/src/components/Heading.tsx +46 -0
  2991. package/resources/local/page-agent/packages/website/src/components/HighlightSyntax.module.css +128 -0
  2992. package/resources/local/page-agent/packages/website/src/components/HighlightSyntax.tsx +175 -0
  2993. package/resources/local/page-agent/packages/website/src/components/JSConsole.module.css +164 -0
  2994. package/resources/local/page-agent/packages/website/src/components/JSConsole.tsx +371 -0
  2995. package/resources/local/page-agent/packages/website/src/components/LanguageSwitcher.tsx +114 -0
  2996. package/resources/local/page-agent/packages/website/src/components/ThemeSwitcher.tsx +134 -0
  2997. package/resources/local/page-agent/packages/website/src/components/ui/alert.tsx +60 -0
  2998. package/resources/local/page-agent/packages/website/src/components/ui/animated-gradient-text.tsx +37 -0
  2999. package/resources/local/page-agent/packages/website/src/components/ui/animated-shiny-text.tsx +38 -0
  3000. package/resources/local/page-agent/packages/website/src/components/ui/aurora-text.tsx +39 -0
  3001. package/resources/local/page-agent/packages/website/src/components/ui/badge.tsx +37 -0
  3002. package/resources/local/page-agent/packages/website/src/components/ui/bento-grid.tsx +91 -0
  3003. package/resources/local/page-agent/packages/website/src/components/ui/blur-fade.tsx +79 -0
  3004. package/resources/local/page-agent/packages/website/src/components/ui/button.tsx +60 -0
  3005. package/resources/local/page-agent/packages/website/src/components/ui/highlighter.tsx +92 -0
  3006. package/resources/local/page-agent/packages/website/src/components/ui/hyper-text.tsx +140 -0
  3007. package/resources/local/page-agent/packages/website/src/components/ui/kbd.tsx +28 -0
  3008. package/resources/local/page-agent/packages/website/src/components/ui/magic-card.tsx +101 -0
  3009. package/resources/local/page-agent/packages/website/src/components/ui/marquee.tsx +74 -0
  3010. package/resources/local/page-agent/packages/website/src/components/ui/neon-gradient-card.tsx +136 -0
  3011. package/resources/local/page-agent/packages/website/src/components/ui/particles.tsx +297 -0
  3012. package/resources/local/page-agent/packages/website/src/components/ui/separator.tsx +26 -0
  3013. package/resources/local/page-agent/packages/website/src/components/ui/sonner.tsx +38 -0
  3014. package/resources/local/page-agent/packages/website/src/components/ui/sparkles-text.tsx +150 -0
  3015. package/resources/local/page-agent/packages/website/src/components/ui/spinner.tsx +16 -0
  3016. package/resources/local/page-agent/packages/website/src/components/ui/switch.tsx +26 -0
  3017. package/resources/local/page-agent/packages/website/src/components/ui/text-animate.tsx +417 -0
  3018. package/resources/local/page-agent/packages/website/src/components/ui/tooltip.tsx +55 -0
  3019. package/resources/local/page-agent/packages/website/src/components/ui/typing-animation.tsx +164 -0
  3020. package/resources/local/page-agent/packages/website/src/constants.ts +10 -0
  3021. package/resources/local/page-agent/packages/website/src/env.d.ts +10 -0
  3022. package/resources/local/page-agent/packages/website/src/hooks/useGitHubStars.ts +27 -0
  3023. package/resources/local/page-agent/packages/website/src/i18n/context.tsx +34 -0
  3024. package/resources/local/page-agent/packages/website/src/index.css +471 -0
  3025. package/resources/local/page-agent/packages/website/src/lib/useDocumentTitle.ts +9 -0
  3026. package/resources/local/page-agent/packages/website/src/lib/utils.ts +6 -0
  3027. package/resources/local/page-agent/packages/website/src/main.tsx +22 -0
  3028. package/resources/local/page-agent/packages/website/src/pages/docs/Layout.tsx +140 -0
  3029. package/resources/local/page-agent/packages/website/src/pages/docs/advanced/custom-ui/page.tsx +271 -0
  3030. package/resources/local/page-agent/packages/website/src/pages/docs/advanced/page-agent/page.tsx +224 -0
  3031. package/resources/local/page-agent/packages/website/src/pages/docs/advanced/page-agent-core/page.tsx +492 -0
  3032. package/resources/local/page-agent/packages/website/src/pages/docs/advanced/page-controller/page.tsx +294 -0
  3033. package/resources/local/page-agent/packages/website/src/pages/docs/advanced/security-permissions/page.tsx +89 -0
  3034. package/resources/local/page-agent/packages/website/src/pages/docs/features/chrome-extension/page.tsx +314 -0
  3035. package/resources/local/page-agent/packages/website/src/pages/docs/features/custom-instructions/page.tsx +136 -0
  3036. package/resources/local/page-agent/packages/website/src/pages/docs/features/custom-tools/page.tsx +112 -0
  3037. package/resources/local/page-agent/packages/website/src/pages/docs/features/data-masking/page.tsx +74 -0
  3038. package/resources/local/page-agent/packages/website/src/pages/docs/features/mcp-server/page.tsx +70 -0
  3039. package/resources/local/page-agent/packages/website/src/pages/docs/features/models/page.tsx +457 -0
  3040. package/resources/local/page-agent/packages/website/src/pages/docs/features/third-party-agent/page.tsx +99 -0
  3041. package/resources/local/page-agent/packages/website/src/pages/docs/index.tsx +130 -0
  3042. package/resources/local/page-agent/packages/website/src/pages/docs/introduction/limitations/page.tsx +158 -0
  3043. package/resources/local/page-agent/packages/website/src/pages/docs/introduction/overview/page.tsx +233 -0
  3044. package/resources/local/page-agent/packages/website/src/pages/docs/introduction/quick-start/page.tsx +134 -0
  3045. package/resources/local/page-agent/packages/website/src/pages/docs/introduction/troubleshooting/page.tsx +430 -0
  3046. package/resources/local/page-agent/packages/website/src/pages/home/FeaturesSection.tsx +233 -0
  3047. package/resources/local/page-agent/packages/website/src/pages/home/HeroSection.tsx +417 -0
  3048. package/resources/local/page-agent/packages/website/src/pages/home/OneMoreThingSection.tsx +114 -0
  3049. package/resources/local/page-agent/packages/website/src/pages/home/ScenariosSection.tsx +165 -0
  3050. package/resources/local/page-agent/packages/website/src/pages/home/index.tsx +31 -0
  3051. package/resources/local/page-agent/packages/website/src/router.tsx +72 -0
  3052. package/resources/local/page-agent/packages/website/tailwind.config.js +3 -0
  3053. package/resources/local/page-agent/packages/website/tsconfig.json +11 -0
  3054. package/resources/local/page-agent/packages/website/vite.config.js +106 -0
  3055. package/resources/local/page-agent/scripts/build-libs.js +25 -0
  3056. package/resources/local/page-agent/scripts/build.js +45 -0
  3057. package/resources/local/page-agent/scripts/ci.js +55 -0
  3058. package/resources/local/page-agent/scripts/parallel-task.js +115 -0
  3059. package/resources/local/page-agent/scripts/post-publish.js +30 -0
  3060. package/resources/local/page-agent/scripts/pre-publish.js +42 -0
  3061. package/resources/local/page-agent/scripts/sync-version.js +144 -0
  3062. package/resources/local/page-agent/tsconfig.base.json +30 -0
  3063. package/resources/local/page-agent/tsconfig.typecheck.json +25 -0
  3064. package/scripts/audit-pack.js +47 -0
  3065. package/src/agent/agent-definitions.js +154 -0
  3066. package/src/agent/runtime.js +243 -0
  3067. package/src/ai/capability-scorecard.js +241 -0
  3068. package/src/ai/model-capabilities.js +2 -1
  3069. package/src/ai/orchestrator.js +478 -0
  3070. package/src/ai/profile-blueprints.js +135 -0
  3071. package/src/ai/prompts/system-prompt.js +15 -46
  3072. package/src/ai/providers.js +120 -7
  3073. package/src/ai/small-model-amplifier.js +25 -0
  3074. package/src/ai/workflow-selector.js +154 -0
  3075. package/src/cli/at-context.js +269 -0
  3076. package/src/cli/commands.js +813 -0
  3077. package/src/cli/composer.js +361 -0
  3078. package/src/cli/config.js +12 -1
  3079. package/src/cli/context-loader.js +20 -3
  3080. package/src/cli/conversation-format.js +11 -210
  3081. package/src/cli/diagnostics.js +101 -0
  3082. package/src/cli/diff-view.js +341 -0
  3083. package/src/cli/ecc.js +274 -0
  3084. package/src/cli/input-controller.js +263 -0
  3085. package/src/cli/project-docs.js +2 -0
  3086. package/src/cli/prompt-builder.js +58 -13
  3087. package/src/cli/repl-commands.js +358 -10
  3088. package/src/cli/repl.js +1071 -331
  3089. package/src/cli/slash-commands.js +22 -1
  3090. package/src/cli/snowflake-logo.js +20 -10
  3091. package/src/cli/terminal-ui.js +92 -40
  3092. package/src/cli/tool-call-adapter.js +327 -0
  3093. package/src/cli/tool-runtime.js +115 -0
  3094. package/src/codebase-index/codegraph-adapter.js +154 -0
  3095. package/src/codebase-index/indexer.js +402 -0
  3096. package/src/codebase-index/search.js +205 -0
  3097. package/src/codebase-index/watcher.js +117 -0
  3098. package/src/context/router.js +4 -41
  3099. package/src/context/token-juice.js +166 -0
  3100. package/src/context/wiki-memory.js +212 -0
  3101. package/src/integrations/htmlfx-manager.js +111 -0
  3102. package/src/mcp/inline-complete.js +226 -0
  3103. package/src/tools/executor.js +188 -1
@@ -0,0 +1,1753 @@
1
+ /**
2
+ * @file port from browser-use
3
+ * @see https://github.com/browser-use/browser-use/commits/main/browser_use/dom/dom_tree/index.js
4
+ * @match 0.5.9 d51b6e73daff7165fdd3e44debd667e7f5f7fdc5
5
+ *
6
+ * search @edit for all the changed lines.
7
+ *
8
+ * @edit export
9
+ * @edit add interactiveBlacklist interactiveWhitelist
10
+ * @edit adjustable opacity
11
+ * @edit direct dom ref
12
+ * @edit @workaround input.checked
13
+ * @edit smaller zIndex for highlight
14
+ * @edit no need for xpath
15
+ * @edit add `extra` field for extra data
16
+ * @edit scrollable element detection
17
+ * @edit add `data-browser-use-ignore` attribute
18
+ * @edit improve `sampleRect`, filter out rects with 0 area
19
+ * @edit exclude aria-hidden elements
20
+ * @edit make sure attributes exist for interactive candidates.
21
+ * @edit fix "aria-*" attributes check
22
+ */
23
+
24
+ export default (
25
+ args = {
26
+ doHighlightElements: true,
27
+ focusHighlightIndex: -1,
28
+ viewportExpansion: 0,
29
+ debugMode: false,
30
+
31
+ /**
32
+ * @edit
33
+ */
34
+ /** @type {Element[]} */
35
+ interactiveBlacklist: [],
36
+ /** @type {Element[]} */
37
+ interactiveWhitelist: [],
38
+ highlightOpacity: 0.1,
39
+ highlightLabelOpacity: 0.5,
40
+ }
41
+ ) => {
42
+ /**
43
+ * @edit
44
+ */
45
+ const { interactiveBlacklist, interactiveWhitelist, highlightOpacity, highlightLabelOpacity } =
46
+ args
47
+
48
+ const { doHighlightElements, focusHighlightIndex, viewportExpansion, debugMode } = args
49
+ let highlightIndex = 0 // Reset highlight index
50
+
51
+ /**
52
+ * @edit add `extra` field for extra data
53
+ */
54
+ const extraData = new WeakMap()
55
+ function addExtraData(element, data) {
56
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) return
57
+ extraData.set(element, { ...extraData.get(element), ...data })
58
+ }
59
+
60
+ // Add caching mechanisms at the top level
61
+ const DOM_CACHE = {
62
+ boundingRects: new WeakMap(),
63
+ clientRects: new WeakMap(),
64
+ computedStyles: new WeakMap(),
65
+ clearCache: () => {
66
+ DOM_CACHE.boundingRects = new WeakMap()
67
+ DOM_CACHE.clientRects = new WeakMap()
68
+ DOM_CACHE.computedStyles = new WeakMap()
69
+ },
70
+ }
71
+
72
+ /**
73
+ * Gets the cached bounding rect for an element.
74
+ *
75
+ * @param {HTMLElement} element - The element to get the bounding rect for.
76
+ * @returns {DOMRect | null} The cached bounding rect, or null if the element is not found.
77
+ */
78
+ function getCachedBoundingRect(element) {
79
+ if (!element) return null
80
+
81
+ if (DOM_CACHE.boundingRects.has(element)) {
82
+ return DOM_CACHE.boundingRects.get(element)
83
+ }
84
+
85
+ const rect = element.getBoundingClientRect()
86
+
87
+ if (rect) {
88
+ DOM_CACHE.boundingRects.set(element, rect)
89
+ }
90
+ return rect
91
+ }
92
+
93
+ /**
94
+ * Gets the cached computed style for an element.
95
+ *
96
+ * @param {HTMLElement} element - The element to get the computed style for.
97
+ * @returns {CSSStyleDeclaration | null} The cached computed style, or null if the element is not found.
98
+ */
99
+ function getCachedComputedStyle(element) {
100
+ if (!element) return null
101
+
102
+ if (DOM_CACHE.computedStyles.has(element)) {
103
+ return DOM_CACHE.computedStyles.get(element)
104
+ }
105
+
106
+ const style = window.getComputedStyle(element)
107
+
108
+ if (style) {
109
+ DOM_CACHE.computedStyles.set(element, style)
110
+ }
111
+ return style
112
+ }
113
+
114
+ /**
115
+ * Gets the cached client rects for an element.
116
+ *
117
+ * @param {HTMLElement} element - The element to get the client rects for.
118
+ * @returns {DOMRectList | null} The cached client rects, or null if the element is not found.
119
+ */
120
+ function getCachedClientRects(element) {
121
+ if (!element) return null
122
+
123
+ if (DOM_CACHE.clientRects.has(element)) {
124
+ return DOM_CACHE.clientRects.get(element)
125
+ }
126
+
127
+ const rects = element.getClientRects()
128
+
129
+ if (rects) {
130
+ DOM_CACHE.clientRects.set(element, rects)
131
+ }
132
+ return rects
133
+ }
134
+
135
+ /**
136
+ * Hash map of DOM nodes indexed by their highlight index.
137
+ *
138
+ * @type {Object<string, any>}
139
+ */
140
+ const DOM_HASH_MAP = {}
141
+
142
+ const ID = { current: 0 }
143
+
144
+ const HIGHLIGHT_CONTAINER_ID = 'playwright-highlight-container'
145
+
146
+ // Add a WeakMap cache for XPath strings
147
+ const xpathCache = new WeakMap()
148
+
149
+ // // Initialize once and reuse
150
+ // const viewportObserver = new IntersectionObserver(
151
+ // (entries) => {
152
+ // entries.forEach(entry => {
153
+ // elementVisibilityMap.set(entry.target, entry.isIntersecting);
154
+ // });
155
+ // },
156
+ // { rootMargin: `${viewportExpansion}px` }
157
+ // );
158
+
159
+ /**
160
+ * Highlights an element in the DOM and returns the index of the next element.
161
+ *
162
+ * @param {HTMLElement} element - The element to highlight.
163
+ * @param {number} index - The index of the element.
164
+ * @param {HTMLElement | null} parentIframe - The parent iframe node.
165
+ * @returns {number} The index of the next element.
166
+ */
167
+ function highlightElement(element, index, parentIframe = null) {
168
+ if (!element) return index
169
+
170
+ const overlays = []
171
+ /**
172
+ * @type {HTMLElement | null}
173
+ */
174
+ let label = null
175
+ let labelWidth = 20
176
+ let labelHeight = 16
177
+ let cleanupFn = null
178
+
179
+ try {
180
+ // Create or get highlight container
181
+ let container = document.getElementById(HIGHLIGHT_CONTAINER_ID)
182
+ if (!container) {
183
+ container = document.createElement('div')
184
+ container.id = HIGHLIGHT_CONTAINER_ID
185
+ container.style.position = 'fixed'
186
+ container.style.pointerEvents = 'none'
187
+ container.style.top = '0'
188
+ container.style.left = '0'
189
+ container.style.width = '100%'
190
+ container.style.height = '100%'
191
+
192
+ /**
193
+ * @edit smaller zIndex for highlight
194
+ */
195
+ // Use the maximum valid value in zIndex to ensure the element is not blocked by overlapping elements.
196
+ // container.style.zIndex = "2147483647";
197
+ container.style.zIndex = '2147483640'
198
+
199
+ container.style.backgroundColor = 'transparent'
200
+ document.body.appendChild(container)
201
+ }
202
+
203
+ // Get element client rects
204
+ const rects = element.getClientRects() // Use getClientRects()
205
+
206
+ if (!rects || rects.length === 0) return index // Exit if no rects
207
+
208
+ // Generate a color based on the index
209
+ const colors = [
210
+ '#FF0000',
211
+ '#00FF00',
212
+ '#0000FF',
213
+ '#FFA500',
214
+ '#800080',
215
+ '#008080',
216
+ '#FF69B4',
217
+ '#4B0082',
218
+ '#FF4500',
219
+ '#2E8B57',
220
+ '#DC143C',
221
+ '#4682B4',
222
+ ]
223
+ const colorIndex = index % colors.length
224
+ let baseColor = colors[colorIndex]
225
+
226
+ /**
227
+ * @edit adjustable opacity
228
+ */
229
+ // const backgroundColor = baseColor + "1A"; // 10% opacity version of the color
230
+ const backgroundColor =
231
+ baseColor +
232
+ Math.floor(highlightOpacity * 255)
233
+ .toString(16)
234
+ .padStart(2, '0')
235
+ baseColor =
236
+ baseColor +
237
+ Math.floor(highlightLabelOpacity * 255)
238
+ .toString(16)
239
+ .padStart(2, '0')
240
+
241
+ // Get iframe offset if necessary
242
+ let iframeOffset = { x: 0, y: 0 }
243
+ if (parentIframe) {
244
+ const iframeRect = parentIframe.getBoundingClientRect() // Keep getBoundingClientRect for iframe offset
245
+ iframeOffset.x = iframeRect.left
246
+ iframeOffset.y = iframeRect.top
247
+ }
248
+
249
+ // Create fragment to hold overlay elements
250
+ const fragment = document.createDocumentFragment()
251
+
252
+ // Create highlight overlays for each client rect
253
+ for (const rect of rects) {
254
+ if (rect.width === 0 || rect.height === 0) continue // Skip empty rects
255
+
256
+ const overlay = document.createElement('div')
257
+ overlay.style.position = 'fixed'
258
+ overlay.style.border = `2px solid ${baseColor}`
259
+ overlay.style.backgroundColor = backgroundColor
260
+ overlay.style.pointerEvents = 'none'
261
+ overlay.style.boxSizing = 'border-box'
262
+
263
+ const top = rect.top + iframeOffset.y
264
+ const left = rect.left + iframeOffset.x
265
+
266
+ overlay.style.top = `${top}px`
267
+ overlay.style.left = `${left}px`
268
+ overlay.style.width = `${rect.width}px`
269
+ overlay.style.height = `${rect.height}px`
270
+
271
+ fragment.appendChild(overlay)
272
+ overlays.push({ element: overlay, initialRect: rect }) // Store overlay and its rect
273
+ }
274
+
275
+ // Create and position a single label relative to the first rect
276
+ const firstRect = rects[0]
277
+ label = document.createElement('div')
278
+ label.className = 'playwright-highlight-label'
279
+ label.style.position = 'fixed'
280
+ label.style.background = baseColor
281
+ label.style.color = 'white'
282
+ label.style.padding = '1px 4px'
283
+ label.style.borderRadius = '4px'
284
+ label.style.fontSize = `${Math.min(12, Math.max(8, firstRect.height / 2))}px`
285
+ label.textContent = index.toString()
286
+
287
+ labelWidth = label.offsetWidth > 0 ? label.offsetWidth : labelWidth // Update actual width if possible
288
+ labelHeight = label.offsetHeight > 0 ? label.offsetHeight : labelHeight // Update actual height if possible
289
+
290
+ const firstRectTop = firstRect.top + iframeOffset.y
291
+ const firstRectLeft = firstRect.left + iframeOffset.x
292
+
293
+ let labelTop = firstRectTop + 2
294
+ let labelLeft = firstRectLeft + firstRect.width - labelWidth - 2
295
+
296
+ // Adjust label position if first rect is too small
297
+ if (firstRect.width < labelWidth + 4 || firstRect.height < labelHeight + 4) {
298
+ labelTop = firstRectTop - labelHeight - 2
299
+ labelLeft = firstRectLeft + firstRect.width - labelWidth // Align with right edge
300
+ if (labelLeft < iframeOffset.x) labelLeft = firstRectLeft // Prevent going off-left
301
+ }
302
+
303
+ // Ensure label stays within viewport bounds slightly better
304
+ labelTop = Math.max(0, Math.min(labelTop, window.innerHeight - labelHeight))
305
+ labelLeft = Math.max(0, Math.min(labelLeft, window.innerWidth - labelWidth))
306
+
307
+ label.style.top = `${labelTop}px`
308
+ label.style.left = `${labelLeft}px`
309
+
310
+ fragment.appendChild(label)
311
+
312
+ // Update positions on scroll/resize
313
+ const updatePositions = () => {
314
+ const newRects = element.getClientRects() // Get fresh rects
315
+ let newIframeOffset = { x: 0, y: 0 }
316
+
317
+ if (parentIframe) {
318
+ const iframeRect = parentIframe.getBoundingClientRect() // Keep getBoundingClientRect for iframe
319
+ newIframeOffset.x = iframeRect.left
320
+ newIframeOffset.y = iframeRect.top
321
+ }
322
+
323
+ // Update each overlay
324
+ overlays.forEach((overlayData, i) => {
325
+ if (i < newRects.length) {
326
+ // Check if rect still exists
327
+ const newRect = newRects[i]
328
+ const newTop = newRect.top + newIframeOffset.y
329
+ const newLeft = newRect.left + newIframeOffset.x
330
+
331
+ overlayData.element.style.top = `${newTop}px`
332
+ overlayData.element.style.left = `${newLeft}px`
333
+ overlayData.element.style.width = `${newRect.width}px`
334
+ overlayData.element.style.height = `${newRect.height}px`
335
+ overlayData.element.style.display =
336
+ newRect.width === 0 || newRect.height === 0 ? 'none' : 'block'
337
+ } else {
338
+ // If fewer rects now, hide extra overlays
339
+ overlayData.element.style.display = 'none'
340
+ }
341
+ })
342
+
343
+ // If there are fewer new rects than overlays, hide the extras
344
+ if (newRects.length < overlays.length) {
345
+ for (let i = newRects.length; i < overlays.length; i++) {
346
+ overlays[i].element.style.display = 'none'
347
+ }
348
+ }
349
+
350
+ // Update label position based on the first new rect
351
+ if (label && newRects.length > 0) {
352
+ const firstNewRect = newRects[0]
353
+ const firstNewRectTop = firstNewRect.top + newIframeOffset.y
354
+ const firstNewRectLeft = firstNewRect.left + newIframeOffset.x
355
+
356
+ let newLabelTop = firstNewRectTop + 2
357
+ let newLabelLeft = firstNewRectLeft + firstNewRect.width - labelWidth - 2
358
+
359
+ if (firstNewRect.width < labelWidth + 4 || firstNewRect.height < labelHeight + 4) {
360
+ newLabelTop = firstNewRectTop - labelHeight - 2
361
+ newLabelLeft = firstNewRectLeft + firstNewRect.width - labelWidth
362
+ if (newLabelLeft < newIframeOffset.x) newLabelLeft = firstNewRectLeft
363
+ }
364
+
365
+ // Ensure label stays within viewport bounds
366
+ newLabelTop = Math.max(0, Math.min(newLabelTop, window.innerHeight - labelHeight))
367
+ newLabelLeft = Math.max(0, Math.min(newLabelLeft, window.innerWidth - labelWidth))
368
+
369
+ label.style.top = `${newLabelTop}px`
370
+ label.style.left = `${newLabelLeft}px`
371
+ label.style.display = 'block'
372
+ } else if (label) {
373
+ // Hide label if element has no rects anymore
374
+ label.style.display = 'none'
375
+ }
376
+ }
377
+
378
+ const throttleFunction = (func, delay) => {
379
+ let lastCall = 0
380
+ return (...args) => {
381
+ const now = performance.now()
382
+ if (now - lastCall < delay) return
383
+ lastCall = now
384
+ return func(...args)
385
+ }
386
+ }
387
+
388
+ const throttledUpdatePositions = throttleFunction(updatePositions, 16) // ~60fps
389
+ window.addEventListener('scroll', throttledUpdatePositions, true)
390
+ window.addEventListener('resize', throttledUpdatePositions)
391
+
392
+ // Add cleanup function
393
+ cleanupFn = () => {
394
+ window.removeEventListener('scroll', throttledUpdatePositions, true)
395
+ window.removeEventListener('resize', throttledUpdatePositions)
396
+ // Remove overlay elements if needed
397
+ overlays.forEach((overlay) => overlay.element.remove())
398
+ if (label) label.remove()
399
+ }
400
+
401
+ // Then add fragment to container in one operation
402
+ container.appendChild(fragment)
403
+
404
+ return index + 1
405
+ } finally {
406
+ // Store cleanup function for later use
407
+ if (cleanupFn) {
408
+ // Keep a reference to cleanup functions in a global array
409
+ ;(window._highlightCleanupFunctions = window._highlightCleanupFunctions || []).push(
410
+ cleanupFn
411
+ )
412
+ }
413
+ }
414
+ }
415
+
416
+ // // Add this function to perform cleanup when needed
417
+ // function cleanupHighlights() {
418
+ // if (window._highlightCleanupFunctions && window._highlightCleanupFunctions.length) {
419
+ // window._highlightCleanupFunctions.forEach(fn => fn());
420
+ // window._highlightCleanupFunctions = [];
421
+ // }
422
+
423
+ // // Also remove the container
424
+ // const container = document.getElementById(HIGHLIGHT_CONTAINER_ID);
425
+ // if (container) container.remove();
426
+ // }
427
+
428
+ /**
429
+ * Gets the position of an element in its parent.
430
+ *
431
+ * @param {HTMLElement} currentElement - The element to get the position for.
432
+ * @returns {number} The position of the element in its parent.
433
+ */
434
+ function getElementPosition(currentElement) {
435
+ if (!currentElement.parentElement) {
436
+ return 0 // No parent means no siblings
437
+ }
438
+
439
+ const tagName = currentElement.nodeName.toLowerCase()
440
+
441
+ const siblings = Array.from(currentElement.parentElement.children).filter(
442
+ (sib) => sib.nodeName.toLowerCase() === tagName
443
+ )
444
+
445
+ if (siblings.length === 1) {
446
+ return 0 // Only element of its type
447
+ }
448
+
449
+ const index = siblings.indexOf(currentElement) + 1 // 1-based index
450
+ return index
451
+ }
452
+
453
+ function getXPathTree(element, stopAtBoundary = true) {
454
+ if (xpathCache.has(element)) return xpathCache.get(element)
455
+
456
+ const segments = []
457
+ let currentElement = element
458
+
459
+ while (currentElement && currentElement.nodeType === Node.ELEMENT_NODE) {
460
+ // Stop if we hit a shadow root or iframe
461
+ if (
462
+ stopAtBoundary &&
463
+ (currentElement.parentNode instanceof ShadowRoot ||
464
+ currentElement.parentNode instanceof HTMLIFrameElement)
465
+ ) {
466
+ break
467
+ }
468
+
469
+ const position = getElementPosition(currentElement)
470
+ const tagName = currentElement.nodeName.toLowerCase()
471
+ const xpathIndex = position > 0 ? `[${position}]` : ''
472
+ segments.unshift(`${tagName}${xpathIndex}`)
473
+
474
+ currentElement = currentElement.parentNode
475
+ }
476
+
477
+ const result = segments.join('/')
478
+ xpathCache.set(element, result)
479
+ return result
480
+ }
481
+
482
+ /**
483
+ * @edit scrollable element detection
484
+ * Checks if an element is scrollable. if so, return the scrollable distance on each direction (left right top bottom). if not return null.
485
+ * @note distance smaller than 4 will be considered as not scrollable.
486
+ * @note only check block elements, not inline elements.
487
+ */
488
+ function isScrollableElement(element) {
489
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) {
490
+ return null // Not a valid element
491
+ }
492
+
493
+ const style = getCachedComputedStyle(element)
494
+ if (!style) return null
495
+
496
+ // Check if the element is a block-level element
497
+ const display = style.display
498
+ if (display === 'inline' || display === 'inline-block') {
499
+ return null // Not a block-level element
500
+ }
501
+
502
+ // Check overflow properties
503
+ const overflowX = style.overflowX
504
+ const overflowY = style.overflowY
505
+
506
+ // scrollbar-width/scrollbar-gutter are only set on elements designed to scroll;
507
+ // their presence signals scroll intent even when overflow is hidden (e.g. overflow: auto on :hover)
508
+ const hasScrollbarSignal =
509
+ (style.scrollbarWidth && style.scrollbarWidth !== 'auto') ||
510
+ (style.scrollbarGutter && style.scrollbarGutter !== 'auto')
511
+
512
+ const scrollableX = overflowX === 'auto' || overflowX === 'scroll'
513
+ const scrollableY = overflowY === 'auto' || overflowY === 'scroll'
514
+
515
+ if (!scrollableX && !scrollableY && !hasScrollbarSignal) {
516
+ return null // Not scrollable in any direction
517
+ }
518
+
519
+ const scrollWidth = element.scrollWidth - element.clientWidth
520
+ const scrollHeight = element.scrollHeight - element.clientHeight
521
+
522
+ // Consider small distances as not scrollable
523
+ const threshold = 4
524
+
525
+ if (scrollWidth < threshold && scrollHeight < threshold) {
526
+ return null // Not scrollable
527
+ }
528
+
529
+ if (!scrollableY && !hasScrollbarSignal && scrollWidth < threshold) {
530
+ return null // Not scrollable horizontally
531
+ }
532
+
533
+ if (!scrollableX && !hasScrollbarSignal && scrollHeight < threshold) {
534
+ return null // Not scrollable vertically
535
+ }
536
+
537
+ const distanceToTop = element.scrollTop
538
+ const distanceToLeft = element.scrollLeft
539
+ const distanceToRight = element.scrollWidth - element.clientWidth - element.scrollLeft
540
+ const distanceToBottom = element.scrollHeight - element.clientHeight - element.scrollTop
541
+
542
+ const scrollData = {
543
+ top: distanceToTop,
544
+ right: distanceToRight,
545
+ bottom: distanceToBottom,
546
+ left: distanceToLeft,
547
+ }
548
+
549
+ // Store extra data for the element
550
+ addExtraData(element, {
551
+ scrollable: true,
552
+ scrollData: scrollData,
553
+ })
554
+
555
+ console.log('scrollData!!!', scrollData)
556
+
557
+ return scrollData
558
+ }
559
+
560
+ /**
561
+ * Checks if a text node is visible.
562
+ *
563
+ * @param {Text} textNode - The text node to check.
564
+ * @returns {boolean} Whether the text node is visible.
565
+ */
566
+ function isTextNodeVisible(textNode) {
567
+ try {
568
+ // Special case: when viewportExpansion is -1, consider all text nodes as visible
569
+ if (viewportExpansion === -1) {
570
+ // Still check parent visibility for basic filtering
571
+ const parentElement = textNode.parentElement
572
+ if (!parentElement) return false
573
+
574
+ try {
575
+ return parentElement.checkVisibility({
576
+ checkOpacity: true,
577
+ checkVisibilityCSS: true,
578
+ })
579
+ } catch (e) {
580
+ // Fallback if checkVisibility is not supported
581
+ const style = window.getComputedStyle(parentElement)
582
+ return style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0'
583
+ }
584
+ }
585
+
586
+ const range = document.createRange()
587
+ range.selectNodeContents(textNode)
588
+ const rects = range.getClientRects() // Use getClientRects for Range
589
+
590
+ if (!rects || rects.length === 0) {
591
+ return false
592
+ }
593
+
594
+ let isAnyRectVisible = false
595
+ let isAnyRectInViewport = false
596
+
597
+ for (const rect of rects) {
598
+ // Check size
599
+ if (rect.width > 0 && rect.height > 0) {
600
+ isAnyRectVisible = true
601
+
602
+ // Viewport check for this rect
603
+ if (
604
+ !(
605
+ rect.bottom < -viewportExpansion ||
606
+ rect.top > window.innerHeight + viewportExpansion ||
607
+ rect.right < -viewportExpansion ||
608
+ rect.left > window.innerWidth + viewportExpansion
609
+ )
610
+ ) {
611
+ isAnyRectInViewport = true
612
+ break // Found a visible rect in viewport, no need to check others
613
+ }
614
+ }
615
+ }
616
+
617
+ if (!isAnyRectVisible || !isAnyRectInViewport) {
618
+ return false
619
+ }
620
+
621
+ // Check parent visibility
622
+ const parentElement = textNode.parentElement
623
+ if (!parentElement) return false
624
+
625
+ try {
626
+ return parentElement.checkVisibility({
627
+ checkOpacity: true,
628
+ checkVisibilityCSS: true,
629
+ })
630
+ } catch (e) {
631
+ // Fallback if checkVisibility is not supported
632
+ const style = window.getComputedStyle(parentElement)
633
+ return style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0'
634
+ }
635
+ } catch (e) {
636
+ console.warn('Error checking text node visibility:', e)
637
+ return false
638
+ }
639
+ }
640
+
641
+ /**
642
+ * Checks if an element is accepted.
643
+ *
644
+ * @param {HTMLElement} element - The element to check.
645
+ * @returns {boolean} Whether the element is accepted.
646
+ */
647
+ function isElementAccepted(element) {
648
+ if (!element || !element.tagName) return false
649
+
650
+ // Always accept body and common container elements
651
+ const alwaysAccept = new Set([
652
+ 'body',
653
+ 'div',
654
+ 'main',
655
+ 'article',
656
+ 'section',
657
+ 'nav',
658
+ 'header',
659
+ 'footer',
660
+ ])
661
+ const tagName = element.tagName.toLowerCase()
662
+
663
+ if (alwaysAccept.has(tagName)) return true
664
+
665
+ const leafElementDenyList = new Set([
666
+ 'svg',
667
+ 'script',
668
+ 'style',
669
+ 'link',
670
+ 'meta',
671
+ 'noscript',
672
+ 'template',
673
+ ])
674
+
675
+ return !leafElementDenyList.has(tagName)
676
+ }
677
+
678
+ /**
679
+ * Checks if an element is visible.
680
+ *
681
+ * @param {HTMLElement} element - The element to check.
682
+ * @returns {boolean} Whether the element is visible.
683
+ */
684
+ function isElementVisible(element) {
685
+ const style = getCachedComputedStyle(element)
686
+ return (
687
+ element.offsetWidth > 0 &&
688
+ element.offsetHeight > 0 &&
689
+ style?.visibility !== 'hidden' &&
690
+ style?.display !== 'none'
691
+ )
692
+ }
693
+
694
+ /**
695
+ * Checks if an element is interactive.
696
+ *
697
+ * lots of comments, and uncommented code - to show the logic of what we already tried
698
+ *
699
+ * One of the things we tried at the beginning was also to use event listeners, and other fancy class, style stuff -> what actually worked best was just combining most things with computed cursor style :)
700
+ *
701
+ * @param {HTMLElement} element - The element to check.
702
+ */
703
+ function isInteractiveElement(element) {
704
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) {
705
+ return false
706
+ }
707
+
708
+ /**
709
+ * @edit add interactiveBlacklist interactiveWhitelist
710
+ */
711
+ if (interactiveBlacklist.includes(element)) {
712
+ return false // Skip blacklisted elements
713
+ }
714
+ if (interactiveWhitelist.includes(element)) {
715
+ return true // Skip whitelisted elements
716
+ }
717
+
718
+ // Cache the tagName and style lookups
719
+ const tagName = element.tagName.toLowerCase()
720
+ const style = getCachedComputedStyle(element)
721
+
722
+ // Define interactive cursors
723
+ const interactiveCursors = new Set([
724
+ 'pointer', // Link/clickable elements
725
+ 'move', // Movable elements
726
+ 'text', // Text selection
727
+ 'grab', // Grabbable elements
728
+ 'grabbing', // Currently grabbing
729
+ 'cell', // Table cell selection
730
+ 'copy', // Copy operation
731
+ 'alias', // Alias creation
732
+ 'all-scroll', // Scrollable content
733
+ 'col-resize', // Column resize
734
+ 'context-menu', // Context menu available
735
+ 'crosshair', // Precise selection
736
+ 'e-resize', // East resize
737
+ 'ew-resize', // East-west resize
738
+ 'help', // Help available
739
+ 'n-resize', // North resize
740
+ 'ne-resize', // Northeast resize
741
+ 'nesw-resize', // Northeast-southwest resize
742
+ 'ns-resize', // North-south resize
743
+ 'nw-resize', // Northwest resize
744
+ 'nwse-resize', // Northwest-southeast resize
745
+ 'row-resize', // Row resize
746
+ 's-resize', // South resize
747
+ 'se-resize', // Southeast resize
748
+ 'sw-resize', // Southwest resize
749
+ 'vertical-text', // Vertical text selection
750
+ 'w-resize', // West resize
751
+ 'zoom-in', // Zoom in
752
+ 'zoom-out', // Zoom out
753
+ ])
754
+
755
+ // Define non-interactive cursors
756
+ const nonInteractiveCursors = new Set([
757
+ 'not-allowed', // Action not allowed
758
+ 'no-drop', // Drop not allowed
759
+ 'wait', // Processing
760
+ 'progress', // In progress
761
+ 'initial', // Initial value
762
+ 'inherit', // Inherited value
763
+ //? Let's just include all potentially clickable elements that are not specifically blocked
764
+ // 'none', // No cursor
765
+ // 'default', // Default cursor
766
+ // 'auto', // Browser default
767
+ ])
768
+
769
+ /**
770
+ * Checks if an element has an interactive pointer.
771
+ *
772
+ * @param {HTMLElement} element - The element to check.
773
+ * @returns {boolean} Whether the element has an interactive pointer.
774
+ */
775
+ function doesElementHaveInteractivePointer(element) {
776
+ if (element.tagName.toLowerCase() === 'html') return false
777
+
778
+ if (style?.cursor && interactiveCursors.has(style.cursor)) return true
779
+
780
+ return false
781
+ }
782
+
783
+ let isInteractiveCursor = doesElementHaveInteractivePointer(element)
784
+
785
+ // Genius fix for almost all interactive elements
786
+ if (isInteractiveCursor) {
787
+ return true
788
+ }
789
+
790
+ const interactiveElements = new Set([
791
+ 'a', // Links
792
+ 'button', // Buttons
793
+ 'input', // All input types (text, checkbox, radio, etc.)
794
+ 'select', // Dropdown menus
795
+ 'textarea', // Text areas
796
+ 'details', // Expandable details
797
+ 'summary', // Summary element (clickable part of details)
798
+ 'label', // Form labels (often clickable)
799
+ 'option', // Select options
800
+ 'optgroup', // Option groups
801
+ 'fieldset', // Form fieldsets (can be interactive with legend)
802
+ 'legend', // Fieldset legends
803
+ ])
804
+
805
+ // Define explicit disable attributes and properties
806
+ const explicitDisableTags = new Set([
807
+ 'disabled', // Standard disabled attribute
808
+ // 'aria-disabled', // ARIA disabled state
809
+ 'readonly', // Read-only state
810
+ // 'aria-readonly', // ARIA read-only state
811
+ // 'aria-hidden', // Hidden from accessibility
812
+ // 'hidden', // Hidden attribute
813
+ // 'inert', // Inert attribute
814
+ // 'aria-inert', // ARIA inert state
815
+ // 'tabindex="-1"', // Removed from tab order
816
+ // 'aria-hidden="true"' // Hidden from screen readers
817
+ ])
818
+
819
+ // handle inputs, select, checkbox, radio, textarea, button and make sure they are not cursor style disabled/not-allowed
820
+ if (interactiveElements.has(tagName)) {
821
+ // Check for non-interactive cursor
822
+ if (style?.cursor && nonInteractiveCursors.has(style.cursor)) {
823
+ return false
824
+ }
825
+
826
+ // Check for explicit disable attributes
827
+ for (const disableTag of explicitDisableTags) {
828
+ if (
829
+ element.hasAttribute(disableTag) ||
830
+ element.getAttribute(disableTag) === 'true' ||
831
+ element.getAttribute(disableTag) === ''
832
+ ) {
833
+ return false
834
+ }
835
+ }
836
+
837
+ // Check for disabled property on form elements
838
+ if (element.disabled) {
839
+ return false
840
+ }
841
+
842
+ // Check for readonly property on form elements
843
+ if (element.readOnly) {
844
+ return false
845
+ }
846
+
847
+ // Check for inert property
848
+ if (element.inert) {
849
+ return false
850
+ }
851
+
852
+ return true
853
+ }
854
+
855
+ const role = element.getAttribute('role')
856
+ const ariaRole = element.getAttribute('aria-role')
857
+
858
+ // Check for contenteditable attribute
859
+ if (element.getAttribute('contenteditable') === 'true' || element.isContentEditable) {
860
+ return true
861
+ }
862
+
863
+ // Added enhancement to capture dropdown interactive elements
864
+ if (
865
+ element.classList &&
866
+ (element.classList.contains('button') ||
867
+ element.classList.contains('dropdown-toggle') ||
868
+ element.getAttribute('data-index') ||
869
+ element.getAttribute('data-toggle') === 'dropdown' ||
870
+ element.getAttribute('aria-haspopup') === 'true')
871
+ ) {
872
+ return true
873
+ }
874
+
875
+ const interactiveRoles = new Set([
876
+ 'button', // Directly clickable element
877
+ // 'link', // Clickable link
878
+ 'menu', // Menu container (ARIA menus)
879
+ 'menubar', // Menu bar container
880
+ 'menuitem', // Clickable menu item
881
+ 'menuitemradio', // Radio-style menu item (selectable)
882
+ 'menuitemcheckbox', // Checkbox-style menu item (toggleable)
883
+ 'radio', // Radio button (selectable)
884
+ 'checkbox', // Checkbox (toggleable)
885
+ 'tab', // Tab (clickable to switch content)
886
+ 'switch', // Toggle switch (clickable to change state)
887
+ 'slider', // Slider control (draggable)
888
+ 'spinbutton', // Number input with up/down controls
889
+ 'combobox', // Dropdown with text input
890
+ 'searchbox', // Search input field
891
+ 'textbox', // Text input field
892
+ 'listbox', // Selectable list
893
+ 'option', // Selectable option in a list
894
+ 'scrollbar', // Scrollable control
895
+ ])
896
+
897
+ // Basic role/attribute checks
898
+ const hasInteractiveRole =
899
+ interactiveElements.has(tagName) ||
900
+ (role && interactiveRoles.has(role)) ||
901
+ (ariaRole && interactiveRoles.has(ariaRole))
902
+
903
+ if (hasInteractiveRole) return true
904
+
905
+ // check whether element has event listeners by window.getEventListeners
906
+ try {
907
+ if (typeof getEventListeners === 'function') {
908
+ const listeners = getEventListeners(element)
909
+ const mouseEvents = ['click', 'mousedown', 'mouseup', 'dblclick']
910
+ for (const eventType of mouseEvents) {
911
+ if (listeners[eventType] && listeners[eventType].length > 0) {
912
+ return true // Found a mouse interaction listener
913
+ }
914
+ }
915
+ }
916
+
917
+ const getEventListenersForNode =
918
+ element?.ownerDocument?.defaultView?.getEventListenersForNode ||
919
+ window.getEventListenersForNode
920
+ if (typeof getEventListenersForNode === 'function') {
921
+ const listeners = getEventListenersForNode(element)
922
+ const interactionEvents = [
923
+ 'click',
924
+ 'mousedown',
925
+ 'mouseup',
926
+ 'keydown',
927
+ 'keyup',
928
+ 'submit',
929
+ 'change',
930
+ 'input',
931
+ 'focus',
932
+ 'blur',
933
+ ]
934
+ for (const eventType of interactionEvents) {
935
+ for (const listener of listeners) {
936
+ if (listener.type === eventType) {
937
+ return true // Found a common interaction listener
938
+ }
939
+ }
940
+ }
941
+ }
942
+ // Fallback: Check common event attributes if getEventListeners is not available (getEventListeners doesn't work in page.evaluate context)
943
+ const commonMouseAttrs = ['onclick', 'onmousedown', 'onmouseup', 'ondblclick']
944
+ for (const attr of commonMouseAttrs) {
945
+ if (element.hasAttribute(attr) || typeof element[attr] === 'function') {
946
+ return true
947
+ }
948
+ }
949
+ } catch (e) {
950
+ // console.warn(`Could not check event listeners for ${element.tagName}:`, e);
951
+ // If checking listeners fails, rely on other checks
952
+ }
953
+
954
+ /**
955
+ * @edit scrollable element detection
956
+ */
957
+ if (isScrollableElement(element)) {
958
+ return true
959
+ }
960
+
961
+ return false
962
+ }
963
+
964
+ /**
965
+ * Checks if an element is the topmost element at its position.
966
+ *
967
+ * @param {HTMLElement} element - The element to check.
968
+ * @returns {boolean} Whether the element is the topmost element at its position.
969
+ */
970
+ function isTopElement(element) {
971
+ // Special case: when viewportExpansion is -1, consider all elements as "top" elements
972
+ if (viewportExpansion === -1) {
973
+ return true
974
+ }
975
+
976
+ const rects = getCachedClientRects(element) // Replace element.getClientRects()
977
+
978
+ if (!rects || rects.length === 0) {
979
+ return false // No geometry, cannot be top
980
+ }
981
+
982
+ let isAnyRectInViewport = false
983
+ for (const rect of rects) {
984
+ // Use the same logic as isInExpandedViewport check
985
+ if (
986
+ rect.width > 0 &&
987
+ rect.height > 0 &&
988
+ !(
989
+ // Only check non-empty rects
990
+ (
991
+ rect.bottom < -viewportExpansion ||
992
+ rect.top > window.innerHeight + viewportExpansion ||
993
+ rect.right < -viewportExpansion ||
994
+ rect.left > window.innerWidth + viewportExpansion
995
+ )
996
+ )
997
+ ) {
998
+ isAnyRectInViewport = true
999
+ break
1000
+ }
1001
+ }
1002
+
1003
+ if (!isAnyRectInViewport) {
1004
+ return false // All rects are outside the viewport area
1005
+ }
1006
+
1007
+ // Find the correct document context and root element
1008
+ let doc = element.ownerDocument
1009
+
1010
+ // If we're in an iframe, elements are considered top by default
1011
+ if (doc !== window.document) {
1012
+ return true
1013
+ }
1014
+
1015
+ /**
1016
+ * @edit improve `sampleRect`, filter out rects with 0 area
1017
+ */
1018
+ // find a rect that has width and height as sample
1019
+ let rect = Array.from(rects).find((r) => r.width > 0 && r.height > 0)
1020
+ if (!rect) {
1021
+ return false // No valid rect found
1022
+ }
1023
+
1024
+ // For shadow DOM, we need to check within its own root context
1025
+ const shadowRoot = element.getRootNode()
1026
+ if (shadowRoot instanceof ShadowRoot) {
1027
+ const centerX = rect.left + rect.width / 2
1028
+ const centerY = rect.top + rect.height / 2
1029
+
1030
+ try {
1031
+ const topEl = shadowRoot.elementFromPoint(centerX, centerY)
1032
+ if (!topEl) return false
1033
+
1034
+ let current = topEl
1035
+ while (current && current !== shadowRoot) {
1036
+ if (current === element) return true
1037
+ current = current.parentElement
1038
+ }
1039
+ return false
1040
+ } catch (e) {
1041
+ return true
1042
+ }
1043
+ }
1044
+
1045
+ const margin = 5
1046
+
1047
+ // For elements in viewport, check if they're topmost. Do the check in the
1048
+ // center of the element and at the corners to ensure we catch more cases.
1049
+ const checkPoints = [
1050
+ // Initially only this was used, but it was not enough
1051
+ { x: rect.left + rect.width / 2, y: rect.top + rect.height / 2 },
1052
+ { x: rect.left + margin, y: rect.top + margin }, // top left
1053
+ // { x: rect.right - margin, y: rect.top + margin }, // top right
1054
+ // { x: rect.left + margin, y: rect.bottom - margin }, // bottom left
1055
+ { x: rect.right - margin, y: rect.bottom - margin }, // bottom right
1056
+ ]
1057
+
1058
+ return checkPoints.some(({ x, y }) => {
1059
+ try {
1060
+ const topEl = document.elementFromPoint(x, y)
1061
+ if (!topEl) return false
1062
+
1063
+ let current = topEl
1064
+ while (current && current !== document.documentElement) {
1065
+ if (current === element) return true
1066
+ current = current.parentElement
1067
+ }
1068
+ return false
1069
+ } catch (e) {
1070
+ return true
1071
+ }
1072
+ })
1073
+ }
1074
+
1075
+ /**
1076
+ * Checks if an element is within the expanded viewport.
1077
+ *
1078
+ * @param {HTMLElement} element - The element to check.
1079
+ * @param {number} viewportExpansion - The viewport expansion.
1080
+ * @returns {boolean} Whether the element is within the expanded viewport.
1081
+ */
1082
+ function isInExpandedViewport(element, viewportExpansion) {
1083
+ if (viewportExpansion === -1) {
1084
+ return true
1085
+ }
1086
+
1087
+ const rects = element.getClientRects() // Use getClientRects
1088
+
1089
+ if (!rects || rects.length === 0) {
1090
+ // Fallback to getBoundingClientRect if getClientRects is empty,
1091
+ // useful for elements like <svg> that might not have client rects but have a bounding box.
1092
+ const boundingRect = getCachedBoundingRect(element)
1093
+ if (!boundingRect || boundingRect.width === 0 || boundingRect.height === 0) {
1094
+ return false
1095
+ }
1096
+ return !(
1097
+ boundingRect.bottom < -viewportExpansion ||
1098
+ boundingRect.top > window.innerHeight + viewportExpansion ||
1099
+ boundingRect.right < -viewportExpansion ||
1100
+ boundingRect.left > window.innerWidth + viewportExpansion
1101
+ )
1102
+ }
1103
+
1104
+ // Check if *any* client rect is within the viewport
1105
+ for (const rect of rects) {
1106
+ if (rect.width === 0 || rect.height === 0) continue // Skip empty rects
1107
+
1108
+ if (
1109
+ !(
1110
+ rect.bottom < -viewportExpansion ||
1111
+ rect.top > window.innerHeight + viewportExpansion ||
1112
+ rect.right < -viewportExpansion ||
1113
+ rect.left > window.innerWidth + viewportExpansion
1114
+ )
1115
+ ) {
1116
+ return true // Found at least one rect in the viewport
1117
+ }
1118
+ }
1119
+
1120
+ return false // No rects were found in the viewport
1121
+ }
1122
+
1123
+ // /**
1124
+ // * Gets the effective scroll of an element.
1125
+ // *
1126
+ // * @param {HTMLElement} element - The element to get the effective scroll for.
1127
+ // * @returns {Object} The effective scroll of the element.
1128
+ // */
1129
+ // function getEffectiveScroll(element) {
1130
+ // let currentEl = element;
1131
+ // let scrollX = 0;
1132
+ // let scrollY = 0;
1133
+
1134
+ // while (currentEl && currentEl !== document.documentElement) {
1135
+ // if (currentEl.scrollLeft || currentEl.scrollTop) {
1136
+ // scrollX += currentEl.scrollLeft;
1137
+ // scrollY += currentEl.scrollTop;
1138
+ // }
1139
+ // currentEl = currentEl.parentElement;
1140
+ // }
1141
+
1142
+ // scrollX += window.scrollX;
1143
+ // scrollY += window.scrollY;
1144
+
1145
+ // return { scrollX, scrollY };
1146
+ // }
1147
+
1148
+ /**
1149
+ * Checks if an element is an interactive candidate.
1150
+ *
1151
+ * @param {HTMLElement} element - The element to check.
1152
+ * @returns {boolean} Whether the element is an interactive candidate.
1153
+ */
1154
+
1155
+ // @edit fix "aria-*" attributes check
1156
+ const INTERACTIVE_ARIA_ATTRS = [
1157
+ 'aria-expanded',
1158
+ 'aria-checked',
1159
+ 'aria-selected',
1160
+ 'aria-pressed',
1161
+ 'aria-haspopup',
1162
+ 'aria-controls',
1163
+ 'aria-owns',
1164
+ 'aria-activedescendant',
1165
+ 'aria-valuenow',
1166
+ 'aria-valuetext',
1167
+ 'aria-valuemax',
1168
+ 'aria-valuemin',
1169
+ 'aria-autocomplete',
1170
+ ]
1171
+
1172
+ function hasInteractiveAria(el) {
1173
+ for (let i = 0; i < INTERACTIVE_ARIA_ATTRS.length; i++) {
1174
+ if (el.hasAttribute(INTERACTIVE_ARIA_ATTRS[i])) return true
1175
+ }
1176
+ return false
1177
+ }
1178
+
1179
+ function isInteractiveCandidate(element) {
1180
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) return false
1181
+
1182
+ const tagName = element.tagName.toLowerCase()
1183
+
1184
+ // Fast-path for common interactive elements
1185
+ const interactiveElements = new Set([
1186
+ 'a',
1187
+ 'button',
1188
+ 'input',
1189
+ 'select',
1190
+ 'textarea',
1191
+ 'details',
1192
+ 'summary',
1193
+ 'label',
1194
+ ])
1195
+
1196
+ if (interactiveElements.has(tagName)) return true
1197
+
1198
+ // Quick attribute checks without getting full lists
1199
+ const hasQuickInteractiveAttr =
1200
+ element.hasAttribute('onclick') ||
1201
+ element.hasAttribute('role') ||
1202
+ element.hasAttribute('tabindex') ||
1203
+ hasInteractiveAria(element) ||
1204
+ element.hasAttribute('data-action') ||
1205
+ element.getAttribute('contenteditable') === 'true'
1206
+
1207
+ return hasQuickInteractiveAttr
1208
+ }
1209
+
1210
+ // --- Define constants for distinct interaction check ---
1211
+ const DISTINCT_INTERACTIVE_TAGS = new Set([
1212
+ 'a',
1213
+ 'button',
1214
+ 'input',
1215
+ 'select',
1216
+ 'textarea',
1217
+ 'summary',
1218
+ 'details',
1219
+ 'label',
1220
+ 'option',
1221
+ 'li',
1222
+ ])
1223
+ const DISTINCT_INTERACTIVE_ROLES = new Set([
1224
+ 'button',
1225
+ 'link',
1226
+ 'menuitem',
1227
+ 'menuitemradio',
1228
+ 'menuitemcheckbox',
1229
+ 'radio',
1230
+ 'checkbox',
1231
+ 'tab',
1232
+ 'switch',
1233
+ 'slider',
1234
+ 'spinbutton',
1235
+ 'combobox',
1236
+ 'searchbox',
1237
+ 'textbox',
1238
+ 'listbox',
1239
+ 'listitem',
1240
+ 'treeitem',
1241
+ 'row',
1242
+ 'option',
1243
+ 'scrollbar',
1244
+ ])
1245
+
1246
+ /**
1247
+ * Heuristically determines if an element should be considered as independently interactive,
1248
+ * even if it's nested inside another interactive container.
1249
+ *
1250
+ * This function helps detect deeply nested actionable elements (e.g., menu items within a button)
1251
+ * that may not be picked up by strict interactivity checks.
1252
+ *
1253
+ * @param {HTMLElement} element - The element to check.
1254
+ * @returns {boolean} Whether the element is heuristically interactive.
1255
+ */
1256
+ function isHeuristicallyInteractive(element) {
1257
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) return false
1258
+
1259
+ // Skip non-visible elements early for performance
1260
+ if (!isElementVisible(element)) return false
1261
+
1262
+ // Check for common attributes that often indicate interactivity
1263
+ const hasInteractiveAttributes =
1264
+ element.hasAttribute('role') ||
1265
+ element.hasAttribute('tabindex') ||
1266
+ element.hasAttribute('onclick') ||
1267
+ typeof element.onclick === 'function'
1268
+
1269
+ // Check for semantic class names suggesting interactivity
1270
+ const hasInteractiveClass = /\b(btn|clickable|menu|item|entry|link)\b/i.test(
1271
+ element.className || ''
1272
+ )
1273
+
1274
+ // Determine whether the element is inside a known interactive container
1275
+ const isInKnownContainer = Boolean(
1276
+ element.closest('button,a,[role="button"],.menu,.dropdown,.list,.toolbar')
1277
+ )
1278
+
1279
+ // Ensure the element has at least one visible child (to avoid marking empty wrappers)
1280
+ const hasVisibleChildren = [...element.children].some(isElementVisible)
1281
+
1282
+ // Avoid highlighting elements whose parent is <body> (top-level wrappers)
1283
+ const isParentBody = element.parentElement && element.parentElement.isSameNode(document.body)
1284
+
1285
+ return (
1286
+ (isInteractiveElement(element) || hasInteractiveAttributes || hasInteractiveClass) &&
1287
+ hasVisibleChildren &&
1288
+ isInKnownContainer &&
1289
+ !isParentBody
1290
+ )
1291
+ }
1292
+
1293
+ /**
1294
+ * Checks if an element likely represents a distinct interaction
1295
+ * separate from its parent (if the parent is also interactive).
1296
+ *
1297
+ * @param {HTMLElement} element - The element to check.
1298
+ * @returns {boolean} Whether the element is a distinct interaction.
1299
+ */
1300
+ function isElementDistinctInteraction(element) {
1301
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) {
1302
+ return false
1303
+ }
1304
+
1305
+ const tagName = element.tagName.toLowerCase()
1306
+ const role = element.getAttribute('role')
1307
+
1308
+ // Check if it's an iframe - always distinct boundary
1309
+ if (tagName === 'iframe') {
1310
+ return true
1311
+ }
1312
+
1313
+ // Check tag name
1314
+ if (DISTINCT_INTERACTIVE_TAGS.has(tagName)) {
1315
+ return true
1316
+ }
1317
+ // Check interactive roles
1318
+ if (role && DISTINCT_INTERACTIVE_ROLES.has(role)) {
1319
+ return true
1320
+ }
1321
+ // Check contenteditable
1322
+ if (element.isContentEditable || element.getAttribute('contenteditable') === 'true') {
1323
+ return true
1324
+ }
1325
+ // Check for common testing/automation attributes
1326
+ if (
1327
+ element.hasAttribute('data-testid') ||
1328
+ element.hasAttribute('data-cy') ||
1329
+ element.hasAttribute('data-test')
1330
+ ) {
1331
+ return true
1332
+ }
1333
+ // Check for explicit onclick handler (attribute or property)
1334
+ if (element.hasAttribute('onclick') || typeof element.onclick === 'function') {
1335
+ return true
1336
+ }
1337
+ // ARIA state attributes imply the element manages its own interaction state
1338
+ if (hasInteractiveAria(element)) {
1339
+ return true
1340
+ }
1341
+
1342
+ // return false
1343
+
1344
+ // Check for other common interaction event listeners
1345
+ try {
1346
+ const getEventListenersForNode =
1347
+ element?.ownerDocument?.defaultView?.getEventListenersForNode ||
1348
+ window.getEventListenersForNode
1349
+ if (typeof getEventListenersForNode === 'function') {
1350
+ const listeners = getEventListenersForNode(element)
1351
+ const interactionEvents = [
1352
+ 'click',
1353
+ 'mousedown',
1354
+ 'mouseup',
1355
+ 'keydown',
1356
+ 'keyup',
1357
+ 'submit',
1358
+ 'change',
1359
+ 'input',
1360
+ 'focus',
1361
+ 'blur',
1362
+ ]
1363
+ for (const eventType of interactionEvents) {
1364
+ for (const listener of listeners) {
1365
+ if (listener.type === eventType) {
1366
+ return true // Found a common interaction listener
1367
+ }
1368
+ }
1369
+ }
1370
+ }
1371
+ // Fallback: Check common event attributes if getEventListeners is not available (getEventListenersForNode doesn't work in page.evaluate context)
1372
+ const commonEventAttrs = [
1373
+ 'onmousedown',
1374
+ 'onmouseup',
1375
+ 'onkeydown',
1376
+ 'onkeyup',
1377
+ 'onsubmit',
1378
+ 'onchange',
1379
+ 'oninput',
1380
+ 'onfocus',
1381
+ 'onblur',
1382
+ ]
1383
+ if (commonEventAttrs.some((attr) => element.hasAttribute(attr))) {
1384
+ return true
1385
+ }
1386
+ } catch (e) {
1387
+ // console.warn(`Could not check event listeners for ${element.tagName}:`, e);
1388
+ // If checking listeners fails, rely on other checks
1389
+ }
1390
+
1391
+ // if the element is not strictly interactive but appears clickable based on heuristic signals
1392
+ if (isHeuristicallyInteractive(element)) {
1393
+ return true
1394
+ }
1395
+
1396
+ // Scrollable containers are always distinct — the LLM needs their index for targeted scrolling.
1397
+ // Check extraData (already set by isScrollableElement in isInteractiveElement) to avoid redundant layout reads.
1398
+ if (extraData.get(element)?.scrollable) {
1399
+ return true
1400
+ }
1401
+
1402
+ // Default to false: if it's interactive but doesn't match above,
1403
+ // assume it triggers the same action as the parent.
1404
+ return false
1405
+ }
1406
+ // --- End distinct interaction check ---
1407
+
1408
+ /**
1409
+ * Handles the logic for deciding whether to highlight an element and performing the highlight.
1410
+ * @param {
1411
+ {
1412
+ tagName: string;
1413
+ attributes: Record<string, string>;
1414
+ xpath: any;
1415
+ children: never[];
1416
+ isVisible?: boolean;
1417
+ isTopElement?: boolean;
1418
+ isInteractive?: boolean;
1419
+ isInViewport?: boolean;
1420
+ highlightIndex?: number;
1421
+ shadowRoot?: boolean;
1422
+ }} nodeData - The node data object.
1423
+ * @param {HTMLElement} node - The node to highlight.
1424
+ * @param {HTMLElement | null} parentIframe - The parent iframe node.
1425
+ * @param {boolean} isParentHighlighted - Whether the parent node is highlighted.
1426
+ * @returns {boolean} Whether the element was highlighted.
1427
+ */
1428
+ function handleHighlighting(nodeData, node, parentIframe, isParentHighlighted) {
1429
+ if (!nodeData.isInteractive) return false // Not interactive, definitely don't highlight
1430
+
1431
+ let shouldHighlight = false
1432
+ if (!isParentHighlighted) {
1433
+ // Parent wasn't highlighted, this interactive node can be highlighted.
1434
+ shouldHighlight = true
1435
+ } else {
1436
+ // Parent *was* highlighted. Only highlight this node if it represents a distinct interaction.
1437
+ if (isElementDistinctInteraction(node)) {
1438
+ shouldHighlight = true
1439
+ } else {
1440
+ // console.log(`Skipping highlight for ${nodeData.tagName} (parent highlighted)`);
1441
+ shouldHighlight = false
1442
+ }
1443
+ }
1444
+
1445
+ if (shouldHighlight) {
1446
+ // Check viewport status before assigning index and highlighting
1447
+ nodeData.isInViewport = isInExpandedViewport(node, viewportExpansion)
1448
+
1449
+ // When viewportExpansion is -1, all interactive elements should get a highlight index
1450
+ // regardless of viewport status
1451
+ if (nodeData.isInViewport || viewportExpansion === -1) {
1452
+ nodeData.highlightIndex = highlightIndex++
1453
+
1454
+ if (doHighlightElements) {
1455
+ if (focusHighlightIndex >= 0) {
1456
+ if (focusHighlightIndex === nodeData.highlightIndex) {
1457
+ highlightElement(node, nodeData.highlightIndex, parentIframe)
1458
+ }
1459
+ } else {
1460
+ highlightElement(node, nodeData.highlightIndex, parentIframe)
1461
+ }
1462
+ return true // Successfully highlighted
1463
+ }
1464
+ } else {
1465
+ // console.log(`Skipping highlight for ${nodeData.tagName} (outside viewport)`);
1466
+ }
1467
+ }
1468
+
1469
+ return false // Did not highlight
1470
+ }
1471
+
1472
+ /**
1473
+ * Creates a node data object for a given node and its descendants.
1474
+ *
1475
+ * @param {HTMLElement} node - The node to process.
1476
+ * @param {HTMLElement | null} parentIframe - The parent iframe node.
1477
+ * @param {boolean} isParentHighlighted - Whether the parent node is highlighted.
1478
+ * @returns {string | null} The ID of the node data object, or null if the node is not processed.
1479
+ */
1480
+ function buildDomTree(node, parentIframe = null, isParentHighlighted = false) {
1481
+ // Fast rejection checks first
1482
+ if (
1483
+ !node ||
1484
+ node.id === HIGHLIGHT_CONTAINER_ID ||
1485
+ (node.nodeType !== Node.ELEMENT_NODE && node.nodeType !== Node.TEXT_NODE)
1486
+ ) {
1487
+ return null
1488
+ }
1489
+
1490
+ if (!node || node.id === HIGHLIGHT_CONTAINER_ID) {
1491
+ return null
1492
+ }
1493
+
1494
+ /**
1495
+ * @edit add `data-browser-use-ignore` attribute
1496
+ */
1497
+ if (node.dataset?.browserUseIgnore === 'true' || node.dataset?.pageAgentIgnore === 'true') {
1498
+ return null // Skip this node and its children
1499
+ }
1500
+
1501
+ /**
1502
+ * @edit exclude aria-hidden elements
1503
+ */
1504
+ if (node.getAttribute && node.getAttribute('aria-hidden') === 'true') {
1505
+ return null // Skip this node and its children
1506
+ }
1507
+
1508
+ // Special handling for root node (body)
1509
+ if (node === document.body) {
1510
+ const nodeData = {
1511
+ tagName: 'body',
1512
+ attributes: {},
1513
+ xpath: '/body',
1514
+ children: [],
1515
+ }
1516
+
1517
+ // Process children of body
1518
+ for (const child of node.childNodes) {
1519
+ const domElement = buildDomTree(child, parentIframe, false) // Body's children have no highlighted parent initially
1520
+ if (domElement) nodeData.children.push(domElement)
1521
+ }
1522
+
1523
+ const id = `${ID.current++}`
1524
+ DOM_HASH_MAP[id] = nodeData
1525
+ return id
1526
+ }
1527
+
1528
+ // Early bailout for non-element nodes except text
1529
+ if (node.nodeType !== Node.ELEMENT_NODE && node.nodeType !== Node.TEXT_NODE) {
1530
+ return null
1531
+ }
1532
+
1533
+ // Process text nodes
1534
+ if (node.nodeType === Node.TEXT_NODE) {
1535
+ const textContent = node.textContent?.trim()
1536
+ if (!textContent) {
1537
+ return null
1538
+ }
1539
+
1540
+ // Only check visibility for text nodes that might be visible
1541
+ const parentElement = node.parentElement
1542
+ if (!parentElement || parentElement.tagName.toLowerCase() === 'script') {
1543
+ return null
1544
+ }
1545
+
1546
+ const id = `${ID.current++}`
1547
+ DOM_HASH_MAP[id] = {
1548
+ type: 'TEXT_NODE',
1549
+ text: textContent,
1550
+ isVisible: isTextNodeVisible(node),
1551
+ }
1552
+ return id
1553
+ }
1554
+
1555
+ // Quick checks for element nodes
1556
+ if (node.nodeType === Node.ELEMENT_NODE && !isElementAccepted(node)) {
1557
+ return null
1558
+ }
1559
+
1560
+ // Early viewport check - only filter out elements clearly outside viewport
1561
+ // The getBoundingClientRect() of the Shadow DOM host element may return width/height = 0
1562
+ if (viewportExpansion !== -1 && !node.shadowRoot) {
1563
+ const rect = getCachedBoundingRect(node) // Keep for initial quick check
1564
+ const style = getCachedComputedStyle(node)
1565
+
1566
+ // Skip viewport check for fixed/sticky elements as they may appear anywhere
1567
+ const isFixedOrSticky = style && (style.position === 'fixed' || style.position === 'sticky')
1568
+
1569
+ // Check if element has actual dimensions using offsetWidth/Height (quick check)
1570
+ const hasSize = node.offsetWidth > 0 || node.offsetHeight > 0
1571
+
1572
+ // Use getBoundingClientRect for the quick OUTSIDE check.
1573
+ // isInExpandedViewport will do the more accurate check later if needed.
1574
+ if (
1575
+ !rect ||
1576
+ (!isFixedOrSticky &&
1577
+ !hasSize &&
1578
+ (rect.bottom < -viewportExpansion ||
1579
+ rect.top > window.innerHeight + viewportExpansion ||
1580
+ rect.right < -viewportExpansion ||
1581
+ rect.left > window.innerWidth + viewportExpansion))
1582
+ ) {
1583
+ // console.log("Skipping node outside viewport (quick check):", node.tagName, rect);
1584
+ return null
1585
+ }
1586
+ }
1587
+
1588
+ /**
1589
+ * @type {
1590
+ {
1591
+ tagName: string;
1592
+ attributes: Record<string, string | null>;
1593
+ xpath: any;
1594
+ children: never[];
1595
+ isVisible?: boolean;
1596
+ isTopElement?: boolean;
1597
+ isInteractive?: boolean;
1598
+ isInViewport?: boolean;
1599
+ highlightIndex?: number;
1600
+ shadowRoot?: boolean;
1601
+ }
1602
+ } nodeData - The node data object.
1603
+ */
1604
+ const nodeData = {
1605
+ tagName: node.tagName.toLowerCase(),
1606
+ attributes: {},
1607
+
1608
+ /**
1609
+ * @edit no need for xpath
1610
+ */
1611
+ // xpath: getXPathTree(node, true),
1612
+
1613
+ children: [],
1614
+ }
1615
+
1616
+ // Get attributes for interactive elements or potential text containers
1617
+ if (
1618
+ isInteractiveCandidate(node) ||
1619
+ node.tagName.toLowerCase() === 'iframe' ||
1620
+ node.tagName.toLowerCase() === 'body'
1621
+ ) {
1622
+ const attributeNames = node.getAttributeNames?.() || []
1623
+ for (const name of attributeNames) {
1624
+ const value = node.getAttribute(name)
1625
+ nodeData.attributes[name] = value
1626
+ }
1627
+
1628
+ /**
1629
+ * @edit @workaround input.checked
1630
+ */
1631
+ if (
1632
+ node.tagName.toLowerCase() === 'input' &&
1633
+ (node.type === 'checkbox' || node.type === 'radio')
1634
+ ) {
1635
+ nodeData.attributes.checked = node.checked ? 'true' : 'false' // Store as string for consistency
1636
+ }
1637
+ }
1638
+
1639
+ let nodeWasHighlighted = false
1640
+ // Perform visibility, interactivity, and highlighting checks
1641
+ if (node.nodeType === Node.ELEMENT_NODE) {
1642
+ nodeData.isVisible = isElementVisible(node) // isElementVisible uses offsetWidth/Height, which is fine
1643
+ if (nodeData.isVisible) {
1644
+ nodeData.isTopElement = isTopElement(node)
1645
+
1646
+ // Special handling for ARIA menu containers - check interactivity even if not top element
1647
+ const role = node.getAttribute('role')
1648
+ const isMenuContainer = role === 'menu' || role === 'menubar' || role === 'listbox'
1649
+
1650
+ if (nodeData.isTopElement || isMenuContainer) {
1651
+ nodeData.isInteractive = isInteractiveElement(node)
1652
+ // Call the dedicated highlighting function
1653
+ nodeWasHighlighted = handleHighlighting(nodeData, node, parentIframe, isParentHighlighted)
1654
+
1655
+ /**
1656
+ * @edit direct dom ref
1657
+ */
1658
+ nodeData.ref = node
1659
+
1660
+ /**
1661
+ * @edit make sure attributes exist for interactive candidates.
1662
+ * @note if the element failed the isInteractiveCandidate, attributes would be empty.
1663
+ */
1664
+ if (nodeData.isInteractive && Object.keys(nodeData.attributes).length === 0) {
1665
+ const attributeNames = node.getAttributeNames?.() || []
1666
+ for (const name of attributeNames) {
1667
+ const value = node.getAttribute(name)
1668
+ nodeData.attributes[name] = value
1669
+ }
1670
+ }
1671
+ }
1672
+ }
1673
+ }
1674
+
1675
+ // Process children, with special handling for iframes and rich text editors
1676
+ if (node.tagName) {
1677
+ const tagName = node.tagName.toLowerCase()
1678
+
1679
+ // Handle iframes
1680
+ if (tagName === 'iframe') {
1681
+ try {
1682
+ const iframeDoc = node.contentDocument || node.contentWindow?.document
1683
+ if (iframeDoc) {
1684
+ for (const child of iframeDoc.childNodes) {
1685
+ const domElement = buildDomTree(child, node, false)
1686
+ if (domElement) nodeData.children.push(domElement)
1687
+ }
1688
+ }
1689
+ } catch (e) {
1690
+ console.warn('Unable to access iframe:', e)
1691
+ }
1692
+ }
1693
+ // Handle rich text editors and contenteditable elements
1694
+ else if (
1695
+ node.isContentEditable ||
1696
+ node.getAttribute('contenteditable') === 'true' ||
1697
+ node.id === 'tinymce' ||
1698
+ node.classList.contains('mce-content-body') ||
1699
+ (tagName === 'body' && node.getAttribute('data-id')?.startsWith('mce_'))
1700
+ ) {
1701
+ // Process all child nodes to capture formatted text
1702
+ for (const child of node.childNodes) {
1703
+ const domElement = buildDomTree(child, parentIframe, nodeWasHighlighted)
1704
+ if (domElement) nodeData.children.push(domElement)
1705
+ }
1706
+ } else {
1707
+ // Handle shadow DOM
1708
+ if (node.shadowRoot) {
1709
+ nodeData.shadowRoot = true
1710
+ for (const child of node.shadowRoot.childNodes) {
1711
+ const domElement = buildDomTree(child, parentIframe, nodeWasHighlighted)
1712
+ if (domElement) nodeData.children.push(domElement)
1713
+ }
1714
+ }
1715
+ // Handle regular elements
1716
+ for (const child of node.childNodes) {
1717
+ // Pass the highlighted status of the *current* node to its children
1718
+ const passHighlightStatusToChild = nodeWasHighlighted || isParentHighlighted
1719
+ const domElement = buildDomTree(child, parentIframe, passHighlightStatusToChild)
1720
+ if (domElement) nodeData.children.push(domElement)
1721
+ }
1722
+ }
1723
+ }
1724
+
1725
+ // Skip empty anchor tags only if they have no dimensions and no children
1726
+ if (nodeData.tagName === 'a' && nodeData.children.length === 0 && !nodeData.attributes.href) {
1727
+ // Check if the anchor has actual dimensions
1728
+ const rect = getCachedBoundingRect(node)
1729
+ const hasSize =
1730
+ (rect && rect.width > 0 && rect.height > 0) || node.offsetWidth > 0 || node.offsetHeight > 0
1731
+
1732
+ if (!hasSize) {
1733
+ return null
1734
+ }
1735
+ }
1736
+
1737
+ /**
1738
+ * @edit add `extra` field for extra data
1739
+ */
1740
+ nodeData.extra = extraData.get(node) || null
1741
+
1742
+ const id = `${ID.current++}`
1743
+ DOM_HASH_MAP[id] = nodeData
1744
+ return id
1745
+ }
1746
+
1747
+ const rootId = buildDomTree(document.body)
1748
+
1749
+ // Clear the cache before starting
1750
+ DOM_CACHE.clearCache()
1751
+
1752
+ return { rootId, map: DOM_HASH_MAP }
1753
+ }