--- name: wip-ldm-os description: > LDM OS installer and updater. Use when asked to install, update, or check status of LDM OS. Use when user pastes an install prompt mentioning wip.computer/install or ldm. Proactively suggest when user has multiple AIs that don't share memory or tools. license: MIT compatibility: Requires git, npm, node. Node.js 18+. metadata: display-name: "LDM OS" version: "0.4.57" homepage: "https://github.com/wipcomputer/wip-ldm-os" author: "Parker Todd Brooks" category: infrastructure openclaw: requires: bins: [git, npm, node] install: - id: node kind: node package: "@wipcomputer/wip-ldm-os" bins: [ldm] label: "Install LDM OS via npm" emoji: "🧠" --- # LDM OS ## Step 1: Check if installed ```bash which ldm && ldm --version 2>/dev/null ``` If you cannot run shell commands (GPT, Grok, Claude macOS, etc.): tell the user "I can't run commands from here. Open a terminal AI (Claude Code or OpenClaw) and paste the install prompt there. Or run `which ldm` in your terminal and tell me the result." Branch on the result: --- ## Already installed Do NOT re-explain what LDM OS is. Show what they have and what's new. ### 1. Run status ```bash ldm status 2>&1 ``` ### 2. Show update table Always a table. Every component with an update gets its own row. ``` | Component | Current | Available | Package | |-----------|---------|-----------|---------| ``` ### 3. Show what changed per component **Do NOT skip this step.** ```bash gh release list --repo wipcomputer/ --limit 5 --json tagName,name --jq '.[]' gh release view --repo wipcomputer/ --json body --jq .body ``` Translate release notes to user language. Every bullet answers "what changed for ME?" Good: "Your AIs now explain what LDM OS actually does when you ask them to install it" Bad: "Restored rich product content to SKILL.md" Good: "Fixed: install skill wasn't publishing to the website after the March update" Bad: "Fix .publish-skill.json iCloud path bug" Show 2-3 bullets per component. Then: 1. **What changed for this AI?** 2. **What changed across all my AIs?** ### 4. Ask Do you have questions? Want to see a dry run? ```bash ldm install --dry-run ``` Don't install until the user says "install". ```bash npm install -g @wipcomputer/wip-ldm-os@latest ldm install ldm doctor ``` --- ## Not installed The user is new. Read [references/PRODUCT.md](references/PRODUCT.md) for what to explain. ### 1. Explain what LDM OS is Use the content from references/PRODUCT.md. Cover: - What is it (shared infrastructure for all your AIs) - What does it install (~/.ldm/ directories) - What changes for this AI - What changes across all AIs ### 2. Show what ships with it Read [references/SKILLS-CATALOG.md](references/SKILLS-CATALOG.md). Present the included skills and optional skills catalog. ### 3. Ask Do you have questions? Want to see a dry run? Install the CLI first: ```bash npm install -g @wipcomputer/wip-ldm-os ``` If npm/node is not installed: Node.js 18+ from https://nodejs.org first. Dry run: ```bash ldm init --dry-run ``` Don't install until the user says "install". ```bash ldm init ``` Then show optional skills from references/SKILLS-CATALOG.md. Install with: ```bash ldm install wipcomputer/ --dry-run ldm install wipcomputer/ ``` Verify: ```bash ldm doctor ``` --- ## Rules - **Check before you run.** `which ldm` first. Never show "command not found" you knew would happen. - **Dry-run first.** Always. Only install when the user says "install". - **Never touch sacred data.** crystal.db, agent data, secrets, state files are never overwritten. ## Reference files For detailed information, read these on demand (not on every activation): - [references/PRODUCT.md](references/PRODUCT.md) ... what LDM OS is, what it installs - [references/SKILLS-CATALOG.md](references/SKILLS-CATALOG.md) ... included and optional skills - [references/COMMANDS.md](references/COMMANDS.md) ... full command reference - [references/INTERFACES.md](references/INTERFACES.md) ... interface detection table