@malmhq/intermesh-cli
v0.4.6
Published
Generate and evaluate agent-first CLI and Skill packages locally
Readme
Intermesh CLI
inter is a local CLI for two shipped workflows:
- Generate an installable CLI or local stdio MCP package from an OpenAPI specification and reviewed product tasks.
- Evaluate a CLI or MCP interface from one authored
eval.jsonand retain its evidence locally.
Install
npm install --global @malmhq/intermesh-cli
inter --helpRequires Node.js 22.14 or newer and npm 11 or newer. Intermesh does not require an account or hosted service.
Generate
Create a named generation with one OpenAPI file, then review its product tasks.
inter generate setup --name my-api --openapi ./openapi.json --target cli
# Review .intermesh/generations/my-api/generation.json
inter generate run --name my-apiConfiguration flags like --model, --credential-env, and --target belong to
generate setup, not generate run — generate run reads them from the saved
generation.json and reports unknown options if you pass them again.
Generation captures the reviewed file and OpenAPI, validates every requested task, then builds and verifies the package in the same invocation. Unsupported tasks stop before building and identify what must be changed.
Generation requires an explicit provider/model selection and its named credential environment
variable. OpenAPI and task inputs are sent to that selected provider
for analysis and generation. Each workflow publishes its extracted package and installable
tarball under .intermesh/generations/<name>/outputs/<run-id>/. Run summaries and diagnostics
remain in private machine-local Intermesh storage.
Evaluate
An evaluation lives in the workspace:
.intermesh/evaluations/my-evaluation/
└── eval.jsonRun inter eval setup my-evaluation once to install the project Skills if needed;
if eval.json is missing, the command reports its expected location. Use the
inter-eval-setup Skill to create or repair eval.json. It defines the
candidate, interface, scenarios, clients, environment-variable names and run
settings. It never contains secret values.
inter eval setup my-evaluation
inter eval run my-evaluation
inter eval results my-evaluationEvery finalized run writes a self-contained report.html, versioned results.json and redacted public traces under its private ~/.intermesh/ run directory. To export the same public artifacts immediately after a completed run:
inter eval run my-evaluation --yes --export ./runsTo export a saved run later, select its exact ID:
inter eval results my-evaluation --run <run-id> --export ./runsThe export creates ./runs/<run-id>/ and refuses to overwrite an existing run folder. Review the export before publishing; reports can contain task prompts, findings, agent-reported feedback and redacted interaction traces.
inter eval run asks for confirmation. After explicit authorization, use
--yes for automation. The workflow requires Docker, its Harbor/Python runtime,
the selected model credential variable, and the dedicated target credential declared by the plan.
Never put credential values in flags, plans, or reports.
Today, setup validates configuration, while candidate preparation, execution and result reading are being connected to the eval module. The commands explain that boundary clearly and do not fall back to the retired plan-based evaluator.
Automation
Use --json for scripts and coding agents. JSON mode never prompts: provide
required choices and use --yes only after the exact plan and inputs have been
reviewed.
Use --dry-run --json before setup or generation mutations to preview their
local effects. For eval, use inter --dry-run eval setup <name> to validate the
configuration or inter --dry-run eval run <name> to preview run scope.
Safety
Intermesh reads .env only from the selected workflow folder; exported environment
values take precedence. Keep .env out of Git and limit its local permissions.
Generation runs with the operating-system permissions of the user who starts it, so
use only trusted inputs. Evaluate with scoped target credentials.
Command reference
inter generate setup --help
inter eval setup --help
inter status --help
inter generate --help
inter eval --help