@wipcomputer/universal-installer 2.1.1 → 2.1.2
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/CHANGELOG.md +5 -0
- package/README.md +2 -118
- package/REFERENCE.md +122 -0
- package/SKILL.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -26,102 +26,6 @@ Andrej Karpathy put it clearly:
|
|
|
26
26
|
|
|
27
27
|
This is the future of software. Not apps. Tools. Sensors and actuators that agents compose together.
|
|
28
28
|
|
|
29
|
-
## Sensors and Actuators
|
|
30
|
-
|
|
31
|
-
Every tool is a sensor, an actuator, or both:
|
|
32
|
-
|
|
33
|
-
**Sensors** convert state into data:
|
|
34
|
-
- Search the web (wip-grok search_web)
|
|
35
|
-
- Search X/Twitter (wip-grok search_x, wip-x search_recent)
|
|
36
|
-
- Fetch a post (wip-x fetch_post)
|
|
37
|
-
- Read bookmarks (wip-x get_bookmarks)
|
|
38
|
-
- Check system health (wip-healthcheck)
|
|
39
|
-
|
|
40
|
-
**Actuators** convert intent into action:
|
|
41
|
-
- Generate an image (wip-grok generate_image)
|
|
42
|
-
- Post a tweet (wip-x post_tweet)
|
|
43
|
-
- Guard a file from edits (wip-file-guard)
|
|
44
|
-
- Generate a video (wip-grok generate_video)
|
|
45
|
-
|
|
46
|
-
## The Universal Interface
|
|
47
|
-
|
|
48
|
-
Agents don't all speak the same language. Some run shell commands. Some import modules. Some talk MCP. Some read markdown instructions.
|
|
49
|
-
|
|
50
|
-
So every tool should expose multiple interfaces into the same core logic:
|
|
51
|
-
|
|
52
|
-
| Interface | What | Who uses it |
|
|
53
|
-
|-----------|------|-------------|
|
|
54
|
-
| **CLI** | Shell command | Humans, any agent with bash |
|
|
55
|
-
| **Module** | ES import | Other tools, scripts |
|
|
56
|
-
| **MCP Server** | JSON-RPC over stdio | Claude Code, Cursor, any MCP client |
|
|
57
|
-
| **OpenClaw Plugin** | Lifecycle hooks + tools | OpenClaw agents |
|
|
58
|
-
| **Skill** | Markdown instructions (SKILL.md) | Any agent that reads files |
|
|
59
|
-
| **Claude Code Hook** | PreToolUse/Stop events | Claude Code |
|
|
60
|
-
|
|
61
|
-
Not every tool needs all six. Build what makes sense. But the more interfaces you expose, the more agents can use your tool.
|
|
62
|
-
|
|
63
|
-
See [SPEC.md](SPEC.md) for the full specification.
|
|
64
|
-
|
|
65
|
-
## How to Build It
|
|
66
|
-
|
|
67
|
-
The architecture is simple. Four files:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
your-tool/
|
|
71
|
-
core.mjs <- pure logic, zero deps if possible
|
|
72
|
-
cli.mjs <- thin CLI wrapper
|
|
73
|
-
mcp-server.mjs <- MCP server wrapping core as tools
|
|
74
|
-
SKILL.md <- when/how to use it, for agents
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
`core.mjs` does the work. Everything else is a thin wrapper. CLI parses argv and calls core. MCP server maps tools to core functions. SKILL.md teaches agents when to call what.
|
|
78
|
-
|
|
79
|
-
This means one codebase, one set of tests, multiple interfaces.
|
|
80
|
-
|
|
81
|
-
## The Reference Installer
|
|
82
|
-
|
|
83
|
-
`wip-install` scans any repo, detects which interfaces exist, and installs them all. One command.
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# From GitHub
|
|
87
|
-
wip-install wipcomputer/wip-grok
|
|
88
|
-
|
|
89
|
-
# From a local path
|
|
90
|
-
wip-install /path/to/repo
|
|
91
|
-
|
|
92
|
-
# Detect only (no install)
|
|
93
|
-
wip-install --dry-run wipcomputer/wip-x
|
|
94
|
-
|
|
95
|
-
# Machine-readable output
|
|
96
|
-
wip-install --json /path/to/repo
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Example Output
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
Installing: wip-grok
|
|
103
|
-
────────────────────────────────────────
|
|
104
|
-
Detected 4 interface(s): cli, module, mcp, skill
|
|
105
|
-
|
|
106
|
-
✓ CLI: wip-grok installed globally
|
|
107
|
-
✓ Module: import from "core.mjs"
|
|
108
|
-
MCP Server detected: mcp-server.mjs
|
|
109
|
-
✓ Skill: SKILL.md available
|
|
110
|
-
|
|
111
|
-
Done. 4 interface(s) processed.
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### What It Detects
|
|
115
|
-
|
|
116
|
-
| Pattern | Interface | Install action |
|
|
117
|
-
|---------|-----------|---------------|
|
|
118
|
-
| `package.json` with `bin` | CLI | `npm install -g` |
|
|
119
|
-
| `main` or `exports` in `package.json` | Module | Reports import path |
|
|
120
|
-
| `mcp-server.mjs` | MCP | Prints `.mcp.json` config |
|
|
121
|
-
| `openclaw.plugin.json` | OpenClaw | Copies to `~/.openclaw/extensions/` |
|
|
122
|
-
| `SKILL.md` | Skill | Reports path |
|
|
123
|
-
| `guard.mjs` or `claudeCode.hook` | CC Hook | Adds to `~/.claude/settings.json` |
|
|
124
|
-
|
|
125
29
|
## Install
|
|
126
30
|
|
|
127
31
|
Open your AI coding tool and say:
|
|
@@ -143,29 +47,9 @@ Your agent will read the repo, explain the tool, and walk you through integratio
|
|
|
143
47
|
|
|
144
48
|
Also see **[wip-release](https://github.com/wipcomputer/wip-release)** ... one-command release pipeline for agent-native software.
|
|
145
49
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
## Real Examples
|
|
149
|
-
|
|
150
|
-
| Tool | Type | Interfaces | What it does |
|
|
151
|
-
|------|------|------------|-------------|
|
|
152
|
-
| [wip-grok](https://github.com/wipcomputer/wip-grok) | Sensor + Actuator | CLI + Module + MCP + Skill | xAI Grok API: search web/X, generate images/video |
|
|
153
|
-
| [wip-x](https://github.com/wipcomputer/wip-x) | Sensor + Actuator | CLI + Module + MCP + Skill | X Platform API: read/write tweets, bookmarks |
|
|
154
|
-
| [wip-file-guard](https://github.com/wipcomputer/wip-file-guard) | Actuator | CLI + OpenClaw + CC Hook | Protect files from AI edits |
|
|
155
|
-
| [wip-healthcheck](https://github.com/wipcomputer/wip-healthcheck) | Sensor | CLI + Module | System health monitoring |
|
|
156
|
-
|
|
157
|
-
## Supported Tools
|
|
158
|
-
|
|
159
|
-
Works with any AI agent or coding tool that can run shell commands:
|
|
50
|
+
Also see **[wip-file-guard](https://github.com/wipcomputer/wip-file-guard)** ... the lock for the repo. Blocks AI agents from overwriting your critical files.
|
|
160
51
|
|
|
161
|
-
|
|
162
|
-
|------|-----|
|
|
163
|
-
| Claude Code | CLI via bash, hooks via settings.json, MCP via .mcp.json |
|
|
164
|
-
| OpenAI Codex CLI | CLI via bash, skills via AGENTS.md |
|
|
165
|
-
| Cursor | CLI via terminal, MCP via config |
|
|
166
|
-
| Windsurf | CLI via terminal, MCP via config |
|
|
167
|
-
| OpenClaw | Plugins, skills, MCP |
|
|
168
|
-
| Any agent | CLI works everywhere. If it has a shell, it works. |
|
|
52
|
+
See [REFERENCE.md](REFERENCE.md) for sensors/actuators, the interface table, how to build it, the installer, and real examples.
|
|
169
53
|
|
|
170
54
|
---
|
|
171
55
|
|
package/REFERENCE.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
###### WIP Computer
|
|
2
|
+
# Universal Installer ... Reference
|
|
3
|
+
|
|
4
|
+
Sensors/actuators, the interface table, how to build it, the installer, and real examples.
|
|
5
|
+
|
|
6
|
+
## Sensors and Actuators
|
|
7
|
+
|
|
8
|
+
Every tool is a sensor, an actuator, or both:
|
|
9
|
+
|
|
10
|
+
**Sensors** convert state into data:
|
|
11
|
+
- Search the web (wip-grok search_web)
|
|
12
|
+
- Search X/Twitter (wip-grok search_x, wip-x search_recent)
|
|
13
|
+
- Fetch a post (wip-x fetch_post)
|
|
14
|
+
- Read bookmarks (wip-x get_bookmarks)
|
|
15
|
+
- Check system health (wip-healthcheck)
|
|
16
|
+
|
|
17
|
+
**Actuators** convert intent into action:
|
|
18
|
+
- Generate an image (wip-grok generate_image)
|
|
19
|
+
- Post a tweet (wip-x post_tweet)
|
|
20
|
+
- Guard a file from edits (wip-file-guard)
|
|
21
|
+
- Generate a video (wip-grok generate_video)
|
|
22
|
+
|
|
23
|
+
## The Universal Interface
|
|
24
|
+
|
|
25
|
+
Agents don't all speak the same language. Some run shell commands. Some import modules. Some talk MCP. Some read markdown instructions.
|
|
26
|
+
|
|
27
|
+
So every tool should expose multiple interfaces into the same core logic:
|
|
28
|
+
|
|
29
|
+
| Interface | What | Who uses it |
|
|
30
|
+
|-----------|------|-------------|
|
|
31
|
+
| **CLI** | Shell command | Humans, any agent with bash |
|
|
32
|
+
| **Module** | ES import | Other tools, scripts |
|
|
33
|
+
| **MCP Server** | JSON-RPC over stdio | Claude Code, Cursor, any MCP client |
|
|
34
|
+
| **OpenClaw Plugin** | Lifecycle hooks + tools | OpenClaw agents |
|
|
35
|
+
| **Skill** | Markdown instructions (SKILL.md) | Any agent that reads files |
|
|
36
|
+
| **Claude Code Hook** | PreToolUse/Stop events | Claude Code |
|
|
37
|
+
|
|
38
|
+
Not every tool needs all six. Build what makes sense. But the more interfaces you expose, the more agents can use your tool.
|
|
39
|
+
|
|
40
|
+
See [SPEC.md](SPEC.md) for the full specification.
|
|
41
|
+
|
|
42
|
+
## How to Build It
|
|
43
|
+
|
|
44
|
+
The architecture is simple. Four files:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
your-tool/
|
|
48
|
+
core.mjs <- pure logic, zero deps if possible
|
|
49
|
+
cli.mjs <- thin CLI wrapper
|
|
50
|
+
mcp-server.mjs <- MCP server wrapping core as tools
|
|
51
|
+
SKILL.md <- when/how to use it, for agents
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`core.mjs` does the work. Everything else is a thin wrapper. CLI parses argv and calls core. MCP server maps tools to core functions. SKILL.md teaches agents when to call what.
|
|
55
|
+
|
|
56
|
+
This means one codebase, one set of tests, multiple interfaces.
|
|
57
|
+
|
|
58
|
+
## The Reference Installer
|
|
59
|
+
|
|
60
|
+
`wip-install` scans any repo, detects which interfaces exist, and installs them all. One command.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# From GitHub
|
|
64
|
+
wip-install wipcomputer/wip-grok
|
|
65
|
+
|
|
66
|
+
# From a local path
|
|
67
|
+
wip-install /path/to/repo
|
|
68
|
+
|
|
69
|
+
# Detect only (no install)
|
|
70
|
+
wip-install --dry-run wipcomputer/wip-x
|
|
71
|
+
|
|
72
|
+
# Machine-readable output
|
|
73
|
+
wip-install --json /path/to/repo
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Example Output
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Installing: wip-grok
|
|
80
|
+
────────────────────────────────────────
|
|
81
|
+
Detected 4 interface(s): cli, module, mcp, skill
|
|
82
|
+
|
|
83
|
+
✓ CLI: wip-grok installed globally
|
|
84
|
+
✓ Module: import from "core.mjs"
|
|
85
|
+
MCP Server detected: mcp-server.mjs
|
|
86
|
+
✓ Skill: SKILL.md available
|
|
87
|
+
|
|
88
|
+
Done. 4 interface(s) processed.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### What It Detects
|
|
92
|
+
|
|
93
|
+
| Pattern | Interface | Install action |
|
|
94
|
+
|---------|-----------|---------------|
|
|
95
|
+
| `package.json` with `bin` | CLI | `npm install -g` |
|
|
96
|
+
| `main` or `exports` in `package.json` | Module | Reports import path |
|
|
97
|
+
| `mcp-server.mjs` | MCP | Prints `.mcp.json` config |
|
|
98
|
+
| `openclaw.plugin.json` | OpenClaw | Copies to `~/.openclaw/extensions/` |
|
|
99
|
+
| `SKILL.md` | Skill | Reports path |
|
|
100
|
+
| `guard.mjs` or `claudeCode.hook` | CC Hook | Adds to `~/.claude/settings.json` |
|
|
101
|
+
|
|
102
|
+
## Real Examples
|
|
103
|
+
|
|
104
|
+
| Tool | Type | Interfaces | What it does |
|
|
105
|
+
|------|------|------------|-------------|
|
|
106
|
+
| [wip-grok](https://github.com/wipcomputer/wip-grok) | Sensor + Actuator | CLI + Module + MCP + Skill | xAI Grok API: search web/X, generate images/video |
|
|
107
|
+
| [wip-x](https://github.com/wipcomputer/wip-x) | Sensor + Actuator | CLI + Module + MCP + Skill | X Platform API: read/write tweets, bookmarks |
|
|
108
|
+
| [wip-file-guard](https://github.com/wipcomputer/wip-file-guard) | Actuator | CLI + OpenClaw + CC Hook | Protect files from AI edits |
|
|
109
|
+
| [wip-healthcheck](https://github.com/wipcomputer/wip-healthcheck) | Sensor | CLI + Module | System health monitoring |
|
|
110
|
+
|
|
111
|
+
## Supported Tools
|
|
112
|
+
|
|
113
|
+
Works with any AI agent or coding tool that can run shell commands:
|
|
114
|
+
|
|
115
|
+
| Tool | How |
|
|
116
|
+
|------|-----|
|
|
117
|
+
| Claude Code | CLI via bash, hooks via settings.json, MCP via .mcp.json |
|
|
118
|
+
| OpenAI Codex CLI | CLI via bash, skills via AGENTS.md |
|
|
119
|
+
| Cursor | CLI via terminal, MCP via config |
|
|
120
|
+
| Windsurf | CLI via terminal, MCP via config |
|
|
121
|
+
| OpenClaw | Plugins, skills, MCP |
|
|
122
|
+
| Any agent | CLI works everywhere. If it has a shell, it works. |
|
package/SKILL.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wipcomputer/universal-installer",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The reference installer for agent-native software. Detects interfaces (CLI, Module, MCP, OpenClaw, Skill, CC Hook) and installs them all.",
|
|
6
6
|
"main": "detect.mjs",
|