hermes-agent/website
Rowland O'Connor ca076eef8a fix(approval): apply noninteractive_mode in the consolidated guard
Review found the knob had no effect on real terminal calls: terminal_tool
routes through check_all_command_guards, whose non-interactive early
return approves non-cron commands regardless of the setting. Only the
direct check_dangerous_command entry point was covered.

Applies the policy in the consolidated guard before that return, mirroring
the cron branch beside it — dangerous-pattern detection first, then the
tirith content check, including the tirith_fail_open handling so an
operator who opted into fail-closed is not silently allowed here either.

Also adds the two things the review asked for alongside it:

- approvals.noninteractive_mode in DEFAULT_CONFIG, so it participates in
  the documented deep-merge contract rather than existing only as a
  cfg_get default. New tests exercise the real config path (writing a
  config.yaml under HERMES_HOME) instead of mocking load_config, and
  assert sibling keys survive the merge.
- The key documented in website/docs/user-guide/configuration.md, which
  the first pass missed; security.md and the configuration reference in
  the skills tree were already updated.

Verified against a live install: with noninteractive_mode: deny and no
human present, `git reset --hard HEAD~3` now blocks through
check_all_command_guards where it was previously approved. A profile on
the default is unchanged. 24 tests in the new file, 105 across the
approval suite plus the config-contract tests.
2026-08-02 07:24:46 +01:00
..
docs fix(approval): apply noninteractive_mode in the consolidated guard 2026-08-02 07:24:46 +01:00
i18n/zh-Hans/docusaurus-plugin-content-docs/current fix(deps): repair Google transitive security floors (#72108) 2026-07-31 23:18:38 -07:00
scripts fix(skills-hub): include owner in ClawHub source URLs and add retry on 429 (#51236) 2026-07-31 22:33:11 -07:00
src refactor: remove the claude-marketplace skill source (redundant Marketplace hub tab) 2026-07-28 23:16:27 -07:00
static feat(models): add deepseek/deepseek-v4-flash-0731 to Nous portal and OpenRouter catalogs 2026-07-31 09:43:03 -07:00
.gitignore
…
.npmrc fix(npm): npm 11.10-12.0 support min-release-age but NOT min-release-age-exclude. 2026-07-31 13:42:04 -04:00
README.md
…
docusaurus.config.ts fix(docs): disable fuzzy matching in docs search (exact word or prefix only) (#65103) 2026-07-15 09:57:46 -07:00
package-lock.json fix(sec): pin exact npm package versions in website/, lock. 2026-07-31 13:42:03 -04:00
package.json fix(npm): npm 11.10-12.0 support min-release-age but NOT min-release-age-exclude. 2026-07-31 13:42:04 -04:00
sidebars.ts docs(skills): regenerate skills catalog; fix generator sentence truncation 2026-07-29 08:48:05 -07:00
tsconfig.json
…

README.md

Website

This website is built using Docusaurus, a modern static website generator.

Installation

yarn

Local Development

yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

Using SSH:

USE_SSH=true yarn deploy

Not using SSH:

GIT_USER=<Your GitHub username> yarn deploy

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.

Diagram Linting

CI runs ascii-guard to lint docs for ASCII box diagrams. Use Mermaid (````mermaid`) or plain lists/tables instead of ASCII boxes to avoid CI failures.