feat(hermesagent): complete v0.19 configuration support#2385
Conversation
|
Thank you for your contribution! Unfortunately, this PR has 1509 added lines, which exceeds the limit of 1000 lines for external contributors. Please split your changes into smaller PRs. See CONTRIBUTING.md for details. |
2261a12 to
7f4f4fb
Compare
7f4f4fb to
d2c3d33
Compare
d2c3d33 to
61920ee
Compare
dyoshikawa
left a comment
There was a problem hiding this comment.
I found one merge-blocking security issue and two correctness gaps. The current CI checks are green, but normal project generation would persistently remove Hermes's project-plugin trust boundary for every future repository. Please address that before merging and fix the profile path described inline. The MCP integration also remains incomplete: the Hermes factory still declares supportsEnabledTools and supportsDisabledTools as false, so McpProcessor strips those fields before the adapter can produce tools.include and tools.exclude; please update the metadata and add processor/E2E coverage.
61920ee to
54876ae
Compare
|
@rudironsoni Thank you! |
Summary
plugins.enabledinto$HERMES_HOME/config.yamland settingHERMES_ENABLE_PROJECT_PLUGINS=truein$HERMES_HOME/.envmetadata, and native permission structures during generation and import
so custom
HERMES_HOMEprofiles workdestinations
--check, JSON output, and MCP resultsv2026.7.20) compatibility contractProject activation preserves unrelated user configuration and fails on an
explicit
plugins.disabledconflict. Native-only Hermes hooks remain isolatedunder
hermesagent.hookson import.Refs #2342 and the v0.19 follow-up analysis in
#2342 (comment).
Runtime validation
Generated project and global fixtures were loaded through a clean checkout of
Hermes Agent v0.19.0 at commit
3ef6bbd201263d354fd83ec55b3c306ded2eb72a. The upstream loaders accepted:.hermes.mdproject contextrulesync-*plugins, including registered commandsVALID_HOOKSBoth project and global RuleSync import round-trips passed from clean
directories. Project/global generation and
--checkalso passed with isolatedHOME_DIR/HERMES_HOMEvalues.Repository validation
pnpm run checkpnpm run cicheck:contentpnpm run docs:buildpnpm run cspellgit diff --checkpassed
because
bunis absent fromPATH(spawn bun ENOENT)expects
[DRY RUN]on stdout but receives an empty string; all Hermes suitespass