Documentation Index
Fetch the complete documentation index at: https://docs.wip.computer/llms.txt
Use this file to discover all available pages before exploring further.
Universal Installer
Here’s how software works in 2026.
Most software is built for humans. GUIs, dashboards, web apps. Humans click buttons, fill forms, read screens.
But the users are changing. Your AIs are the new users. They don’t click. They call functions. They read instructions. They compose tools together. They need a universal interface … multiple ways into the same logic, native to however they work.
Software built for humans doesn’t work for AIs. And software built only for AIs doesn’t work for humans. You need both.
ldm install gives all your tools this universal interface, and teaches your AI how to do it too.
The Karpathy Argument
Andrej Karpathy put it clearly:
“I think the app store, the move to mobile, the concept of an app … is an increasingly outdated concept. What matters are sensors and actuators. Sensors are things that convert physical state into digital state. Actuators are things that convert digital intent into physical change.”
“All LLMs care about are tools and the tools fall into this sensor/actuator divide. Software shouldn’t be built into apps, but into small bespoke tools. Apps are for people. Tools are for LLMs, and increasingly, LLMs are the ones using software.”
Source
This is the future of software. Not apps. Tools. Sensors and actuators that your AIs compose together.
Sensors and Actuators
Sensors turn the world into data:
- Search the web
- Search X/Twitter
- Fetch a post
- Read bookmarks
- Check system health
Actuators turn intent into action:
- Generate an image
- Post a tweet
- Protect a file from edits
- Generate a video
Every tool should offer multiple ways in to the same core logic:
| Way In | What it is | Who uses it |
|---|
| CLI | Shell command | You and any AI with a terminal |
| Module | Code import | Other tools, scripts |
| Connection Point | JSON-RPC over stdio | Claude Code, Cursor, any MCP-compatible AI |
| Background Integration | Lifecycle hooks + tools | OpenClaw AIs |
| Skill | Written instructions (SKILL.md) | Any AI that reads files |
| Automation Hook | Events before/after actions | Claude Code |
| App Package | Distributable bundle (skills, hooks, connections) | Claude Code marketplace |
Not every tool needs all seven. Build what makes sense. But the more ways you offer, the more AIs can use your tool.
How to Build It
The structure is simple. Four files:
your-tool/
core.mjs # pure logic, zero deps if possible
cli.mjs # thin CLI wrapper
mcp-server.mjs # MCP server wrapping core as tools
SKILL.md # when/how to use it, for AIs
core.mjs does the work. Everything else is a thin wrapper. CLI parses arguments and calls core. The connection point maps tools to core functions. SKILL.md teaches AIs when to call what.
One codebase, one set of tests, multiple ways in.
The Installer
ldm install scans any tool, detects which interfaces exist, and installs them all. One command.
ldm install wipcomputer/wip-grok # from GitHub
ldm install /path/to/repo # from a local path
ldm install --dry-run # detect only
ldm install # update all
What It Detects
| Pattern | Type | Install action |
|---|
package.json with bin | CLI | npm install -g |
main or exports in package.json | Module | Reports import path |
mcp-server.mjs | Connection Point | Adds to .mcp.json config |
openclaw.plugin.json | Background Integration | Copies to ~/.openclaw/extensions/ |
SKILL.md | Skill | Reports path |
guard.mjs or claudeCode.hook | Automation Hook | Adds to ~/.claude/settings.json |
.claude-plugin/plugin.json | App Package | Registers with Claude Code marketplace |
Install Prompt Template
Every tool gets an install prompt. Paste it into any AI. Your AI reads the spec, explains it, checks what’s installed, and walks you through a dry run.
Read wip.computer/install/{URL}
Then explain:
1. What is {name of product}?
2. What does it install on my system?
3. What changes for us? (this AI)
4. What changes across all my AIs?
Check if {name of product} is already installed.
If it is, show me what I have and what's new.
Then ask:
- Do you have questions?
- Want to see a dry run?
If I say yes, run: {product-init} init --dry-run
Show me exactly what will change. Don't install anything until I say "install".
Works With All Your AI Apps
Works with any AI that can run shell commands:
| AI App | How |
|---|
| Claude Code | CLI via bash, hooks via settings.json, connections via .mcp.json, packages via marketplace |
| OpenAI Codex CLI | CLI via bash, skills via AGENTS.md |
| Cursor | CLI via terminal, connections via config |
| Windsurf | CLI via terminal, connections via config |
| OpenClaw | Background integrations, skills, connections |
| Any AI | CLI works everywhere. If it has a terminal, it works. |
Examples
| Tool | Type | Interfaces | What it does |
|---|
| wip-grok | Sensor + Actuator | CLI + Module + Connection + Skill | xAI Grok API: search web/X, generate images/video |
| wip-x | Sensor + Actuator | CLI + Module + Connection + Skill | X Platform API: read/write tweets, bookmarks |
| wip-file-guard | Actuator | CLI + Background + Hook | Protect files from AI edits |
| wip-healthcheck | Sensor | CLI + Module | System health monitoring |
| wip-markdown-viewer | Actuator | CLI + Module | Live markdown viewer |
Part of LDM OS
Universal Installer ships with LDM OS. Run ldm install to use it.