Merge pull request #521 from digitallamb/pr/hermes-provider

Add Hermes Agent as a supported provider
This commit is contained in:
Paul Bakaus
2026-08-12 16:07:43 -04:00
committed by GitHub
11 changed files with 256 additions and 23 deletions
+1
View File
@@ -491,6 +491,7 @@ This folder contains skills for all supported tools:
.agent/ -> Antigravity
.github/ -> GitHub Copilot
.grok/ -> Grok Build
.hermes/ -> Hermes Agent
.kiro/ -> Kiro
.opencode/ -> OpenCode
.pi/ -> Pi
+1
View File
@@ -18,5 +18,6 @@ export const transformRovoDev = createTransformer(PROVIDERS['rovo-dev']);
export const transformVibe = createTransformer(PROVIDERS.vibe);
export const transformGrok = createTransformer(PROVIDERS.grok);
export const transformAntigravity = createTransformer(PROVIDERS.antigravity);
export const transformHermes = createTransformer(PROVIDERS.hermes);
export { createTransformer, PROVIDERS };
+14
View File
@@ -162,4 +162,18 @@ export const PROVIDERS = {
displayName: 'Antigravity',
frontmatterFields: ['license', 'compatibility', 'metadata', 'allowed-tools'],
},
hermes: {
provider: 'hermes',
providerTags: ['hermes'],
configDir: '.hermes',
displayName: 'Hermes Agent',
// Hermes ships the Agent Skills spec as-is. The optional fields below
// (license, compatibility, metadata) are spec-defined; harness-specific
// extensions (user-invocable, argument-hint, allowed-tools) are NOT
// recognized by the Hermes skill loader and would be silently ignored.
// Hermes also has no hook surface, no equivalent of Claude's slash
// commands, and no per-skill tool ACL -- so no emitHooks, no agentFormat,
// no writeOpenAIMetadata. See hermes-agent/SKILL.md "Skills" section.
frontmatterFields: ['license', 'compatibility', 'metadata'],
},
};
+10
View File
@@ -539,6 +539,15 @@ export const PROVIDER_PLACEHOLDERS = {
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'hermes': {
// Hermes is provider-agnostic and reads AGENTS.md / CLAUDE.md / .cursorrules
// for project context. "the model" matches the pi/opencode phrasing used
// for harnesses without a vendor-fixed assistant name.
model: 'the model',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
}
};
@@ -552,6 +561,7 @@ export const PROVIDER_BLOCK_TAGS = new Set([
'gemini',
'github',
'grok',
'hermes',
'kiro',
'opencode',
'pi',