All plugins

plugin_foundry

Turn a narrow plugin request into a native Hermes plugin: manifest, entry point, tool, SQLite state, tests, static scan and catalog draft. Two archetypes only: a SQLite folder watcher and a JSON API poller, each with one tool. The folder-watcher parser accepts one explicit supported file type or complete dotted suffix and refuses unsupported, composite, conflicting or ambiguous requests. A trailing period is removed only at request end or before validated supported follow-up instructions. Sentence boundaries are detected before a capitalised token or complete instruction verb, but that detection alone does not permit removal; other prose fails closed, and abbreviations without a sentence start stay inside the instruction. Writes stay under the Foundry data root, generated tests run in a minimal environment, and paths outside the root need a pre-tool approval. Provides pre_tool_call and post_approval_response hooks plus the public tool_execution middleware for trusted call IDs. Foundry itself makes no network requests. Installing or cataloguing generated code is a separate human step; nothing is auto-merged.

dolepeeAutomationv0.1.5Updated 2 hours ago

About

Turn a narrow plugin request into a native Hermes plugin: manifest, entry point, tool, SQLite state, tests, static scan and catalog draft. Two archetypes only: a SQLite folder watcher and a JSON API poller, each with one tool. The folder-watcher parser accepts one explicit supported file type or complete dotted suffix and refuses unsupported, composite, conflicting or ambiguous requests. A trailing period is removed only at request end or before validated supported follow-up instructions. Sentence boundaries are detected before a capitalised token or complete instruction verb, but that detection alone does not permit removal; other prose fails closed, and abbreviations without a sentence start stay inside the instruction. Writes stay under the Foundry data root, generated tests run in a minimal environment, and paths outside the root need a pre-tool approval. Provides pre_tool_call and post_approval_response hooks plus the public tool_execution middleware for trusted call IDs. Foundry itself makes no network requests. Installing or cataloguing generated code is a separate human step; nothing is auto-merged.

Plugin Foundry

Canonical source: dolepee/hermes-plugin-foundry.
The repository was transferred with its history and original authorship intact.
See CONTRIBUTING.md for tests and the exact-head Codex review
requirement, and SECURITY.md for execution limits.

Describe a narrow plugin. Foundry emits a native Hermes plugin and runs its
tests. Installing the result is a separate, human step.

This is a spike. It supports two archetypes: a SQLite-backed folder watcher and
a SQLite-backed JSON API poller, each with one tool. Generated code must be
reviewed before installing or publishing.

Where it writes

Everything Foundry generates lives under one root:

<hermes home>/plugin-data/plugin_foundry/generated/

Set HERMES_PLUGIN_FOUNDRY_ROOT to use a different root. foundry_build
refuses any output_dir that resolves outside it (symlinks are followed), and
foundry_test / foundry_catalog refuse directories outside it. A path outside
the root raises a pre_tool_call approval, and only an approved call proceeds.

Generated tests run in a subprocess with a minimal environment — PATH, HOME,
locale and temp-dir variables only. Provider keys and the rest of the Hermes
environment are not passed through.

CLI

For local runs and code review:

python3 foundry_cli.py plan "Watch ~/Invoices for new PDF files"
python3 foundry_cli.py build "Watch ~/Invoices for new PDF files"
python3 foundry_cli.py build "Watch ~/Invoices for new PDF files" --install
python3 foundry_cli.py test <generated dir>
python3 foundry_cli.py list
python3 foundry_cli.py root

--install copies the generated plugin into <hermes home>/plugins/<slug>/.
The tools never install: that stays a deliberate, human-run step.

Tools

  • foundry_plan — parse a request into a spec.
  • foundry_build — generate the plugin under the Foundry root, run its tests.
  • foundry_test — run a generated plugin's tests.
  • foundry_list — list generated plugins.
  • foundry_catalog — read the generated catalog draft.

Boundary

No auto-merge and no automatic catalog PR. No install from the model-facing
tools. Static scan and generated tests run before a human reviews and installs
the code. The request cannot supply shell commands, and Foundry itself does not
reach the network.

README from the reviewed commit 9345a56; it updates when the author re-pins.