🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@agent-pattern-labs/iso

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@agent-pattern-labs/iso

One command that chains agentmd → isolint → iso-harness: author one prompt, ship it to every coding agent.

latest
Source
npmnpm
Version
0.3.2
Version published
Maintainers
1
Created
Source

@agent-pattern-labs/iso

One command that runs the full authored-source pipeline: agentmdisolintiso-route (when models.yaml exists) → iso-harness.

If agent.md is your source of truth, @agent-pattern-labs/iso is the wrapper CLI that turns it into every coding-agent harness layout in one shot.

What it does

Given a project like this:

my-project/
├── agent.md
├── models.yaml        # optional — triggers the iso-route step
└── iso/
    ├── agents/
    ├── commands/
    └── mcp.json

iso build will:

  • Lint agent.md structurally with agentmd lint
  • Render it to iso/instructions.md with agentmd render
  • Lint the rendered prose with isolint lint
  • (When models.yaml or iso/models.yaml exists) Compile the model policy with iso-route build so the resolved role map is on disk when the next step reads it
  • Fan the iso/ directory out to Claude Code, Cursor, Codex, OpenCode, and Pi with iso-harness build — which picks up the resolved map from step 4 and stamps per-subagent model: fields automatically

If the project has no agent.md, the wrapper skips the agentmd steps and uses the existing iso/instructions.md as-is.

Example run

Running iso build against the examples/dogfood project in this repo:

▶ agentmd lint (structural check)
agent.md: ok (0 diagnostics)

▶ agentmd render → iso/instructions.md
wrote iso/instructions.md

▶ isolint lint (portable prose)
1 file scanned — no findings

▶ iso-harness build (fan out to all supported harnesses)
iso-harness: loaded 1 agent(s), 1 command(s), 1 MCP server(s) from iso/
  [claude]   wrote 4 file(s) — CLAUDE.md, .claude/agents/*, .claude/commands/*, .mcp.json
  [cursor]   wrote 3 file(s) — .cursor/rules/*, .cursor/mcp.json
  [codex]    wrote 2 file(s) — AGENTS.md, .codex/config.toml
  [opencode] wrote 4 file(s) — AGENTS.md, .opencode/agents/*, .opencode/skills/*, opencode.json
  [pi]       wrote 3 file(s) — AGENTS.md, .pi/skills/*, .pi/prompts/*

Each step runs in sequence and fails loudly on the first non-zero exit, so a broken authored source never produces a half-written harness tree.

Install

npm install -D @agent-pattern-labs/iso

Or run it ad hoc:

npx @agent-pattern-labs/iso build .

Usage

iso build                         # run the full pipeline for ./
iso build path/to/project         # target another project
iso build . --out dist            # write generated harness files under ./dist
iso build . --target claude,cursor
iso build . --skip-isolint        # skip the portable-prose lint pass
iso build . --skip-iso-route      # skip the model-policy compile step
iso build . --dry-run             # dry-run iso-route + iso-harness writes

iso plan .                        # print the planned steps without executing

--out resolves relative to the project directory you pass to iso. --target is forwarded to both iso-route and iso-harness, so a targeted build only emits model config and harness files for that target set.

--dry-run propagates to both iso-route build and iso-harness build so no files are written. agent.md and iso/instructions.md are still refreshed (those are the author's source, not generated output).

--skip-iso-route is only meaningful when a models.yaml exists — if there's no model policy, the wrapper skips the step automatically.

This repo includes examples/dogfood/ as a local project that exercises the wrapper against a real agent.md + iso/ source tree.

Library API

import { planPipeline, runPipeline } from '@agent-pattern-labs/iso';

const plan = planPipeline('/path/to/project', { target: 'claude,cursor' });
runPipeline('/path/to/project', { out: 'dist' });

planPipeline(projectDir, opts) returns the resolved project dir, output dir, whether agent.md was present, and the exact subprocess steps that would run.

runPipeline(projectDir, opts) executes those steps in order and returns the same plan object.

Relationship to the other packages

  • Use @agent-pattern-labs/agentmd when you only want the structural authored-source dialect and adherence tooling.
  • Use @agent-pattern-labs/isolint when you want portability linting / rewriting on existing harness prose.
  • Use @agent-pattern-labs/iso-harness when you already have a clean iso/ directory and only need harness fan-out.
  • Use @agent-pattern-labs/iso-route when you only want to compile a model policy into per-harness config (without touching prompts). Under the wrapper, it runs automatically whenever models.yaml is present.
  • Use @agent-pattern-labs/iso when you want the whole pipeline behind one command.

Keywords

agent

FAQs

Package last updated on 21 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts