Skip to content

Forge Overview

Forge is Shoehorn’s self-service workflow engine: a form-based UI for scaffolding services, creating repositories, provisioning infrastructure, and orchestrating multi-step automations, with optional approval gates.

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 picks one based on the field you use.

Scaffolder steps use action: and target GitHub or the catalog (create repos, files, topics, PRs, register entities). The repo-create, file-create, template-apply, topics-set, PR-create, and catalog-register actions are idempotent: re-running a failed run is safe. The repo-delete action is destructive and not idempotent.

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

See:

  • Creating Molds — mold structure, scaffolder actions, workflow adapters, input schemas, conditional fields, approval flows, and worked 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