mcpField
H
harness-mint

harness-mint

github.com/ruvnetAgent workflows80.0k237 installsUpdated today
Repository

About harness-mint

harness-mint is a ruflo skill for creating a new harness directory tree with metaharness. It defaults to a dry run and uses safety checks to avoid writing into the current project or overwriting an existing target.

Key features

  1. 01Dry-run unless explicitly confirmed
  2. 02Blocks writes inside the current project
  3. 03Refuses existing target directories
  4. 04Supports named templates and hosts

Use cases

  1. 01Preview a harness scaffold before creating it
  2. 02Create a harness in a new directory outside the current project

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ruvnet/ruflo --skill harness-mint

After installing, type/harness-mintin Claude Code to confirm it loaded.

Details

From the project README

The one write-capable skill in the plugin. Every other skill is pure-read. This one calls metaharness new, which writes a new directory tree.

Safety (load-bearing)

  1. Dry-run by default. Without --confirm, the script prints what it would do and exits 0 without touching disk.
  2. Refuses project root. If --target resolves to the current working directory OR any path inside it, the script errors out with exit 2. Target must be an absolute path OUTSIDE the calling repo (default is a fresh /tmp/ruflo-mint-<ts>-<name>/ dir).
  3. Refuses existing target. Won't overwrite — must scaffold into a non-existent dir.
  4. Subprocess + 60s timeout. No library import, no in-process execution. The mint stays sandboxed from ruflo's runtime.

Algorithm

Implementation: scripts/mint.mjs.

  1. Validate --name, --template. Default --host to claude-code.
  2. Resolve --target (default: temp dir).
  3. Run safety checks (no project-root writes; target must not exist).
  4. Without --confirm: emit dry-run plan, exit 0.
  5. With --confirm: shell npx metaharness new <name> --template <id> --host <id> --target <abs> --yes.

Templates

minimal, vertical:coding, vertical:devops, vertical:support, vertical:legal, vertical:research, vertical:trading, vertical:health, vertical:education, vertical:sales, vertical:business, vertical:crm, vertical:marketing, vertical:advertising, vertical:ai, vertical:agentics, vertical:ruview, vertical:gaming, vertical:repo-maintainer, vertical:exotic.

Hosts

claude-code, codex, pi-dev, hermes, openclaw, rvm, copilot, opencode, github-actions.

Example dry-run

$ node scripts/mint.mjs --name my-harness --template vertical:coding --host claude-code
# harness-mint (dry-run)

- action: metaharness new
- name: my-harness
- template: vertical:coding
- host: claude-code
- target: /tmp/ruflo-mint-1718560000-my-harness
- confirm: false
- willWrite: false

Re-run with `--confirm` to actually scaffold.

Why dry-run by default

Ruflo's behavioral rules say "executing actions with care" — destructive or repo-touching actions need confirmation. The dry-run output makes the WHAT visible before the WHEN. A human sees target, decides, then adds --confirm if happy.

Comments

Markdown supported