{"_id":"@agent-loom/loom","_rev":"6-87b6a8be472836c224d691fc8377859b","name":"@agent-loom/loom","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@agent-loom/loom","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@agent-loom/loom@1.0.0","maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"homepage":"https://www.npmjs.com/package/@agent-loom/loom","bin":{"loom":"dist/cli.js"},"dist":{"shasum":"1a55ffef0a51f1bf3bbb11662f5eb09791b6108a","tarball":"https://registry.npmjs.org/@agent-loom/loom/-/loom-1.0.0.tgz","fileCount":62,"integrity":"sha512-3wCNetB2tSSfQBLQ9iTvWtGOEfHSrHax9UOwbRw+W9tWRXpsRR0ZJfcYMwt83DyEf2eJfvuOm/rxPXfjqX0isA==","signatures":[{"sig":"MEUCIQCjtKRQ/8QU1NfFeZb3aQFMchmVHyaGRf1RRinqkM4I+AIgEospqKTAzu5BuKEHj1bl9k2gixebwnvhLi2eRqZgvvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222553},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1319ea6c18ca516e6892e410934559c633f2c96e","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:e2e":"vitest run tests/","test:unit":"vitest run src/","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"},"_npmVersion":"10.9.2","description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","directories":{},"_nodeVersion":"22.17.0","dependencies":{"chalk":"^5.6.2","js-yaml":"^4.1.1","commander":"^14.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loom_1.0.0_1773040663754_0.2681954375258755","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agent-loom/loom","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@agent-loom/loom@1.0.1","maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"homepage":"https://www.npmjs.com/package/@agent-loom/loom","bin":{"loom":"dist/cli.js"},"dist":{"shasum":"82a1add948c7e8cac22751ac9b87ccaa444060f5","tarball":"https://registry.npmjs.org/@agent-loom/loom/-/loom-1.0.1.tgz","fileCount":66,"integrity":"sha512-PX6vOeXMFyHZxK+QD+q45zRRPxCswmPQsMSnaRW86jk/+Lj/Q+Vfwy1uOIZiN6F6HfwWBCTVdWvuVoR6FsohdQ==","signatures":[{"sig":"MEQCIEZbm1XrC8G3Peqk0ctpXXeGJ7nyqwyp0VCAGSVGBuCHAiBtHCD//71AaoU7Ueq5bFnnmI47fkKlY61Bx/xiJpGBxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232704},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9f7b6d02abf3c8df6e416a17c488d749b6e21622","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:e2e":"vitest run tests/","test:unit":"vitest run src/","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"},"_npmVersion":"10.9.2","description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","directories":{},"_nodeVersion":"22.17.0","dependencies":{"chalk":"^5.6.2","js-yaml":"^4.1.1","commander":"^14.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loom_1.0.1_1773046597911_0.35394046100807075","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@agent-loom/loom","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@agent-loom/loom@1.0.2","maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"homepage":"https://www.npmjs.com/package/@agent-loom/loom","bin":{"loom":"dist/cli.js"},"dist":{"shasum":"fdd13418854fd27f3f18a76a403656875e77ff5f","tarball":"https://registry.npmjs.org/@agent-loom/loom/-/loom-1.0.2.tgz","fileCount":66,"integrity":"sha512-grT9gQ5kpVVqkBYlx8xotn6Teb/Sj02hHqiJUVo4khPPu7ZYoDiea8f8hi0suKRxLcBQKZYMsdPSPwkXFKe1KA==","signatures":[{"sig":"MEUCIHGP9us94oaqOn3M7lyWQ/26O1vidCVEaE+uJToiWAQ3AiEAol9+g1S5sxiC5gdPEUy1lg6LINjufsUeJsdgOv6u8Yo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233960},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1f34cf390bc858fb6b384b396ed383a539815ab2","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:e2e":"vitest run tests/","test:unit":"vitest run src/","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"},"_npmVersion":"10.9.2","description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","directories":{},"_nodeVersion":"22.17.0","dependencies":{"chalk":"^5.6.2","js-yaml":"^4.1.1","commander":"^14.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loom_1.0.2_1773048139065_0.42463113489708193","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@agent-loom/loom","version":"1.0.3","keywords":[],"author":"","license":"ISC","_id":"@agent-loom/loom@1.0.3","maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"homepage":"https://www.npmjs.com/package/@agent-loom/loom","bugs":{"url":"https://github.com/serverless-paas-balam/loom/issues"},"bin":{"loom":"dist/cli.js"},"dist":{"shasum":"d1768a6c993a1e172c5af277fbb8d03fad84cccf","tarball":"https://registry.npmjs.org/@agent-loom/loom/-/loom-1.0.3.tgz","fileCount":166,"integrity":"sha512-Pwj7NsVrGDZkSTH/OOuOBU8XLCjo6J2sLxoJEt9+p4tlHPhXDgOHpQtSU1diy5T17JTUgK47eXUfW85MfXnxJA==","signatures":[{"sig":"MEUCIQDA0/UUkzFLcU3ezQA38PL4FPSg5jGe3Tp1k/oqQuy7zgIgIJL5ZReYYYxQUA5keyChITeXFoblZfgrzwjtYj6jooA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643731},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./acp":{"types":"./dist/acp/index.d.ts","default":"./dist/acp/index.js"},"./run":{"types":"./dist/run/index.d.ts","default":"./dist/run/index.js"},"./launch":{"types":"./dist/launch/index.d.ts","default":"./dist/launch/index.js"},"./package.json":"./package.json"},"gitHead":"5463c7988aa4fcfd8aa7a1b23f4c6c03a429e926","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","smoke":"npm run lint && npm run test:unit && npm run build","test:e2e":"vitest run tests/","test:unit":"vitest run src/","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"},"repository":{"url":"git+https://github.com/serverless-paas-balam/loom.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^3.25.0","chalk":"^5.6.2","js-yaml":"^4.1.1","commander":"^14.0.3","@agentclientprotocol/sdk":"^0.19.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loom_1.0.3_1778622892220_0.9942116158116543","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@agent-loom/loom","version":"1.1.0","keywords":[],"author":"","license":"ISC","_id":"@agent-loom/loom@1.1.0","maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"homepage":"https://www.npmjs.com/package/@agent-loom/loom","bugs":{"url":"https://github.com/serverless-paas-balam/loom/issues"},"bin":{"loom":"dist/cli.js"},"dist":{"shasum":"45705813213294e6b3dbb1bd8e322f3dd15d9516","tarball":"https://registry.npmjs.org/@agent-loom/loom/-/loom-1.1.0.tgz","fileCount":234,"integrity":"sha512-bsel4RnanNxPBW9JX4apd1/FFGzG/NdMbD7rEThQ5zNH1Lqru2xXLDNAuY3OykUH3dyBEfSTiGwG9sB0mnLn3A==","signatures":[{"sig":"MEUCIFCQ+d/C72/DP76Y6eg8ASYyTroXkR9xoGQkDIrBSmYiAiEA27qq6UhIA2DPygcXounqv4XK3KA0ZgD/6sihjXD6JIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./acp":{"types":"./dist/acp/index.d.ts","default":"./dist/acp/index.js"},"./run":{"types":"./dist/run/index.d.ts","default":"./dist/run/index.js"},"./launch":{"types":"./dist/launch/index.d.ts","default":"./dist/launch/index.js"},"./package.json":"./package.json"},"gitHead":"e9c59d5568ea55bfb75cb446aba56e8b72d7676e","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","smoke":"npm run lint && npm run test:unit && npm run build","test:e2e":"vitest run tests/","test:unit":"vitest run src/","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"},"repository":{"url":"git+https://github.com/serverless-paas-balam/loom.git","type":"git"},"_npmVersion":"10.9.7","description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.25.0","chalk":"^5.6.2","js-yaml":"^4.1.1","commander":"^14.0.3","proper-lockfile":"^4.1.2","@inquirer/prompts":"^8.4.3","@agentclientprotocol/sdk":"^0.19.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","ts-morph":"^28.0.0","typescript":"^5.9.3","@types/node":"^25.3.0","@types/js-yaml":"^4.0.9","@types/proper-lockfile":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/loom_1.1.0_1778964234628_0.9658003562567463","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@agent-loom/loom","version":"3.0.0","description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"loom":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./run":{"types":"./dist/run/index.d.ts","default":"./dist/run/index.js"},"./launch":{"types":"./dist/launch/index.d.ts","default":"./dist/launch/index.js"},"./acp":{"types":"./dist/acp/index.d.ts","default":"./dist/acp/index.js"},"./package.json":"./package.json"},"scripts":{"clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","build":"npm run clean && tsc","test":"vitest run","test:unit":"vitest run src/","test:e2e":"vitest run tests/","test:watch":"vitest","smoke":"npm run lint && npm run lint:sdk-compat && npm run test:unit && npm run build","lint":"tsc --noEmit","prepublishOnly":"npm run build","lint:sdk-compat":"tsc -p tests/sdk-compat/tsconfig.json"},"homepage":"https://www.npmjs.com/package/@agent-loom/loom","repository":{"type":"git","url":"git+https://github.com/serverless-paas-balam/loom.git"},"bugs":{"url":"https://github.com/serverless-paas-balam/loom/issues"},"keywords":[],"author":"","license":"ISC","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^25.3.0","@types/proper-lockfile":"^4.1.4","typescript":"^5.9.3","vitest":"^4.0.18"},"dependencies":{"@agentclientprotocol/sdk":"^0.19.0","@inquirer/prompts":"^8.4.3","chalk":"^5.6.2","commander":"^14.0.3","js-yaml":"^4.1.1","proper-lockfile":"^4.1.2","zod":"^3.25.0"},"_id":"@agent-loom/loom@3.0.0","gitHead":"fba0859c196d9dbf4b88c8f09385ff6144e071d3","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-ZLr7LIM2ncqQ+4ddkI6L7+hTL1rWVFNTSlgVTS7QSMdtoZecUTUWevHul/6eRkfUcbjgw0j79M4EqeJx3dt/bQ==","shasum":"373726731f6f1dcdc01330ffef7ad9c3fd90b639","tarball":"https://registry.npmjs.org/@agent-loom/loom/-/loom-3.0.0.tgz","fileCount":242,"unpackedSize":1133814,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA3djv4PlKpAIrphOREwHqiNG6SqCcG9fmapVB/R5nqhAiAMhs8Jb8ZmRCCR0cJ0bhrq/KjlHjlkKRQFe7YZuDPEEw=="}]},"_npmUser":{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"},"directories":{},"maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/loom_3.0.0_1779812220598_0.4239249301099346"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T07:17:43.676Z","modified":"2026-05-26T16:17:00.942Z","1.0.0":"2026-03-09T07:17:43.901Z","1.0.1":"2026-03-09T08:56:38.065Z","1.0.2":"2026-03-09T09:22:19.213Z","1.0.3":"2026-05-12T21:54:52.465Z","1.1.0":"2026-05-16T20:43:54.818Z","3.0.0":"2026-05-26T16:17:00.806Z"},"bugs":{"url":"https://github.com/serverless-paas-balam/loom/issues"},"license":"ISC","homepage":"https://www.npmjs.com/package/@agent-loom/loom","keywords":[],"repository":{"type":"git","url":"git+https://github.com/serverless-paas-balam/loom.git"},"description":"CLI for sharing and applying coding agent workspace templates across Copilot, Claude Code, and more","maintainers":[{"name":"tsuyoshiushio","email":"ushio@simplearchitect.com"}],"readme":"# Loom\n\n**Agent Workspace engine and runtime for coding agents.** Share, apply, and run a single primary agent plus its operating context -- instructions, skills, prompts, MCP servers, hooks, repos, and data -- across GitHub Copilot, Claude Code, and Cursor.\n\nLoom lets teams maintain reusable Agent Workspaces in a GitHub repository and apply them with a single chat command. No database, no server -- just Git and GitHub Pages.\n\n## Demo\n\nhttps://github.com/user-attachments/assets/8c937a54-cd23-45e6-9eb8-f7e2c86ec3f6\n\n## Three primary use cases\n\nLoom is being built to serve three lanes on a shared foundation. Per RFC [#115](https://github.com/serverless-paas-balam/loom/issues/115), each lane has its own epic; the substrate (apply, validate, renderers, workspace materialization, agent discovery, runtime contract) is tracked under foundation epic [#117](https://github.com/serverless-paas-balam/loom/issues/117).\n\n| Lane | What it does | Tracking |\n|---|---|---|\n| **1. loom-shuttle** (orchestration) | Hub agents drive fully-equipped specialist Copilot CLI agents as conversational peers from any MCP host (VS Code Copilot Chat, Claude Code, Cursor, another Copilot CLI). Preserves skills, per-agent installed workspace, and developer-interactive sessions -- things VS Code's native subagents can't deliver. | [#109 (epic)](https://github.com/serverless-paas-balam/loom/issues/109), [#77](https://github.com/serverless-paas-balam/loom/issues/77) |\n| **2. loom-eval** (benchmarking) | Empirically evaluate custom agents under varying conditions: model A vs B, with/without subagents, prompt variants, skill variants, MCP variants. Move agent design from vibes to evidence. | [#110 (epic)](https://github.com/serverless-paas-balam/loom/issues/110), [#83](https://github.com/serverless-paas-balam/loom/issues/83) |\n| **3. loom-runner** (headless / watch) | Loom owns the reusable execution contract -- workspace creation, apply, MCP/auth, headless Copilot CLI execution, timeout, artifacts, session/result metadata -- that consumers like [aegis](https://github.com/serverless-paas-balam/aegis) and dobby-watch build on with their own triggers, scheduling, and post-processing. | [#111 (epic)](https://github.com/serverless-paas-balam/loom/issues/111), [#112](https://github.com/serverless-paas-balam/loom/issues/112) |\n| **Foundation** (substrate) | Shared Agent Workspace resolver, `loom apply`, adapters, renderers, workspace materialization (including repo- and binary-backed MCP servers), agent discovery, skill staging, and the runtime logging / progress contract that all three lanes depend on. | [#117 (epic)](https://github.com/serverless-paas-balam/loom/issues/117) |\n\n## Why Loom?\n\nCoding agents (Copilot, Claude Code, Cursor) rely on workspace-level configuration: instruction files, skill definitions, MCP servers, prompt files, and repository references. Teams often need to share and reuse these configurations across projects:\n\n- **Onboarding** -- new team members get a ready-to-go agent workspace in seconds\n- **Consistency** -- shared instructions and skills stay in sync across projects\n- **Multi-target support** -- one Agent Workspace renders to Copilot, Claude Code, or Cursor format\n- **Personal setups** -- host your own Agent Workspaces on a personal GitHub repo\n- **Runtime** -- same Agent Workspace runs interactively (`loom chat`), headlessly (`loom run`), as a live specialist (loom-shuttle), or as benchmark trials (loom-eval)\n\n## Quick Start\n\n### 1. Install\n\n```bash\nnpm install -g @agent-loom/loom\n```\n\n### 2. Set up a registry\n\n```bash\nloom registry add my-workspaces https://github.com/<your-org>/<your-agent-workspaces>\n```\n\n### 3. Search and apply Agent Workspaces\n\nIn your coding agent's chat (Copilot, Claude Code, etc.):\n\n```\nSearch for available Loom Agent Workspaces\n```\n\n```\nApply the functions-dev Agent Workspace to this workspace\n```\n\nThe agent handles the whole workflow — searching, selecting, and applying the Agent Workspace to your rendered workspace.\n\n## Apply or run an Agent Workspace\n\nAn Agent Workspace is materialized before it runs. `loom apply` renders the\nAgent Workspace into the target directory. `loom run` resolves the same\n`loom.yaml` source model, stages the rendered workspace safely, launches the\nprimary agent, and captures structured artifacts (`SESSION:`, `REPORT:`,\n`PROGRESS:`). Both commands use the primary agent declared in\n`agent: agents/main.agent.md`.\n\n```bash\n# Materialize the Agent Workspace into the current directory\nloom apply ./workspaces/functions-dev --output .\n\n# Headless one-shot against the same Agent Workspace model\nloom run ./workspaces/functions-dev --prompt \"investigate failing test\" --work-dir ./work\n\n# Interactive picker (TTY only)\nloom\n```\n\n### Install for fast / durable launch\n\nWhen you want an agent always available regardless of cwd, install it once:\n\n```bash\nloom install ./workspaces/functions-dev\n                                # renders under ~/.loom/teams/<reg>/<key>/,\n                                # clones referenced repos, indexes in\n                                # ~/.loom/agents.yaml\n\nloom agents                     # list installed agents (reads ~/.loom/agents.yaml)\nloom agents --all               # browse available agents across registries\n\nloom uninstall ./workspaces/functions-dev\n                                # remove from the installed-agents index\n                                # (drops the team dir when the last agent\n                                # for the Agent Workspace is uninstalled; pass\n                                # --keep-team-dir to retain it)\n```\n\nMaintenance and diagnostics:\n\n```bash\nloom doctor                     # health check: node / git / runtimes / registries / ~/.loom layout / agent frontmatter lint\n```\n\n(Legacy staged dirs from pre-#126 layouts are slated for one-time\nauto-prune on first launch after upgrade -- **PLANNED**, tracked under\n[#297](https://github.com/serverless-paas-balam/loom/issues/297).\nUntil #297 lands, `rm -rf ~/.loom/sessions/*/workspace/` if you need to\nreclaim the space.)\n\nEvery launch is recorded under `~/.loom/sessions/<id>/`. Inspect past runs:\n\n```bash\nloom sessions list              # recent sessions\nloom sessions show <id>         # full metadata\nloom sessions tag <id> bug-repro\nloom sessions note <id> \"this one reproduced #1234\"\n```\n\nEscape hatch: `--no-session` (skip recording).\n\n## Available Skills\n\nLoom ships with 5 skills that teach your coding agent how to use the system:\n\n| Skill | Purpose |\n|-------|---------|\n| **loom-setup** | Install CLI, configure registries, verify setup |\n| **loom-search** | Search and discover Agent Workspaces across registries |\n| **loom-apply** | Apply Agent Workspaces to render workspaces |\n| **loom-scaffold** | Create new Agent Workspaces from existing projects |\n| **loom-workspaces** | Manage workspace history and navigate past projects |\n\nAll skills are bundled with the [Craft catalog](https://www.npmjs.com/package/@agent-loom/craft). Install them with `npx @agent-loom/craft add <skill-name>`.\n\n## How It Works\n\n```\nAgent Workspace registry (GitHub repo)\n  ├── index.yaml              ← auto-generated Agent Workspace index\n  ├── shared/                 ← reusable instructions, MCP, repos, prompts\n  └── workspaces/\n      └── my-agent/\n          └── loom.yaml       ← kind: agent-workspace source\n              ↓\n          loom apply\n              ↓\n      ┌──── Target: Copilot ──────────────────┐\n      │ .github/copilot-instructions.md        │\n      │ .github/instructions/*.instructions.md │\n      │ .github/agents/*.agent.md              │\n      │ .github/skills/*/SKILL.md              │\n      │ .github/prompts/*.prompt.md            │\n      │ .vscode/mcp.json                       │\n      └────────────────────────────────────────┘\n      ┌──── Target: Claude Code ──────────────┐\n      │ CLAUDE.md                              │\n      │ .claude/agents/*.md                    │\n      │ .claude/skills/*/SKILL.md              │\n      │ .claude/settings.json                  │\n      │ .mcp.json                              │\n      └────────────────────────────────────────┘\n```\n\nAgent Workspaces are declarative `loom.yaml` files with `schemaVersion: 1` and `kind: agent-workspace`. The source package names one primary `agent: agents/main.agent.md` and optional `skills`, `prompts`, `instructions`, `hooks`, `mcp`, `repos`, and `data` dependencies. Loom resolves the Agent Workspace, fetches any external skill content, and renders target-specific files.\n\n### Vocabulary boundaries\n\n| Term | Meaning |\n|---|---|\n| Agent Workspace | Source package for one primary agent and the operating context it needs. |\n| Rendered workspace | Generated files on disk for Copilot, Claude Code, or Cursor. |\n| VS Code workspace | A `.code-workspace` editor file; not the Loom source model. |\n| Plugin | Optional Copilot distribution artifact; not Loom's internal source model. |\n| Eval | External proof plan that exercises an Agent Workspace. |\n| Session artifact | Output from executing an Agent Workspace. |\n\n## Agent Workspace registries\n\nAn Agent Workspace registry is a GitHub repository with a specific layout:\n\n```\nmy-registry/\n  ├── index.yaml\n  ├── shared/\n  │   ├── instructions/\n  │   ├── mcp/\n  │   ├── repos/\n  │   ├── prerequisites/\n  │   └── prompts/\n  └── workspaces/\n      ├── agent-a/\n      │   └── loom.yaml\n      └── agent-b/\n          └── loom.yaml\n```\n\nCreate a GitHub repository with an Agent Workspace registry layout. See the [documentation](docs/getting-started.md) for a working example with CI/CD and a GitHub Pages catalog.\n\n## Catalog UI\n\nRegistries can publish a browsable catalog site to GitHub Pages using `@agent-loom/loom-ui`. The catalog is a static Next.js export that displays all Agent Workspaces with their source details, built and deployed automatically via CI/CD.\n\n## Documentation\n\n- [Getting Started](docs/getting-started.md) — Chat-based usage guide\n- [CLI Reference](docs/cli-reference.md) — Full command reference\n- [Architecture](docs/architecture.md) — System design and internals\n- [MCP Scoping Guide](docs/mcp-scoping.md) — Team-level vs per-agent MCP isolation (Agent Workspace authors)\n- [Skills Specification](docs/skills-spec.md) — How skills are defined and resolved\n\n## Packages\n\n| Package | Description |\n|---------|-------------|\n| [`@agent-loom/loom`](https://www.npmjs.com/package/@agent-loom/loom) | CLI + core library |\n| [`@agent-loom/loom-ui`](https://www.npmjs.com/package/@agent-loom/loom-ui) | Static catalog site generator (Next.js) |\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm test\nnode dist/cli.js --help\n```\n\n### Working on a branch\n\nTo dogfood a local build globally:\n\n```bash\ncd <your-loom-worktree>\nnpm run build\nnpm link                        # exposes `loom` from this worktree on PATH\nloom                            # bare TUI -- launches against your local build\nloom run ./workspaces/functions-dev --prompt \"investigate\" --work-dir ./work\n                                # or launch through the interactive picker\n\n# When done:\nnpm unlink -g @agent-loom/loom  # restore the published `loom`\n```\n\n`npm link` pins `loom` to the current worktree path. If you switch branches or\nblow away `node_modules`, re-run `npm run build` (no need to re-link).\n\n## License\n\nISC\n","readmeFilename":"README.md"}