{"_id":"@blueprintitai/shop-os-install","_rev":"3-5f354bb1d92f81741243f4c6fea4311a","name":"@blueprintitai/shop-os-install","dist-tags":{"latest":"0.5.17"},"versions":{"0.5.15":{"name":"@blueprintitai/shop-os-install","version":"0.5.15","keywords":["shop-os","blueprint-it","claude-code","obsidian","ai-os","cabinet-shop"],"author":{"name":"Blueprint IT","email":"info@blueprintit.ai"},"license":"UNLICENSED","_id":"@blueprintitai/shop-os-install@0.5.15","maintainers":[{"name":"blueprintitai","email":"glenn@blueprintit.ai"}],"homepage":"https://blueprintit.ai/shop-os","bugs":{"url":"https://github.com/blueprintit-ai/shop-os-installer/issues"},"bin":{"shop-os-update":"bin/shop-os-update.js","shop-os-install":"bin/shop-os-install.js"},"dist":{"shasum":"83de6728bed2671624f61af710d2a6bfcbbdd1a3","tarball":"https://registry.npmjs.org/@blueprintitai/shop-os-install/-/shop-os-install-0.5.15.tgz","fileCount":4,"integrity":"sha512-4z0lJLimCBzKhQ3KlnTamAMLT+bAGae1Lc7mUEvjeWbanEoV2w0Ujt1ZsO+vcbO4AIHUgFhfpzl0B+/zWF1jwg==","signatures":[{"sig":"MEUCIFhz9PWidSeNvsflQK0uz234CHDCcBE3rlCwUOJIHrUrAiEA6thDDPQWs0Ib4JtXVZ5Or1Vr0zXRhv1Oj3zdVlL3Bfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67009},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"b524d86f36ea8086a4cc7a9f689bb37090156a05","_npmUser":{"name":"blueprintitai","email":"glenn@blueprintit.ai"},"repository":{"url":"git+https://github.com/blueprintit-ai/shop-os-installer.git","type":"git"},"_npmVersion":"10.9.2","description":"One-command installer for Shop OS — Blueprint IT's AI Operating System for small businesses.","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shop-os-install_0.5.15_1788121149974_0.814776386902651","host":"s3://npm-registry-packages-npm-production"}},"0.5.16":{"name":"@blueprintitai/shop-os-install","version":"0.5.16","keywords":["shop-os","blueprint-it","claude-code","obsidian","ai-os","cabinet-shop"],"author":{"name":"Blueprint IT","email":"info@blueprintit.ai"},"license":"UNLICENSED","_id":"@blueprintitai/shop-os-install@0.5.16","maintainers":[{"name":"blueprintitai","email":"glenn@blueprintit.ai"}],"homepage":"https://blueprintit.ai/shop-os","bugs":{"url":"https://github.com/blueprintit-ai/shop-os-installer/issues"},"bin":{"shop-os-update":"bin/shop-os-update.js","shop-os-install":"bin/shop-os-install.js"},"dist":{"shasum":"f70ecf712f772b0119684587f2af6adead8a9e98","tarball":"https://registry.npmjs.org/@blueprintitai/shop-os-install/-/shop-os-install-0.5.16.tgz","fileCount":4,"integrity":"sha512-yZtNruyxp9lgrfw1dDelwukwglsFWuVbzoMb0CPR1B3X67MoaY8Kvm/uw6RwsP2DtaISLzo09LxPvc6qI8AT5w==","signatures":[{"sig":"MEUCIQCmI5llD6eTXJz14IdaCS7y0fUXq9APopTgYwsQ9FOb5QIgVh1J0jgNy3yNtXtRQeMFGzTM0dYTusna9I37PouAGpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67852},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"e400de71b2893dc8ccc3bf55f419d44e9b5d1ef1","_npmUser":{"name":"blueprintitai","email":"glenn@blueprintit.ai"},"repository":{"url":"git+https://github.com/blueprintit-ai/shop-os-installer.git","type":"git"},"_npmVersion":"10.9.2","description":"One-command installer for Shop OS — Blueprint IT's AI Operating System for small businesses.","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shop-os-install_0.5.16_1788122752410_0.22861178528210835","host":"s3://npm-registry-packages-npm-production"}},"0.5.17":{"_id":"@blueprintitai/shop-os-install@0.5.17","bin":{"shop-os-update":"bin/shop-os-update.js","shop-os-install":"bin/shop-os-install.js"},"bugs":{"url":"https://github.com/blueprintit-ai/shop-os-installer/issues"},"dist":{"shasum":"8d1f4116899b56b33833a92a0f85d8cc45889b62","tarball":"https://registry.npmjs.org/@blueprintitai/shop-os-install/-/shop-os-install-0.5.17.tgz","fileCount":4,"integrity":"sha512-a1h9JZ8HwskTEE4lg/0dzwGQ1Sle7wPBdZ+O8wUWBYjJu8WP/ExUwoiCLKu2Z4L7uFW5mx+eNrYY6gr6tw9AvA==","signatures":[{"sig":"MEUCIQCwkrFmslquTm0auz+nW4QSFxYihqZZykZz9OF390njnwIgL3M/v7cVALSS3nygJHQM+gLL2xh1daIT1jrb3P5YXS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDppDsVhKqhJYkWE0+tqk5RL2VeI51xlMCCkxypsy/+DQIgYLU28gjjMGFu9yxO6QlDATgQjJuZDVGl+n6CBYYl4TQ="}],"unpackedSize":68385},"name":"@blueprintitai/shop-os-install","type":"module","author":{"name":"Blueprint IT","email":"info@blueprintit.ai"},"engines":{"node":">=18.0.0"},"license":"UNLICENSED","version":"0.5.17","_npmUser":{"name":"blueprintitai","email":"glenn@blueprintit.ai"},"homepage":"https://blueprintit.ai/shop-os","keywords":["shop-os","blueprint-it","claude-code","obsidian","ai-os","cabinet-shop"],"repository":{"url":"git+https://github.com/blueprintit-ai/shop-os-installer.git","type":"git"},"_npmVersion":"11.19.0","description":"One-command installer for Blueprint OS — Blueprint IT's AI Operating System for small businesses.","directories":{},"maintainers":[{"name":"blueprintitai","email":"glenn@blueprintit.ai"}],"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shop-os-install_0.5.17_1790747635648_0.7716213053606229"}}},"time":{"created":"2026-08-30T20:19:09.749Z","modified":"2026-09-30T05:53:55.881Z","0.5.15":"2026-08-30T20:19:10.102Z","0.5.16":"2026-08-30T20:45:52.533Z","0.5.17":"2026-09-30T05:53:55.729Z"},"bugs":{"url":"https://github.com/blueprintit-ai/shop-os-installer/issues"},"author":{"name":"Blueprint IT","email":"info@blueprintit.ai"},"license":"UNLICENSED","homepage":"https://blueprintit.ai/shop-os","keywords":["shop-os","blueprint-it","claude-code","obsidian","ai-os","cabinet-shop"],"repository":{"url":"git+https://github.com/blueprintit-ai/shop-os-installer.git","type":"git"},"description":"One-command installer for Blueprint OS — Blueprint IT's AI Operating System for small businesses.","maintainers":[{"name":"blueprintitai","email":"glenn@blueprintit.ai"}],"readme":"# @blueprintitai/shop-os-install\n\nOne-command installer for **Blueprint OS**: Blueprint IT's AI Operating System for small businesses.\n\n## Setup scripts (run on the onboarding call)\n\nRun **one** of these on the customer's machine. Everything installs automatically:\n\n**Mac** (in Terminal):\n```sh\ncurl -fsSL https://raw.githubusercontent.com/blueprintit-ai/shop-os-installer/main/scripts/setup-macos.sh -o setup.sh\nchmod +x setup.sh\n./setup.sh\n```\n\n**Windows** (in PowerShell as Administrator):\n```powershell\nirm https://raw.githubusercontent.com/blueprintit-ai/shop-os-installer/main/scripts/setup-windows.ps1 -o setup.ps1\nSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process\n.\\setup.ps1\n```\n\nThis installs Node.js, Claude Code, Obsidian, and Blueprint OS in one go. You'll be prompted for your license key and vault location.\n\n> **Known issue**: this exact command trips Windows Defender's `Trojan:Win32/Commando.A!ml` ML classifier on customer machines. See [notes/windows-defender-false-positive.md](notes/windows-defender-false-positive.md) before running this on a customer's onboarding call.\n\n---\n\n## Manual Install\n\nIf you prefer to install prerequisites yourself, run:\n\n```sh\nnpx @blueprintitai/shop-os-install\n```\n\nThe installer (run directly or via the setup scripts above):\n\n1. **Pre-flight**: verifies Node 18+ and Claude Code is installed\n2. **License validation**: prompts for the license key, validates against `https://shop-os-license-server.glenn-15d.workers.dev/validate`\n3. **Marketplaces**: registers `blueprintit-ai/blueprint-skills` and `anthropics/claude-plugins-official` in `~/.claude/plugins/known_marketplaces.json`\n4. **Plugins**: queues `obsidian@blueprint-skills` and `superpowers@claude-plugins-official` in `~/.claude/plugins/installed_plugins.json` (Claude Code does the actual fetch on next launch)\n5. **Vault**: creates a Blueprint OS vault folder (default `~/Blueprint OS Vault`) with a starter `CLAUDE.md`\n6. **Per-vault config**: writes `<vault>/.claude/settings.json` with `enabledPlugins` set for obsidian + superpowers\n7. **License record**: saves `~/.shopos/license.json` (chmod 600) for downstream skill validation\n8. **Next steps**: prints `cd` command and the `/bp-setup` slash command to run\n\nZero npm dependencies. Uses only Node 18+ built-ins (`fetch`, `readline`, `fs`).\n\n## How customers get installed\n\nBlueprint OS Foundation is set up **with** the customer on a one-hour screen-share\n(30 min setup + 30 min training), booked from the welcome email. The welcome\nemail deliberately contains **no install commands**: Blueprint IT runs the\nsetup script above on the call and enters the license key. See\n`welcome-email-template.md` (source of truth:\n`Projects/shop-os-license-server/src/email/welcome-template.ts`).\n\n## Local development\n\n```sh\n# Test the installer against the live license server with a test key\n# (issue one from the admin dashboard first):\nnode bin/shop-os-install.js\n```\n\nThe script reads from stdin so you can also drive it via heredoc for testing:\n\n```sh\nprintf 'SHOP-XXXX-YYYY-ZZZZ\\n/tmp/test-vault\\ny\\n' | node bin/shop-os-install.js\n```\n\n## Publishing to npm\n\nThe package is scoped under `@blueprintit`. You need an npm org named `blueprintit` (or change the scope to your personal username).\n\n```sh\n# One-time: create the @blueprintit npm org if it doesn't exist\n# - go to https://www.npmjs.com/org/create\n# - choose Free plan (limited to public packages, fine for an installer)\n\n# One-time: log in to npm\nnpm login\n\n# Publish\ncd \"Projects/shop-os-installer\"\nnpm publish --access public\n```\n\nAfter publish, the install command works for any customer worldwide:\n\n```sh\nnpx @blueprintitai/shop-os-install\n```\n\n`npx` always fetches the latest published version, so customers get bug fixes automatically.\n\n## Versioning\n\nBump `version` in `package.json` before each publish:\n\n- Patch (`0.1.0` → `0.1.1`): bug fixes\n- Minor (`0.1.0` → `0.2.0`): new install steps or behavior changes\n- Major (`0.1.0` → `1.0.0`): breaking changes (e.g. license server URL change)\n\nThen:\n\n```sh\nnpm publish --access public\n```\n\n## Files\n\n```\nshop-os-installer/\n├── package.json\n├── README.md (this file)\n├── .gitignore\n└── bin/\n    └── shop-os-install.js   (~380 lines, single-file installer)\n```\n\n## Architecture notes\n\n### Why no dependencies\n\nEvery transitive dependency in `npx` is fetched fresh each run. Heavy deps make the install feel slow. Node 18+ ships `fetch`, `readline/promises`, and `fs/promises`, which is everything we need. The whole installer downloads in well under a second.\n\n### Why we write to Claude Code config files directly\n\nThe alternative was to spawn `claude plugin marketplace add ...` and `claude plugin install ...` subprocesses. We chose direct file writes because:\n\n- The config file formats are well-known and stable\n- Direct writes are atomic and deterministic\n- We don't have to depend on the `claude` CLI being on the customer's PATH\n- The customer's next Claude Code session will sync the marketplaces and fetch the actual plugin files, the same as if they'd run the commands\n\nIf a customer's `claude` CLI is broken (PATH issues, version mismatch), our installer still works. We just stage the right config and let Claude Code finish the job.\n\n### What we never touch\n\nWe never modify:\n\n- The customer's existing `enabledPlugins` for other projects (we only write per-vault settings)\n- Other entries in `installed_plugins.json` (we merge, never replace)\n- Other entries in `known_marketplaces.json` (we merge, never replace)\n- Anthropic API keys, Claude Code auth, or any subscription/billing config\n\n## Future enhancements (post-MVP)\n\n| Feature | Why |\n|---|---|\n| `--vault <path>` flag | Skip the prompt for scripted installs |\n| `--license <key>` flag | Same, for testing or scripted reinstalls |\n| Update detection | Tell the customer if a newer Blueprint OS version is available |\n| Telemetry opt-in | Phone home install success/failure counts (anonymous) for product analytics |\n| Uninstall command | `npx @blueprintit/shop-os-uninstall` |\n| Multi-vault mode | Add Blueprint OS to an existing vault rather than creating a new one |\n","readmeFilename":"README.md"}