Skip to content

docs: document 9 previously undocumented features#2814

Merged
teknium1 merged 1 commit intomainfrom
hermes/hermes-1817ce8d
Mar 24, 2026
Merged

docs: document 9 previously undocumented features#2814
teknium1 merged 1 commit intomainfrom
hermes/hermes-1817ce8d

Conversation

@teknium1
Copy link
Copy Markdown
Contributor

Summary

Audit found 9 features that existed in the codebase but had zero documentation. This PR adds docs for all of them.

New page

  • context-references.md — Full docs for @-syntax inline context injection (@file:, @folder:, @diff, @staged, @git:, @url:). Covers line ranges, CLI tab completion, size limits (25%/50% of context), sensitive path blocking, binary detection, and error handling. This was the biggest gap — a major user-facing feature with no docs at all.

configuration.md — 3 new sections

  • Environment variable substitution${VAR_NAME} syntax in config.yaml
  • Gateway streaming — Progressive token delivery on Telegram/Discord/Slack via message editing (streaming: config block)
  • Web search backends — Firecrawl / Parallel / Tavily provider selection via web.backend config key, with capability matrix and auto-detection

security.md — 2 new sections

  • SSRF protection — Always-on URL validation blocking private networks, loopback, link-local, CGNAT, cloud metadata
  • Tirith pre-exec scanning — Content-level command scanning with auto-install, config options, fail-open/closed modes

sessions.md — 1 new section

  • Auto-generated session titles — Background LLM-powered title generation

creating-skills.md — 2 new sections

  • Conditional skill activationrequires_toolsets, requires_tools, fallback_for_toolsets, fallback_for_tools frontmatter
  • Environment variable requirementsrequired_environment_variables frontmatter + terminal.env_passthrough config

Test plan

  • All 6112 tests pass
  • Docs-only changes, no code modified
New documentation for features that existed in code but had no docs:

New page:
- context-references.md: Full docs for @-syntax inline context
  injection (@file:, @folder:, @diff, @StaGeD, @git:, @url:) with
  line ranges, CLI autocomplete, size limits, sensitive path blocking,
  and error handling

configuration.md additions:
- Environment variable substitution: ${VAR_NAME} syntax in config.yaml
  with expansion, fallback, and multi-reference support
- Gateway streaming: Progressive token delivery on messaging platforms
  via message editing (StreamingConfig: enabled, transport, edit_interval,
  buffer_threshold, cursor) with platform support matrix
- Web search backends: Three providers (Firecrawl, Parallel, Tavily)
  with web.backend config key, capability matrix, auto-detection from
  API keys, self-hosted Firecrawl, and Parallel search modes

security.md additions:
- SSRF protection: Always-on URL validation blocking private networks,
  loopback, link-local, CGNAT, cloud metadata hostnames, with
  fail-closed DNS and redirect chain re-validation
- Tirith pre-exec security scanning: Content-level command scanning
  for homograph URLs, pipe-to-interpreter, terminal injection with
  auto-install, SHA-256/cosign verification, config options, and
  fail-open/fail-closed modes

sessions.md addition:
- Auto-generated session titles: Background LLM-powered title
  generation after first exchange

creating-skills.md additions:
- Conditional skill activation: requires_toolsets, requires_tools,
  fallback_for_toolsets, fallback_for_tools frontmatter fields with
  matching logic and use cases
- Environment variable requirements: required_environment_variables
  frontmatter for automatic env passthrough to sandboxed execution,
  plus terminal.env_passthrough user config
@teknium1 teknium1 merged commit ebcb81b into main Mar 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant