@cg3/equip 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,99 +1,32 @@
1
1
  # @cg3/equip
2
2
 
3
- Universal MCP server + behavioral rules installer for AI coding agents.
3
+ Cross-platform installer for MCP tools, behavioral rules, agent skills, and lifecycle hooks.
4
4
 
5
- [Join the Discord](https://discord.gg/bBcRHT4J) bug reports, feedback, share what you're building.
5
+ [Join the Discord](https://discord.gg/bBcRHT4J) | [Tool Author Guide](./docs/tool-author.md)
6
6
 
7
- Equip handles the hard part of distributing your MCP tool: detecting which AI coding platforms are installed, writing the correct config format for each one, and managing versioned behavioral rules — all with zero dependencies.
7
+ ## What It Does
8
8
 
9
- ## Run the Demo
9
+ You build an MCP tool. You want it to work on Claude Code, Cursor, VS Code, Windsurf, Cline, Roo Code, Codex, Gemini CLI, and more. Each platform has its own config format, file paths, root keys, URL fields, and quirks.
10
10
 
11
- ```bash
12
- npx @cg3/equip demo
13
- ```
11
+ Equip handles all of that. One setup script, 11 platforms.
14
12
 
15
- A self-contained, inline-documented setup script that walks through every equip feature — platform detection, MCP config, behavioral rules, and uninstallation. Runs in dry-run mode by default (no files touched). See [`demo/setup.js`](./demo/setup.js) for the full source.
13
+ ## Install
16
14
 
17
15
  ```bash
18
- npx @cg3/equip demo --live # actually write config files
19
- npx @cg3/equip demo --uninstall # clean up demo files
16
+ npm install -g @cg3/equip
20
17
  ```
21
18
 
22
- ## Supported Platforms
23
-
24
- Equip supports **11 platforms** across two tiers, depending on whether the platform has a writable location for behavioral rules.
25
-
26
- ### Full Support — MCP + Behavioral Rules
27
-
28
- These platforms get both MCP server config *and* auto-installed behavioral rules. Rules teach agents *when* to use your tool (e.g., "search before debugging") and are versioned for idempotent updates.
29
-
30
- | Platform | MCP Config | Rules |
31
- |---|---|---|
32
- | Claude Code | `~/.claude.json` (JSON, `mcpServers`) | `~/.claude/CLAUDE.md` (append) |
33
- | Windsurf | `~/.codeium/windsurf/mcp_config.json` (JSON, `mcpServers`, `serverUrl`) | `~/.codeium/windsurf/memories/global_rules.md` (append) |
34
- | Cline | `globalStorage/.../cline_mcp_settings.json` (JSON, `mcpServers`) | `~/Documents/Cline/Rules/` (standalone file) |
35
- | Roo Code | `globalStorage/.../cline_mcp_settings.json` (JSON, `mcpServers`) | `~/.roo/rules/` (standalone file) |
36
- | Codex | `~/.codex/config.toml` (TOML, `mcp_servers`) | `~/.codex/AGENTS.md` (append) |
37
- | Gemini CLI | `~/.gemini/settings.json` (JSON, `mcpServers`, `httpUrl`) | `~/.gemini/GEMINI.md` (append) |
38
-
39
- ### MCP Only — No Writable Rules Path
40
-
41
- These platforms get MCP server config but don't have a writable global rules file (`rulesPath: null`). The MCP tools work fine — but equip can't auto-install behavioral rules.
42
-
43
- | Platform | MCP Config |
44
- |---|---|
45
- | Cursor | `~/.cursor/mcp.json` (JSON, `mcpServers`, `type: "streamable-http"`) |
46
- | VS Code | `Code/User/mcp.json` (JSON, `servers`, `type: "http"`) |
47
- | Junie (JetBrains) | `~/.junie/mcp/mcp.json` (JSON, `mcpServers`) |
48
- | Copilot (JetBrains) | `~/.config/github-copilot/intellij/mcp.json` (JSON, `mcpServers`) |
49
- | Copilot CLI | `~/.copilot/mcp-config.json` (JSON, `mcpServers`) |
50
-
51
- For these platforms, `installRules()` returns `{ action: "clipboard" }` if the platform is in the configurable `clipboardPlatforms` list (default: `["cursor", "vscode"]`) and automatically copies the rules content to the system clipboard. For platforms with no rules path and not in `clipboardPlatforms`, it returns `{ action: "skipped" }`.
52
-
53
- ### Hooks — Structural Enforcement
54
-
55
- Some platforms support **lifecycle hooks** — scripts that run automatically at key moments (e.g., after a tool fails, when the agent finishes responding). Hooks provide structural enforcement that behavioral rules alone cannot:
56
-
57
- | Platform | Hooks Support | Events |
58
- |---|---|---|
59
- | Claude Code | ✅ | `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `Stop`, `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`, `SubagentStart`, `SubagentStop`, `PreCompact`, `TaskCompleted` |
60
- | All others | ❌ | — |
61
-
62
- When hooks are supported, equip writes the consumer-provided scripts to a configurable directory (default: `~/.${name}/hooks/`) and registers them in the platform's settings. Hooks are a **silent enhancement** — if the platform doesn't support them, equip installs only MCP + rules without any error or warning.
63
-
64
- Hook scripts and event bindings are defined by the consumer (your package), not by equip. Equip provides only the installation infrastructure — capabilities detection, file writing, settings registration, and cleanup. As more platforms add hook support, equip can enable them without consumer code changes.
65
-
66
19
  ## Quick Start
67
20
 
68
21
  ```bash
69
- npx @cg3/equip prior
70
- ```
71
-
72
- That's it. Detects your platforms, authenticates, installs MCP + rules, and verifies — all in one command. Pass `--dry-run` to preview without writing files.
73
-
74
- ## CLI Usage
75
-
76
- You can invoke any npm package that has an equip-based setup command:
77
-
78
- ```bash
79
- # Full package name + command
80
- npx @cg3/equip @cg3/prior-node setup
81
-
82
- # Shorthand (if registered)
83
- npx @cg3/equip prior
22
+ equip prior # Install a tool
23
+ equip status # See what's installed across all platforms
24
+ equip doctor # Validate config integrity
25
+ equip update # Update equip + migrate configs
26
+ unequip prior # Remove a tool
84
27
  ```
85
28
 
86
- The CLI runs `npx -y <package>@latest <command>` with any extra args forwarded (e.g. `--dry-run`, `--platform codex`).
87
-
88
- ### Shorthand Registry
89
-
90
- Registered shorthands save typing. Open a PR to [`registry.json`](./registry.json) to add yours:
91
-
92
- | Shorthand | Expands to |
93
- |---|---|
94
- | `prior` | `@cg3/prior-node setup` |
95
-
96
- ## Programmatic Usage
29
+ ## For Tool Authors
97
30
 
98
31
  ```js
99
32
  const { Equip } = require("@cg3/equip");
@@ -105,103 +38,106 @@ const equip = new Equip({
105
38
  content: `<!-- my-tool:v1.0.0 -->\n## My Tool\nAlways check My Tool first.\n<!-- /my-tool -->`,
106
39
  version: "1.0.0",
107
40
  marker: "my-tool",
108
- fileName: "my-tool.md", // For platforms with rules directories
41
+ },
42
+ skill: {
43
+ name: "lookup",
44
+ files: [{ path: "SKILL.md", content: "---\nname: lookup\ndescription: Look up docs\n---\n\n# Lookup\n" }],
109
45
  },
110
46
  });
111
47
 
112
- // Detect installed platforms
113
48
  const platforms = equip.detect();
114
-
115
- // Install MCP + rules on all detected platforms
116
49
  for (const p of platforms) {
117
50
  equip.installMcp(p, "api_key_here");
118
51
  equip.installRules(p);
119
- }
120
-
121
- // Uninstall
122
- for (const p of platforms) {
123
- equip.uninstallMcp(p);
124
- equip.uninstallRules(p);
52
+ equip.installSkill(p);
125
53
  }
126
54
  ```
127
55
 
128
- ## API
129
-
130
- ### `new Equip(config)`
131
-
132
- - `config.name` — Server name in MCP configs (required)
133
- - `config.serverUrl` — Remote MCP server URL (required unless `stdio` provided)
134
- - `config.rules` — Behavioral rules config (optional)
135
- - `content` — Markdown content with version markers
136
- - `version` — Version string for idempotency tracking
137
- - `marker` — Marker name used in `<!-- marker:vX.X -->` comments
138
- - `fileName` — Standalone filename for directory-based platforms
139
- - `clipboardPlatforms` — Platform IDs that use clipboard (default: `["cursor", "vscode"]`)
140
- - `config.stdio` — Stdio transport config (optional, alternative to HTTP)
141
- - `command`, `args`, `envKey`
142
- - `config.hooks` — Lifecycle hook definitions (optional, array)
143
- - `event` — Hook event name (e.g., `"PostToolUseFailure"`)
144
- - `matcher` — Regex matcher for event filtering (optional, e.g., `"Bash"`)
145
- - `script` — Hook script content (Node.js)
146
- - `name` — Script filename (without `.js` extension)
147
- - `config.hookDir` — Directory for hook scripts (default: `~/.${name}/hooks/`)
148
-
149
- ### Instance Methods
150
-
151
- - `equip.detect()` — Returns array of detected platform objects
152
- - `equip.installMcp(platform, apiKey, options?)` — Install MCP config
153
- - `equip.uninstallMcp(platform, dryRun?)` — Remove MCP config
154
- - `equip.updateMcpKey(platform, apiKey, transport?)` — Update API key
155
- - `equip.installRules(platform, options?)` — Install behavioral rules
156
- - `equip.uninstallRules(platform, dryRun?)` — Remove behavioral rules
157
- - `equip.readMcp(platform)` — Check if MCP is configured
158
- - `equip.buildConfig(platformId, apiKey, transport?)` — Build MCP config object
159
- - `equip.installHooks(platform, options?)` — Install lifecycle hooks (if supported)
160
- - `equip.uninstallHooks(platform, options?)` — Remove hooks
161
- - `equip.hasHooks(platform, options?)` — Check if hooks are installed
162
- - `equip.supportsHooks(platform)` — Check if platform supports hooks
163
-
164
- ### Utilities
56
+ See the [Tool Author Guide](./docs/tool-author.md) for the complete walkthrough, or run `equip demo` for an interactive example.
165
57
 
166
- ```js
167
- const { createManualPlatform, platformName, resolvePlatformId, parseRulesVersion, markerPatterns, cli, KNOWN_PLATFORMS, PLATFORM_REGISTRY, getPlatform } = require("@cg3/equip");
168
- ```
58
+ ## The Four Layers
169
59
 
170
- - `createManualPlatform(id)` Create a platform object for a specific platform ID (bypasses detection)
171
- - `platformName(id)` — Human-readable display name for a platform ID
172
- - `resolvePlatformId(input)` — Resolve a friendly name or alias to a canonical platform ID (e.g., `"claude"` → `"claude-code"`, `"roo"` → `"roo-code"`)
173
- - `parseRulesVersion(content, marker)` — Extract version from a marker block in content
174
- - `markerPatterns(marker)` — Get regex patterns for a marker name
175
- - `KNOWN_PLATFORMS` — Array of all supported platform IDs
176
- - `PLATFORM_REGISTRY` — Map of platform definitions (for advanced use)
177
- - `getPlatform(id)` — Get a platform definition by ID (throws if unknown)
178
- - `cli` — Output helpers: `log`, `ok`, `fail`, `warn`, `info`, `step`, `prompt`, `copyToClipboard`, color constants
60
+ Equip distributes your tool through four complementary layers:
179
61
 
180
- ## Key Features
62
+ | Layer | What It Does | Reliability | Coverage |
63
+ |---|---|---|---|
64
+ | [MCP Config](./docs/mcp-servers.md) | Makes the tool *available* — agent can call it | Baseline | 11 platforms |
65
+ | [Behavioral Rules](./docs/rules.md) | Teaches the agent *when* to call it | Strong | 8 platforms + clipboard |
66
+ | [Agent Skills](./docs/skills.md) | Gives the agent *detailed knowledge* of how to use it | Strong (varies) | 8 platforms |
67
+ | [Lifecycle Hooks](./docs/hooks.md) | *Structurally enforces* behavior at key moments | Strongest | 1 platform (Claude Code) |
181
68
 
182
- - **Zero dependencies** Pure Node.js, works with Node 18+
183
- - **11 platforms** — Covers ~80% of active AI coding tool users
184
- - **Platform-aware** — Handles each platform's config quirks (JSON vs TOML, root keys, URL fields, type requirements)
185
- - **Non-destructive** — Merges into existing configs, creates backups, preserves other servers
186
- - **Versioned rules** — Marker-based blocks enable idempotent updates without clobbering user content
187
- - **Dry-run support** — Preview changes without writing files
188
- - **CLI helpers** — Colored output, prompts, clipboard utilities included
69
+ Each layer compensates for the limitations of the one before it. Tool descriptions alone don't reliably trigger behavior. Rules are stronger but can be compacted. Skills add depth but may not auto-invoke on all platforms. Hooks fire automatically, independent of the agent's memory.
189
70
 
190
- ## How the Layers Work Together
71
+ No layer is a silver bullet. Together, they give you the best coverage available.
191
72
 
192
- Equip distributes your MCP tool through three complementary layers, each stronger than the last:
73
+ ## Supported Platforms
193
74
 
194
- 1. **MCP config** Makes the tool available. The agent *can* call it.
195
- 2. **Behavioral rules** — Teaches the agent *when* to call it. Rules live in the agent's system prompt or project context, close to where decisions happen.
196
- 3. **Lifecycle hooks** Structurally enforces behavior at key moments (e.g., after an error, on task completion). Hooks inject context into the agent's reasoning at exactly the right time, without relying on the agent remembering its rules.
75
+ | Platform | MCP | Rules | Skills | Hooks |
76
+ |---|---|---|---|---|
77
+ | Claude Code | Yes | Yes | Yes | Yes |
78
+ | Cursor | Yes | clipboard | Yes | -- |
79
+ | VS Code / Copilot | Yes | clipboard | Yes | -- |
80
+ | Windsurf | Yes | Yes | Yes | -- |
81
+ | Cline | Yes | Yes | Yes | -- |
82
+ | Roo Code | Yes | Yes | Yes | -- |
83
+ | Codex | Yes | Yes | Yes | -- |
84
+ | Gemini CLI | Yes | Yes | Yes | -- |
85
+ | Junie | Yes | -- | -- | -- |
86
+ | Copilot (JetBrains) | Yes | -- | -- | -- |
87
+ | Copilot CLI | Yes | -- | -- | -- |
88
+
89
+ See [Platforms](./docs/platforms.md) for full details — config paths, detection, and per-platform quirks.
90
+
91
+ ## CLI Commands
92
+
93
+ | Command | Description |
94
+ |---|---|
95
+ | `equip <tool>` | Install an MCP tool |
96
+ | `equip status` | Cross-platform MCP server inventory |
97
+ | `equip doctor` | Validate config integrity, detect drift |
98
+ | `equip update` | Update equip and migrate configs |
99
+ | `equip list` | Show registered tools |
100
+ | `equip uninstall <tool>` | Remove a tool (alias: `unequip`) |
101
+ | `equip demo` | Run the interactive demo |
197
102
 
198
- Each layer compensates for the limitations of the one before it:
103
+ See [CLI Reference](./docs/cli.md) for details.
199
104
 
200
- - **Tool descriptions alone** don't reliably trigger behavior. [Research on 856 MCP tools](https://arxiv.org/abs/2602.14878) found that even fully optimized descriptions only improve task success by ~6 percentage points.
201
- - **Behavioral rules** are stronger, but can be dropped during context window compaction in long sessions, and the agent can still rationalize skipping them.
202
- - **Lifecycle hooks** are the strongest available enforcement — they fire automatically at the platform level, independent of the agent's memory or reasoning. Not all platforms support hooks yet, but equip installs them where available and silently skips where not.
105
+ ## Documentation
203
106
 
204
- No layer is a silver bullet. Together, they give you the best coverage available today across the broadest set of platforms.
107
+ | Guide | Audience |
108
+ |---|---|
109
+ | [Tool Author Guide](./docs/tool-author.md) | Building a setup script with equip |
110
+ | [Platforms](./docs/platforms.md) | Supported platforms, capabilities, paths |
111
+ | [MCP Servers](./docs/mcp-servers.md) | Config format translation, API reference |
112
+ | [Behavioral Rules](./docs/rules.md) | Marker-based versioned instructions |
113
+ | [Agent Skills](./docs/skills.md) | SKILL.md format, cross-platform distribution |
114
+ | [Lifecycle Hooks](./docs/hooks.md) | Event-driven enforcement scripts |
115
+ | [CLI Reference](./docs/cli.md) | Commands, state tracking, tool registry |
116
+
117
+ ## Key Design Decisions
118
+
119
+ - **Zero runtime dependencies** — installs fast, no supply chain risk
120
+ - **Platform registry as single source of truth** — one place for all platform knowledge
121
+ - **Atomic file writes** — crash-safe config modifications
122
+ - **State reconciliation from disk** — CLI scans what's actually installed, no stale cache
123
+ - **Corrupt config detection** — throws instead of silently overwriting
124
+
125
+ ## Tool Registry
126
+
127
+ Register a shorthand for your tool so users can run `equip <name>`. Open a PR to [`registry.json`](./registry.json):
128
+
129
+ ```json
130
+ {
131
+ "my-tool": {
132
+ "package": "@myorg/my-tool",
133
+ "command": "setup",
134
+ "description": "What my tool does",
135
+ "marker": "my-tool",
136
+ "hookDir": "~/.my-tool/hooks",
137
+ "skillName": "my-skill"
138
+ }
139
+ }
140
+ ```
205
141
 
206
142
  ## License
207
143
 
package/bin/equip.js CHANGED
@@ -60,6 +60,8 @@ function cmdHelp() {
60
60
  console.log("");
61
61
  console.log("Commands:");
62
62
  console.log(" <tool> Install an MCP tool (e.g. equip prior)");
63
+ console.log(" ./script.js Run a local setup script (for development)");
64
+ console.log(" . Run current directory's package bin entry");
63
65
  console.log(" uninstall <tool> Remove an installed tool (alias: unequip)");
64
66
  console.log(" status Show all MCP servers across all platforms");
65
67
  console.log(" doctor Validate config integrity and detect drift");
@@ -137,7 +139,20 @@ function cmdUpdate() {
137
139
 
138
140
  // ─── Tool Dispatch ──────────────────────────────────────────
139
141
 
142
+ function isLocalPath(arg) {
143
+ return arg.startsWith("./") || arg.startsWith("../") || arg.startsWith("/")
144
+ || arg.startsWith(".\\") || arg.startsWith("..\\")
145
+ || arg === "."
146
+ || arg.endsWith(".js");
147
+ }
148
+
140
149
  function dispatchTool(alias, extraArgs) {
150
+ // Local path: run directly with node
151
+ if (isLocalPath(alias)) {
152
+ runLocal(alias, extraArgs);
153
+ return;
154
+ }
155
+
141
156
  const entry = TOOLS[alias];
142
157
 
143
158
  if (!entry) {
@@ -157,6 +172,75 @@ function dispatchTool(alias, extraArgs) {
157
172
  spawnTool(entry.package, entry.command, extraArgs, alias);
158
173
  }
159
174
 
175
+ /**
176
+ * Run a local script or package directory.
177
+ * - equip ./piratehat.js → node ./piratehat.js
178
+ * - equip . → reads package.json bin, runs it
179
+ * - equip ../my-tool/setup.js → node ../my-tool/setup.js
180
+ */
181
+ function runLocal(localPath, extraArgs) {
182
+ const _path = require("path");
183
+ const _fs = require("fs");
184
+ let scriptPath;
185
+ let toolName = null;
186
+
187
+ if (localPath === "." || (_fs.existsSync(localPath) && _fs.statSync(localPath).isDirectory())) {
188
+ // Directory — look for package.json with bin field
189
+ const pkgPath = _path.join(localPath, "package.json");
190
+ if (!_fs.existsSync(pkgPath)) {
191
+ console.error(`No package.json found in ${localPath}`);
192
+ process.exit(1);
193
+ }
194
+ const pkg = JSON.parse(_fs.readFileSync(pkgPath, "utf-8"));
195
+ toolName = pkg.name?.replace(/^@[^/]+\//, "") || null;
196
+ const binEntries = pkg.bin;
197
+ if (!binEntries || typeof binEntries !== "object") {
198
+ console.error(`No bin field in ${pkgPath}`);
199
+ process.exit(1);
200
+ }
201
+ // Use the first bin entry
202
+ const binScript = Object.values(binEntries)[0];
203
+ scriptPath = _path.resolve(localPath, binScript);
204
+ } else {
205
+ // Direct script path
206
+ scriptPath = _path.resolve(localPath);
207
+ // Infer tool name from filename (piratehat.js → piratehat)
208
+ toolName = _path.basename(scriptPath, ".js");
209
+ }
210
+
211
+ if (!_fs.existsSync(scriptPath)) {
212
+ console.error(`Script not found: ${scriptPath}`);
213
+ process.exit(1);
214
+ }
215
+
216
+ const child = spawn(process.execPath, [scriptPath, ...extraArgs], {
217
+ stdio: "inherit",
218
+ env: { ...process.env, EQUIP_VERSION },
219
+ });
220
+ child.on("close", (code) => {
221
+ if (toolName) {
222
+ try {
223
+ const { reconcileState } = require("../dist/lib/reconcile");
224
+ const changed = reconcileState({
225
+ toolName,
226
+ package: toolName,
227
+ marker: toolName,
228
+ });
229
+ if (changed > 0) {
230
+ process.stderr.write(`\n equip: tracked ${toolName} on ${changed} platform${changed === 1 ? "" : "s"}\n`);
231
+ }
232
+ } catch (e) {
233
+ process.stderr.write(`\n[equip] state reconciliation failed: ${e.message}\n`);
234
+ }
235
+ }
236
+ process.exit(code || 0);
237
+ });
238
+ child.on("error", (err) => {
239
+ console.error(`Failed to run ${scriptPath}: ${err.message}`);
240
+ process.exit(1);
241
+ });
242
+ }
243
+
160
244
  function spawnTool(pkg, command, extraArgs, toolName) {
161
245
  const npxCmd = process.platform === "win32" ? "npx.cmd" : "npx";
162
246
  const child = spawn(npxCmd, ["-y", `${pkg}@latest`, command, ...extraArgs], {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -69,8 +69,6 @@ class Equip {
69
69
  constructor(config) {
70
70
  if (!config.name)
71
71
  throw new Error("Equip: name is required");
72
- if (!config.serverUrl && !config.stdio)
73
- throw new Error("Equip: serverUrl or stdio is required");
74
72
  this.name = config.name;
75
73
  this.serverUrl = config.serverUrl;
76
74
  this.rules = config.rules || null;
@@ -87,6 +85,8 @@ class Equip {
87
85
  const env = { [this.stdio.envKey]: apiKey };
88
86
  return (0, mcp_1.buildStdioConfig)(this.stdio.command, this.stdio.args, env);
89
87
  }
88
+ if (!this.serverUrl)
89
+ throw new Error("Equip: serverUrl is required for MCP installation");
90
90
  return (0, mcp_1.buildHttpConfigWithAuth)(this.serverUrl, apiKey, platformId);
91
91
  }
92
92
  installMcp(platform, apiKey, options = {}) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cg3/equip",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Universal MCP + behavioral rules installer for AI coding agents",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  ],
22
22
  "scripts": {
23
23
  "build": "tsc",
24
- "test": "tsc && node --test test/equip.test.js",
24
+ "test": "tsc && node --test test/equip.test.js test/docs.test.js",
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "keywords": [