Skip to content

Forge

Forge is Shoehorn’s self-service workflow engine. Teams use it to scaffold new services, create repositories, provision infrastructure, and run multi-step automations through a form-based UI with built-in approval workflows.

A mold is a reusable YAML template that defines inputs, steps, and actions. Molds live in your repository under .shoehorn/molds/ and are discovered automatically by the crawler. Once indexed, they appear in the Forge section of the portal.

A run is a single execution of a mold. Runs track status in real time:

StatusDescription
pendingQueued for execution
pending_approvalWaiting for approval before execution
executingCurrently running steps
completedAll steps finished successfully
failedA step encountered an error
cancelledCancelled by the user

Molds can require approval before execution. You define who needs to approve and how many approvals are needed. Runs enter pending_approval status until all approval steps are satisfied.

  1. Open Forge in the sidebar
  2. Browse or search for a mold
  3. Click the mold card to view its details and input form
  4. Fill in the required fields, the form validates as you type
  5. Click the primary action button to create a run
  6. Monitor progress in the Events tab on the run detail page

Use Dry Run to validate inputs without executing the steps.

Use an Idempotency Key to prevent duplicate runs when retrying.

Molds support two step formats. The engine detects which one you are using automatically.

Scaffolder steps use action: and are best for GitHub operations (create repos, files, topics, PRs). All five GitHub actions are idempotent, safe to re-run.

Workflow steps use adapter: and are best for multi-system orchestration (HTTP calls, catalog lookups, logging). Steps support explicit dependencies and conditional execution.

For the complete guide on writing molds, see:

  • Creating Molds, mold structure, scaffolder actions, workflow adapters, input schemas, conditional fields, approval flows, and complete examples
  • Approval Workflows, configuring multi-step approval chains
RoleCan do
Any authenticated userBrowse molds, run workflows, cancel/retry own runs
Approver (listed in approval flow)Approve or reject pending approval requests
AdminManage all molds, cancel/retry any run