@intent-systems/nexus 2026.1.5-3
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 +222 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +462 -0
- package/dist/agents/agent-paths.js +16 -0
- package/dist/agents/agent-scope.js +44 -0
- package/dist/agents/auth-profiles.js +626 -0
- package/dist/agents/bash-process-registry.js +126 -0
- package/dist/agents/bash-tools.js +838 -0
- package/dist/agents/chutes-oauth.js +47 -0
- package/dist/agents/clawdbot-tools.js +62 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/memory-search.js +80 -0
- package/dist/agents/model-auth.js +115 -0
- package/dist/agents/model-catalog.js +55 -0
- package/dist/agents/model-fallback.js +210 -0
- package/dist/agents/model-scan.js +263 -0
- package/dist/agents/model-selection.js +152 -0
- package/dist/agents/models-config.js +171 -0
- package/dist/agents/nexus-tools.js +46 -0
- package/dist/agents/pi-embedded-block-chunker.js +188 -0
- package/dist/agents/pi-embedded-helpers.js +139 -0
- package/dist/agents/pi-embedded-runner.js +932 -0
- package/dist/agents/pi-embedded-subscribe.js +541 -0
- package/dist/agents/pi-embedded-utils.js +20 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
- package/dist/agents/pi-tool-definition-adapter.js +17 -0
- package/dist/agents/pi-tools.js +510 -0
- package/dist/agents/pi-tools.schema.js +358 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +667 -0
- package/dist/agents/shell-utils.js +53 -0
- package/dist/agents/skill-runner.js +224 -0
- package/dist/agents/skill-state.js +164 -0
- package/dist/agents/skill-tools.js +191 -0
- package/dist/agents/skill-usage.js +43 -0
- package/dist/agents/skills-install.js +244 -0
- package/dist/agents/skills-status.js +157 -0
- package/dist/agents/skills.js +472 -0
- package/dist/agents/subagent-registry.js +321 -0
- package/dist/agents/subagent-registry.store.js +47 -0
- package/dist/agents/system-prompt.js +179 -0
- package/dist/agents/timeout.js +26 -0
- package/dist/agents/tool-display.js +155 -0
- package/dist/agents/tool-display.json +236 -0
- package/dist/agents/tool-images.js +138 -0
- package/dist/agents/tool-policy.js +87 -0
- package/dist/agents/tools/agent-step.js +41 -0
- package/dist/agents/tools/browser-tool.js +295 -0
- package/dist/agents/tools/canvas-tool.js +193 -0
- package/dist/agents/tools/common.js +88 -0
- package/dist/agents/tools/cron-tool.js +141 -0
- package/dist/agents/tools/discord-actions-guild.js +186 -0
- package/dist/agents/tools/discord-actions-messaging.js +313 -0
- package/dist/agents/tools/discord-actions-moderation.js +70 -0
- package/dist/agents/tools/discord-actions.js +56 -0
- package/dist/agents/tools/discord-schema.js +199 -0
- package/dist/agents/tools/discord-tool.js +16 -0
- package/dist/agents/tools/gateway-tool.js +46 -0
- package/dist/agents/tools/gateway.js +28 -0
- package/dist/agents/tools/image-tool.js +140 -0
- package/dist/agents/tools/memory-tool.js +92 -0
- package/dist/agents/tools/nodes-tool.js +413 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/sessions-announce-target.js +35 -0
- package/dist/agents/tools/sessions-helpers.js +88 -0
- package/dist/agents/tools/sessions-history-tool.js +137 -0
- package/dist/agents/tools/sessions-list-tool.js +196 -0
- package/dist/agents/tools/sessions-send-helpers.js +103 -0
- package/dist/agents/tools/sessions-send-tool.js +371 -0
- package/dist/agents/tools/sessions-spawn-tool.js +319 -0
- package/dist/agents/tools/slack-actions.js +129 -0
- package/dist/agents/tools/slack-schema.js +59 -0
- package/dist/agents/tools/slack-tool.js +16 -0
- package/dist/agents/tools/telegram-actions.js +159 -0
- package/dist/agents/tools/telegram-schema.js +28 -0
- package/dist/agents/tools/telegram-tool.js +16 -0
- package/dist/agents/tools/whatsapp-login-tool.js +63 -0
- package/dist/agents/usage.js +58 -0
- package/dist/agents/workspace.js +264 -0
- package/dist/auto-reply/chunk.js +177 -0
- package/dist/auto-reply/command-auth.js +44 -0
- package/dist/auto-reply/command-detection.js +22 -0
- package/dist/auto-reply/envelope.js +30 -0
- package/dist/auto-reply/group-activation.js +20 -0
- package/dist/auto-reply/heartbeat.js +58 -0
- package/dist/auto-reply/model.js +22 -0
- package/dist/auto-reply/reply/abort.js +14 -0
- package/dist/auto-reply/reply/agent-runner.js +426 -0
- package/dist/auto-reply/reply/bash-command.js +314 -0
- package/dist/auto-reply/reply/block-streaming.js +34 -0
- package/dist/auto-reply/reply/body.js +29 -0
- package/dist/auto-reply/reply/commands.js +332 -0
- package/dist/auto-reply/reply/directive-handling.js +626 -0
- package/dist/auto-reply/reply/directives.js +59 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
- package/dist/auto-reply/reply/followup-runner.js +181 -0
- package/dist/auto-reply/reply/groups.js +152 -0
- package/dist/auto-reply/reply/mentions.js +64 -0
- package/dist/auto-reply/reply/model-selection.js +209 -0
- package/dist/auto-reply/reply/queue.js +399 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
- package/dist/auto-reply/reply/reply-tags.js +26 -0
- package/dist/auto-reply/reply/session-updates.js +103 -0
- package/dist/auto-reply/reply/session.js +169 -0
- package/dist/auto-reply/reply/typing.js +125 -0
- package/dist/auto-reply/reply.js +655 -0
- package/dist/auto-reply/send-policy.js +28 -0
- package/dist/auto-reply/status.js +197 -0
- package/dist/auto-reply/templating.js +9 -0
- package/dist/auto-reply/thinking.js +49 -0
- package/dist/auto-reply/tokens.js +2 -0
- package/dist/auto-reply/tool-meta.js +74 -0
- package/dist/auto-reply/transcription.js +57 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +37 -0
- package/dist/browser/cdp.js +382 -0
- package/dist/browser/chrome.js +432 -0
- package/dist/browser/client-actions-core.js +67 -0
- package/dist/browser/client-actions-observe.js +24 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +3 -0
- package/dist/browser/client-fetch.js +43 -0
- package/dist/browser/client.js +105 -0
- package/dist/browser/config.js +155 -0
- package/dist/browser/constants.js +5 -0
- package/dist/browser/profiles-service.js +124 -0
- package/dist/browser/profiles.js +96 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-session.js +144 -0
- package/dist/browser/pw-tools-core.js +363 -0
- package/dist/browser/routes/agent.js +535 -0
- package/dist/browser/routes/basic.js +155 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +105 -0
- package/dist/browser/routes/utils.js +62 -0
- package/dist/browser/screenshot.js +40 -0
- package/dist/browser/server-context.js +377 -0
- package/dist/browser/server.js +81 -0
- package/dist/browser/target-id.js +18 -0
- package/dist/browser/trash.js +21 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +246 -0
- package/dist/canvas-host/a2ui.js +187 -0
- package/dist/canvas-host/server.js +382 -0
- package/dist/channel-web.js +8 -0
- package/dist/cli/browser-cli-actions-input.js +459 -0
- package/dist/cli/browser-cli-actions-observe.js +56 -0
- package/dist/cli/browser-cli-examples.js +31 -0
- package/dist/cli/browser-cli-inspect.js +97 -0
- package/dist/cli/browser-cli-manage.js +286 -0
- package/dist/cli/browser-cli-shared.js +1 -0
- package/dist/cli/browser-cli.js +26 -0
- package/dist/cli/canvas-cli.js +416 -0
- package/dist/cli/cloud-cli.js +336 -0
- package/dist/cli/credential-cli.js +227 -0
- package/dist/cli/cron-cli.js +454 -0
- package/dist/cli/deps.js +17 -0
- package/dist/cli/dns-cli.js +180 -0
- package/dist/cli/gateway-cli.js +665 -0
- package/dist/cli/gateway-rpc.js +20 -0
- package/dist/cli/hooks-cli.js +135 -0
- package/dist/cli/memory-cli.js +101 -0
- package/dist/cli/models-cli.js +248 -0
- package/dist/cli/nodes-camera.js +57 -0
- package/dist/cli/nodes-canvas.js +26 -0
- package/dist/cli/nodes-cli.js +946 -0
- package/dist/cli/nodes-screen.js +37 -0
- package/dist/cli/pairing-cli.js +100 -0
- package/dist/cli/parse-duration.js +20 -0
- package/dist/cli/plugins-cli.js +158 -0
- package/dist/cli/ports.js +97 -0
- package/dist/cli/profile.js +81 -0
- package/dist/cli/program.js +162 -0
- package/dist/cli/prompt.js +19 -0
- package/dist/cli/run-main.js +48 -0
- package/dist/cli/skills-cli.js +132 -0
- package/dist/cli/skills-hub-cli.js +1093 -0
- package/dist/cli/telegram-cli.js +56 -0
- package/dist/cli/tool-connector-cli.js +118 -0
- package/dist/cli/tui-cli.js +35 -0
- package/dist/cli/upstream-sync-cli.js +2833 -0
- package/dist/cli/usage-cli.js +24 -0
- package/dist/cli/wait.js +8 -0
- package/dist/commands/agent-via-gateway.js +115 -0
- package/dist/commands/agent.js +665 -0
- package/dist/commands/antigravity-oauth.js +327 -0
- package/dist/commands/auth-choice-options.js +80 -0
- package/dist/commands/auth-choice.js +134 -0
- package/dist/commands/auth-token.js +31 -0
- package/dist/commands/bootstrap-preset.js +214 -0
- package/dist/commands/capabilities.js +36 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/claude-md.js +137 -0
- package/dist/commands/config-view.js +11 -0
- package/dist/commands/configure.js +648 -0
- package/dist/commands/credential.js +236 -0
- package/dist/commands/cursor-rules.js +230 -0
- package/dist/commands/doctor-state-migrations.js +358 -0
- package/dist/commands/doctor-ui.js +113 -0
- package/dist/commands/doctor.js +673 -0
- package/dist/commands/health.js +112 -0
- package/dist/commands/identity.js +54 -0
- package/dist/commands/init.js +167 -0
- package/dist/commands/models/aliases.js +85 -0
- package/dist/commands/models/fallbacks.js +123 -0
- package/dist/commands/models/image-fallbacks.js +123 -0
- package/dist/commands/models/list.js +347 -0
- package/dist/commands/models/scan.js +271 -0
- package/dist/commands/models/set-image.js +27 -0
- package/dist/commands/models/set.js +27 -0
- package/dist/commands/models/shared.js +73 -0
- package/dist/commands/models.js +7 -0
- package/dist/commands/onboard-auth.js +101 -0
- package/dist/commands/onboard-channels.js +814 -0
- package/dist/commands/onboard-eve-identity.js +98 -0
- package/dist/commands/onboard-github.js +153 -0
- package/dist/commands/onboard-helpers.js +303 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive.js +228 -0
- package/dist/commands/onboard-providers.js +829 -0
- package/dist/commands/onboard-quickstart.js +185 -0
- package/dist/commands/onboard-remote.js +120 -0
- package/dist/commands/onboard-skills.js +148 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +19 -0
- package/dist/commands/openai-codex-model-default.js +38 -0
- package/dist/commands/poll.js +64 -0
- package/dist/commands/quest.js +27 -0
- package/dist/commands/reset.js +61 -0
- package/dist/commands/send.js +124 -0
- package/dist/commands/sessions-ingest.js +359 -0
- package/dist/commands/sessions.js +212 -0
- package/dist/commands/setup.js +59 -0
- package/dist/commands/signal-install.js +135 -0
- package/dist/commands/skills-manifest.js +235 -0
- package/dist/commands/status.js +139 -0
- package/dist/commands/suggestions.js +54 -0
- package/dist/commands/systemd-linger.js +71 -0
- package/dist/commands/update.js +16 -0
- package/dist/commands/usage-upload.js +27 -0
- package/dist/config/config.js +6 -0
- package/dist/config/defaults.js +140 -0
- package/dist/config/group-policy.js +49 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +188 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +425 -0
- package/dist/config/paths.js +82 -0
- package/dist/config/port-defaults.js +32 -0
- package/dist/config/schema.js +173 -0
- package/dist/config/sessions.js +611 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/types.js +1 -0
- package/dist/config/validation.js +29 -0
- package/dist/config/zod-schema.js +1110 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
- package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/index.html +16 -0
- package/dist/cron/isolated-agent.js +529 -0
- package/dist/cron/normalize.js +73 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/run-log.js +72 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service.js +471 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +10 -0
- package/dist/daemon/launchd.js +295 -0
- package/dist/daemon/legacy.js +63 -0
- package/dist/daemon/program-args.js +141 -0
- package/dist/daemon/schtasks.js +269 -0
- package/dist/daemon/service.js +69 -0
- package/dist/daemon/systemd.js +332 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor.js +1089 -0
- package/dist/discord/probe.js +54 -0
- package/dist/discord/send.js +652 -0
- package/dist/discord/token.js +8 -0
- package/dist/entry.js +16 -0
- package/dist/gateway/auth.js +121 -0
- package/dist/gateway/call.js +103 -0
- package/dist/gateway/chat-attachments.js +41 -0
- package/dist/gateway/client.js +180 -0
- package/dist/gateway/config-reload.js +274 -0
- package/dist/gateway/control-ui.js +184 -0
- package/dist/gateway/hooks-mapping.js +282 -0
- package/dist/gateway/hooks.js +168 -0
- package/dist/gateway/net.js +29 -0
- package/dist/gateway/protocol/index.js +62 -0
- package/dist/gateway/protocol/schema.js +577 -0
- package/dist/gateway/server-bridge-subscriptions.js +93 -0
- package/dist/gateway/server-bridge.js +1066 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +680 -0
- package/dist/gateway/server-chat.js +159 -0
- package/dist/gateway/server-constants.js +8 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +165 -0
- package/dist/gateway/server-methods/agent-job.js +114 -0
- package/dist/gateway/server-methods/agent.js +254 -0
- package/dist/gateway/server-methods/channels.js +239 -0
- package/dist/gateway/server-methods/chat.js +207 -0
- package/dist/gateway/server-methods/config.js +50 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +89 -0
- package/dist/gateway/server-methods/health.js +28 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.js +294 -0
- package/dist/gateway/server-methods/providers.js +257 -0
- package/dist/gateway/server-methods/send.js +254 -0
- package/dist/gateway/server-methods/sessions.js +382 -0
- package/dist/gateway/server-methods/skills.js +83 -0
- package/dist/gateway/server-methods/system.js +118 -0
- package/dist/gateway/server-methods/talk.js +22 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +81 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods.js +53 -0
- package/dist/gateway/server-providers.js +687 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server.js +1478 -0
- package/dist/gateway/session-utils.js +355 -0
- package/dist/gateway/ws-log.js +343 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/gmail-ops.js +236 -0
- package/dist/hooks/gmail-setup-utils.js +278 -0
- package/dist/hooks/gmail-watcher.js +190 -0
- package/dist/hooks/gmail.js +177 -0
- package/dist/imessage/client.js +165 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor.js +365 -0
- package/dist/imessage/probe.js +26 -0
- package/dist/imessage/send.js +83 -0
- package/dist/imessage/targets.js +176 -0
- package/dist/index.js +55 -0
- package/dist/infra/agent-events.js +46 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-discovery.js +163 -0
- package/dist/infra/bonjour.js +200 -0
- package/dist/infra/bridge/server.js +564 -0
- package/dist/infra/canvas-host-url.js +54 -0
- package/dist/infra/channel-summary.js +78 -0
- package/dist/infra/control-ui-assets.js +112 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env.js +8 -0
- package/dist/infra/errors.js +28 -0
- package/dist/infra/event-log.js +251 -0
- package/dist/infra/gateway-lock.js +8 -0
- package/dist/infra/git-commit.js +91 -0
- package/dist/infra/heartbeat-events.js +21 -0
- package/dist/infra/heartbeat-runner.js +458 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +37 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +40 -0
- package/dist/infra/nexus-root.js +56 -0
- package/dist/infra/node-pairing.js +212 -0
- package/dist/infra/path-env.js +93 -0
- package/dist/infra/ports.js +87 -0
- package/dist/infra/provider-summary.js +80 -0
- package/dist/infra/provider-usage.auth.js +189 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +6 -0
- package/dist/infra/provider-usage.fetch.minimax.js +214 -0
- package/dist/infra/provider-usage.fetch.shared.js +11 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +77 -0
- package/dist/infra/provider-usage.js +145 -0
- package/dist/infra/provider-usage.load.js +54 -0
- package/dist/infra/provider-usage.shared.js +19 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart.js +29 -0
- package/dist/infra/retry.js +16 -0
- package/dist/infra/runtime-guard.js +59 -0
- package/dist/infra/shell-env.js +88 -0
- package/dist/infra/system-events.js +71 -0
- package/dist/infra/system-presence.js +217 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +149 -0
- package/dist/infra/unhandled-rejections.js +19 -0
- package/dist/infra/usage-suggestions.js +241 -0
- package/dist/infra/usage-upload.js +290 -0
- package/dist/infra/voicewake.js +78 -0
- package/dist/infra/widearea-dns.js +123 -0
- package/dist/infra/ws.js +13 -0
- package/dist/logger.js +52 -0
- package/dist/logging.js +506 -0
- package/dist/macos/gateway-daemon.js +145 -0
- package/dist/macos/relay.js +49 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/host.js +42 -0
- package/dist/media/image-ops.js +119 -0
- package/dist/media/mime.js +123 -0
- package/dist/media/parse.js +83 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +139 -0
- package/dist/polls.js +43 -0
- package/dist/process/command-queue.js +97 -0
- package/dist/process/exec.js +75 -0
- package/dist/provider-web.js +8 -0
- package/dist/providers/github-copilot-auth.js +123 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +11 -0
- package/dist/providers/location.js +48 -0
- package/dist/providers/web/index.js +2 -0
- package/dist/runtime.js +8 -0
- package/dist/sessions/level-overrides.js +9 -0
- package/dist/sessions/send-policy.js +68 -0
- package/dist/signal/client.js +134 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/index.js +3 -0
- package/dist/signal/monitor.js +411 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/send.js +91 -0
- package/dist/slack/actions.js +97 -0
- package/dist/slack/index.js +5 -0
- package/dist/slack/monitor.js +1270 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/send.js +131 -0
- package/dist/slack/token.js +10 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/bot.js +724 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/monitor.js +47 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +63 -0
- package/dist/telegram/proxy.js +9 -0
- package/dist/telegram/reaction-level.js +45 -0
- package/dist/telegram/send.js +151 -0
- package/dist/telegram/sent-message-cache.js +65 -0
- package/dist/telegram/token.js +30 -0
- package/dist/telegram/update-offset-store.js +61 -0
- package/dist/telegram/webhook-set.js +12 -0
- package/dist/telegram/webhook.js +56 -0
- package/dist/tui/commands.js +87 -0
- package/dist/tui/components/assistant-message.js +16 -0
- package/dist/tui/components/chat-log.js +92 -0
- package/dist/tui/components/custom-editor.js +55 -0
- package/dist/tui/components/selectors.js +8 -0
- package/dist/tui/components/tool-execution.js +111 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +140 -0
- package/dist/tui/theme/theme.js +80 -0
- package/dist/tui/tui.js +708 -0
- package/dist/utils.js +153 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +86 -0
- package/dist/web/active-listener.js +25 -0
- package/dist/web/auto-reply.js +1256 -0
- package/dist/web/inbound.js +649 -0
- package/dist/web/login-qr.js +230 -0
- package/dist/web/login.js +71 -0
- package/dist/web/media.js +175 -0
- package/dist/web/outbound.js +102 -0
- package/dist/web/qr-image.js +97 -0
- package/dist/web/reconnect.js +60 -0
- package/dist/web/session.js +370 -0
- package/dist/wizard/clack-prompter.js +56 -0
- package/dist/wizard/onboarding.js +620 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +203 -0
- package/docs/AGENTS.default.md +116 -0
- package/docs/CAPABILITIES.md +444 -0
- package/docs/CNAME +1 -0
- package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
- package/docs/RELEASING.md +69 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/agent-assisted-install.md +95 -0
- package/docs/agent-loop.md +61 -0
- package/docs/agent-send.md +21 -0
- package/docs/agent.md +108 -0
- package/docs/android.md +133 -0
- package/docs/architecture.md +114 -0
- package/docs/assets/markdown.css +133 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/audio.md +48 -0
- package/docs/automation/nexus-sync.md +371 -0
- package/docs/background-process.md +74 -0
- package/docs/bash.md +32 -0
- package/docs/bedrock.md +71 -0
- package/docs/bonjour.md +159 -0
- package/docs/browser-linux-troubleshooting.md +114 -0
- package/docs/browser.md +293 -0
- package/docs/bun.md +56 -0
- package/docs/camera.md +152 -0
- package/docs/clawd.md +212 -0
- package/docs/concepts/usage-tracking.md +29 -0
- package/docs/configuration.md +1666 -0
- package/docs/control-ui.md +83 -0
- package/docs/cron.md +385 -0
- package/docs/dashboard.md +17 -0
- package/docs/device-models.md +46 -0
- package/docs/discord.md +308 -0
- package/docs/discovery.md +112 -0
- package/docs/docker.md +258 -0
- package/docs/docs.json +105 -0
- package/docs/doctor.md +68 -0
- package/docs/elevated.md +31 -0
- package/docs/faq.md +736 -0
- package/docs/feature-inventory/overview.md +141 -0
- package/docs/feature-inventory/rollout-checklist.md +53 -0
- package/docs/feature-inventory/test-matrix.md +87 -0
- package/docs/feature-inventory.md +9 -0
- package/docs/gateway/configuration-examples.md +221 -0
- package/docs/gateway/configuration.md +172 -0
- package/docs/gateway/cron.md +61 -0
- package/docs/gateway/heartbeat.md +207 -0
- package/docs/gateway/pairing.md +109 -0
- package/docs/gateway-lock.md +28 -0
- package/docs/gateway.md +227 -0
- package/docs/gmail-pubsub.md +191 -0
- package/docs/grammy.md +27 -0
- package/docs/group-messages.md +73 -0
- package/docs/groups.md +130 -0
- package/docs/health.md +28 -0
- package/docs/heartbeat.md +73 -0
- package/docs/home-userspace.md +277 -0
- package/docs/hubs.md +148 -0
- package/docs/images.md +51 -0
- package/docs/imessage.md +94 -0
- package/docs/index.md +196 -0
- package/docs/ios.md +372 -0
- package/docs/linux.md +11 -0
- package/docs/location-command.md +95 -0
- package/docs/location.md +46 -0
- package/docs/logging.md +110 -0
- package/docs/lore.md +131 -0
- package/docs/mac/bun.md +133 -0
- package/docs/mac/canvas.md +161 -0
- package/docs/mac/child-process.md +72 -0
- package/docs/mac/dev-setup.md +81 -0
- package/docs/mac/health.md +28 -0
- package/docs/mac/icon.md +26 -0
- package/docs/mac/logging.md +51 -0
- package/docs/mac/menu-bar.md +69 -0
- package/docs/mac/peekaboo.md +170 -0
- package/docs/mac/permissions.md +40 -0
- package/docs/mac/release.md +76 -0
- package/docs/mac/remote.md +57 -0
- package/docs/mac/signing.md +41 -0
- package/docs/mac/skills.md +27 -0
- package/docs/mac/voice-overlay.md +52 -0
- package/docs/mac/voicewake.md +56 -0
- package/docs/mac/webchat.md +27 -0
- package/docs/mac/xpc.md +40 -0
- package/docs/macos.md +104 -0
- package/docs/model-failover.md +75 -0
- package/docs/models.md +91 -0
- package/docs/multi-agent.md +74 -0
- package/docs/nix.md +95 -0
- package/docs/nodes.md +157 -0
- package/docs/onboarding-config-protocol.md +34 -0
- package/docs/onboarding.md +189 -0
- package/docs/pairing.md +85 -0
- package/docs/plans/cron-add-hardening.md +72 -0
- package/docs/plans/group-policy-hardening.md +121 -0
- package/docs/poll.md +52 -0
- package/docs/prereqs.md +67 -0
- package/docs/presence.md +133 -0
- package/docs/proposals/model-config.md +147 -0
- package/docs/provider-routing.md +25 -0
- package/docs/queue.md +78 -0
- package/docs/reference/templates/AGENTS.md +164 -0
- package/docs/remote-gateway-readme.md +153 -0
- package/docs/remote.md +61 -0
- package/docs/research/memory.md +227 -0
- package/docs/rpc.md +35 -0
- package/docs/security.md +200 -0
- package/docs/session-ingestion.md +119 -0
- package/docs/session-tool.md +154 -0
- package/docs/session.md +85 -0
- package/docs/sessions.md +8 -0
- package/docs/setup.md +131 -0
- package/docs/showcase.md +37 -0
- package/docs/signal.md +122 -0
- package/docs/skills-config.md +58 -0
- package/docs/skills.md +153 -0
- package/docs/slack.md +221 -0
- package/docs/subagents.md +72 -0
- package/docs/tailscale.md +71 -0
- package/docs/talk.md +79 -0
- package/docs/telegram.md +96 -0
- package/docs/templates/AGENTS.md +286 -0
- package/docs/templates/BOOTSTRAP.md +35 -0
- package/docs/templates/IDENTITY.md +17 -0
- package/docs/templates/PROFILE.md +14 -0
- package/docs/templates/SOUL.md +41 -0
- package/docs/templates/TOOLS.md +41 -0
- package/docs/templates/USER.md +8 -0
- package/docs/test.md +43 -0
- package/docs/testing-onboarding-quickstart.md +76 -0
- package/docs/testing-philosophy.md +211 -0
- package/docs/thinking.md +46 -0
- package/docs/timezone.md +40 -0
- package/docs/tools.md +346 -0
- package/docs/troubleshooting.md +257 -0
- package/docs/tui.md +71 -0
- package/docs/typebox.md +42 -0
- package/docs/updating.md +138 -0
- package/docs/usage-cloud-aggregation-spec.md +133 -0
- package/docs/usage-suggestions-pipeline.md +126 -0
- package/docs/voicewake.md +61 -0
- package/docs/web.md +115 -0
- package/docs/webchat.md +34 -0
- package/docs/webhook.md +132 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/docs/whatsapp.md +170 -0
- package/docs/windows.md +11 -0
- package/docs/wizard.md +167 -0
- package/package.json +209 -0
- package/skills/1password/SKILL.md +54 -0
- package/skills/1password/docs/setup.md +85 -0
- package/skills/1password/docs/troubleshooting.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/agent-browser/SKILL.md +450 -0
- package/skills/agent-browser/docs/browser-use-eval.md +95 -0
- package/skills/agent-browser/docs/first-tests.md +261 -0
- package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
- package/skills/aix/SKILL.md +93 -0
- package/skills/aix/docs/embeddings.md +40 -0
- package/skills/aix/docs/setup.md +58 -0
- package/skills/aix/docs/troubleshooting.md +41 -0
- package/skills/aix/references/sql.md +48 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +32 -0
- package/skills/bird/docs/auth.md +31 -0
- package/skills/bird/docs/troubleshooting.md +31 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/brave-search/SKILL.md +36 -0
- package/skills/brave-search/docs/setup.md +40 -0
- package/skills/brave-search/docs/troubleshooting.md +37 -0
- package/skills/brave-search/docs/usage.md +28 -0
- package/skills/brave-search/scripts/content.mjs +53 -0
- package/skills/brave-search/scripts/search.mjs +79 -0
- package/skills/browser-use-agent-sdk/SKILL.md +90 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +274 -0
- package/skills/comms/SKILL.md +249 -0
- package/skills/comms/docs/adapters.md +54 -0
- package/skills/comms/docs/setup.md +56 -0
- package/skills/comms/docs/troubleshooting.md +44 -0
- package/skills/comms/references/schema.md +49 -0
- package/skills/computer-use/SKILL.md +204 -0
- package/skills/computer-use/docs/open-interpreter.md +26 -0
- package/skills/computer-use/docs/peekaboo.md +26 -0
- package/skills/computer-use/docs/setup.md +47 -0
- package/skills/computer-use/docs/troubleshooting.md +33 -0
- package/skills/discord/SKILL.md +370 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/eve/SKILL.md +215 -0
- package/skills/eve/docs/dual-account.md +84 -0
- package/skills/eve/docs/intelligence.md +58 -0
- package/skills/eve/docs/setup.md +60 -0
- package/skills/eve/docs/troubleshooting.md +54 -0
- package/skills/eve/scripts/setup-dual-account.sh +125 -0
- package/skills/filesystem/SKILL.md +217 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gh/SKILL.md +22 -0
- package/skills/gh/docs/usage.md +41 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +26 -0
- package/skills/github/docs/setup.md +21 -0
- package/skills/github/docs/troubleshooting.md +24 -0
- package/skills/gog/SKILL.md +104 -0
- package/skills/gog/docs/portability.md +94 -0
- package/skills/gog/docs/setup.md +76 -0
- package/skills/gog/docs/troubleshooting.md +94 -0
- package/skills/gog/scripts/cdp/README.md +90 -0
- package/skills/gog/scripts/cdp/add_test_users.py +69 -0
- package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
- package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
- package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
- package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
- package/skills/google-oauth/SKILL.md +94 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/json-render/SKILL.md +154 -0
- package/skills/json-render/assets/components/README.md +21 -0
- package/skills/json-render/assets/components/catalog.ts +78 -0
- package/skills/json-render/assets/components/registry.tsx +172 -0
- package/skills/json-render/assets/demo/App.css +397 -0
- package/skills/json-render/assets/demo/App.tsx +897 -0
- package/skills/json-render/assets/demo/README.md +22 -0
- package/skills/json-render/assets/demo/catalog.ts +78 -0
- package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
- package/skills/json-render/assets/demo/index.css +27 -0
- package/skills/json-render/assets/demo/registry.tsx +150 -0
- package/skills/json-render/docs/nexus-state-demo.md +84 -0
- package/skills/json-render/docs/shadcn-preset.md +33 -0
- package/skills/json-render/scripts/create-vite-demo.sh +45 -0
- package/skills/json-render/scripts/llm-server/README.md +33 -0
- package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
- package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
- package/skills/json-render/scripts/llm-server/package.json +18 -0
- package/skills/json-render/scripts/llm-server/server.ts +285 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/nexus-cloud/SKILL.md +53 -0
- package/skills/nexus-cloud/docs/security.md +24 -0
- package/skills/nexus-cloud/docs/setup.md +51 -0
- package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/onboarding/SKILL.md +515 -0
- package/skills/onboarding/docs/CAPABILITIES.md +444 -0
- package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
- package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
- package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
- package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
- package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
- package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
- package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
- package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
- package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
- package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
- package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
- package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
- package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
- package/skills/onboarding/docs/agent-apple-id.md +289 -0
- package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
- package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
- package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
- package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
- package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
- package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
- package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
- package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
- package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
- package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
- package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
- package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
- package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
- package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
- package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
- package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
- package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
- package/skills/onboarding/scripts/ralph/prd.json +215 -0
- package/skills/onboarding/scripts/ralph/progress.txt +99 -0
- package/skills/onboarding/scripts/ralph/prompt.md +87 -0
- package/skills/onboarding/scripts/ralph/ralph.log +84 -0
- package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
- package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
- package/skills/openai-image-gen/SKILL.md +31 -0
- package/skills/openai-image-gen/scripts/gen.py +173 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/qmd/SKILL.md +32 -0
- package/skills/qmd/docs/mcp.md +30 -0
- package/skills/qmd/docs/ollama.md +42 -0
- package/skills/qmd/docs/setup.md +44 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/skill-cli-template/SKILL.md +109 -0
- package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +49 -0
- package/skills/telegram/SKILL.md +20 -0
- package/skills/telegram/docs/pairing.md +30 -0
- package/skills/telegram/docs/setup.md +41 -0
- package/skills/telegram/docs/webhook.md +17 -0
- package/skills/things-mac/SKILL.md +61 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/upstream-sync/SKILL.md +151 -0
- package/skills/upstream-sync/scripts/auto-port.sh +227 -0
- package/skills/upstream-sync/scripts/check-all.sh +88 -0
- package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
- package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/wacli/SKILL.md +48 -0
- package/skills/wacli/docs/auth.md +21 -0
- package/skills/wacli/docs/backup.md +9 -0
- package/skills/wacli/docs/troubleshooting.md +21 -0
- package/skills/weather/SKILL.md +53 -0
- package/skills/weather/docs/usage.md +40 -0
|
@@ -0,0 +1,785 @@
|
|
|
1
|
+
# Prerequisite Deep-Dive: Homebrew, Node, & Go
|
|
2
|
+
|
|
3
|
+
**Type**: Prerequisites (Not a Skill)
|
|
4
|
+
**Category**: Local Foundation
|
|
5
|
+
**Setup Difficulty**: 🟢 Easy (Homebrew) → 🟡 Medium (Node + Go)
|
|
6
|
+
**Time Estimate**: ~10-15 minutes
|
|
7
|
+
**Platform**: macOS primary (Linux supported)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What This Is
|
|
12
|
+
|
|
13
|
+
This document covers the **foundational tools** that many Nexus skills depend on:
|
|
14
|
+
- **Homebrew**: Package manager for macOS/Linux
|
|
15
|
+
- **Node.js + npm**: JavaScript runtime and package manager
|
|
16
|
+
- **Go**: Programming language (for some CLI tools)
|
|
17
|
+
|
|
18
|
+
These are **NOT skills** themselves, but prerequisites for installing and running many skills.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Why These Are Needed
|
|
23
|
+
|
|
24
|
+
### Homebrew (brew)
|
|
25
|
+
|
|
26
|
+
| What It Does | Why Nexus Needs It | Skills That Use It |
|
|
27
|
+
|--------------|-------------------|-------------------|
|
|
28
|
+
| Package manager for macOS/Linux | Installs CLI tools easily | eve, wacli, peekaboo, 1password-cli, gh, comms |
|
|
29
|
+
| Manages dependencies | Keeps tools updated | Most skills that require binaries |
|
|
30
|
+
| Provides tap repositories | Access to specialized tools | steipete/tap/wacli, Napageneral/tap/eve |
|
|
31
|
+
|
|
32
|
+
**Without Homebrew**: You'd need to manually download, compile, and install each tool.
|
|
33
|
+
|
|
34
|
+
### Node.js + npm
|
|
35
|
+
|
|
36
|
+
| What It Does | Why Nexus Needs It | Skills That Use It |
|
|
37
|
+
|--------------|-------------------|-------------------|
|
|
38
|
+
| JavaScript runtime | Run JavaScript-based tools | qmd, brave-search, nexus-cloud |
|
|
39
|
+
| npm package manager | Install Node packages | Installing global tools |
|
|
40
|
+
| Script execution | Run .mjs and .js files | brave-search scripts |
|
|
41
|
+
|
|
42
|
+
**Without Node**: JavaScript-based skills won't work at all.
|
|
43
|
+
|
|
44
|
+
### Go
|
|
45
|
+
|
|
46
|
+
| What It Does | Why Nexus Needs It | Skills That Use It |
|
|
47
|
+
|--------------|-------------------|-------------------|
|
|
48
|
+
| Programming language | Required to build some tools from source | eve, comms (if installing via `go install`) |
|
|
49
|
+
| Fast compilation | Build tools quickly | Alternative to Homebrew for Go-based tools |
|
|
50
|
+
| Cross-platform | Same code works on macOS/Linux/Windows | Portable skill implementations |
|
|
51
|
+
|
|
52
|
+
**Without Go**: Can't install tools via `go install` (but Homebrew alternatives often available).
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Detection: Check What You Have
|
|
57
|
+
|
|
58
|
+
### Quick Check Script
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
#!/bin/bash
|
|
62
|
+
# Check for prerequisites
|
|
63
|
+
|
|
64
|
+
echo "Checking prerequisites..."
|
|
65
|
+
echo ""
|
|
66
|
+
|
|
67
|
+
# Check Homebrew
|
|
68
|
+
if which brew > /dev/null 2>&1; then
|
|
69
|
+
echo "✅ Homebrew: $(brew --version | head -1)"
|
|
70
|
+
else
|
|
71
|
+
echo "❌ Homebrew: Not installed"
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
# Check Node.js
|
|
75
|
+
if which node > /dev/null 2>&1; then
|
|
76
|
+
echo "✅ Node.js: $(node --version)"
|
|
77
|
+
else
|
|
78
|
+
echo "❌ Node.js: Not installed"
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# Check npm
|
|
82
|
+
if which npm > /dev/null 2>&1; then
|
|
83
|
+
echo "✅ npm: $(npm --version)"
|
|
84
|
+
else
|
|
85
|
+
echo "❌ npm: Not installed"
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
# Check Go
|
|
89
|
+
if which go > /dev/null 2>&1; then
|
|
90
|
+
echo "✅ Go: $(go version | awk '{print $3}')"
|
|
91
|
+
else
|
|
92
|
+
echo "❌ Go: Not installed"
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
echo ""
|
|
96
|
+
echo "Summary:"
|
|
97
|
+
echo "--------"
|
|
98
|
+
if which brew > /dev/null 2>&1; then
|
|
99
|
+
echo "Homebrew: Ready for skills: eve, wacli, peekaboo, etc."
|
|
100
|
+
else
|
|
101
|
+
echo "Homebrew: NEEDED - Many skills require this"
|
|
102
|
+
fi
|
|
103
|
+
|
|
104
|
+
if which node > /dev/null 2>&1 && which npm > /dev/null 2>&1; then
|
|
105
|
+
echo "Node.js/npm: Ready for skills: qmd, brave-search, etc."
|
|
106
|
+
else
|
|
107
|
+
echo "Node.js/npm: RECOMMENDED - Some skills require this"
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
if which go > /dev/null 2>&1; then
|
|
111
|
+
echo "Go: Ready for alternative installations"
|
|
112
|
+
else
|
|
113
|
+
echo "Go: OPTIONAL - Can use Homebrew instead"
|
|
114
|
+
fi
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Individual Checks
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Check Homebrew
|
|
121
|
+
which brew && brew --version
|
|
122
|
+
|
|
123
|
+
# Check Node.js
|
|
124
|
+
which node && node --version
|
|
125
|
+
|
|
126
|
+
# Check npm
|
|
127
|
+
which npm && npm --version
|
|
128
|
+
|
|
129
|
+
# Check Go
|
|
130
|
+
which go && go version
|
|
131
|
+
|
|
132
|
+
# Check PATH includes common binary locations
|
|
133
|
+
echo $PATH | grep -q "/usr/local/bin" && echo "✅ /usr/local/bin in PATH"
|
|
134
|
+
echo $PATH | grep -q "/opt/homebrew/bin" && echo "✅ /opt/homebrew/bin in PATH"
|
|
135
|
+
echo $PATH | grep -q "$HOME/.npm-global/bin" && echo "✅ npm global in PATH"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Installation
|
|
141
|
+
|
|
142
|
+
### Install Homebrew (macOS/Linux)
|
|
143
|
+
|
|
144
|
+
#### macOS Installation
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Install Homebrew
|
|
148
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
149
|
+
|
|
150
|
+
# Follow the instructions to add brew to PATH
|
|
151
|
+
# For Apple Silicon (M1/M2/M3):
|
|
152
|
+
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
|
|
153
|
+
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
154
|
+
|
|
155
|
+
# For Intel Macs:
|
|
156
|
+
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
|
|
157
|
+
eval "$(/usr/local/bin/brew shellenv)"
|
|
158
|
+
|
|
159
|
+
# Verify installation
|
|
160
|
+
brew --version
|
|
161
|
+
brew doctor
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### Linux Installation
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Install Homebrew on Linux
|
|
168
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
169
|
+
|
|
170
|
+
# Add to PATH (shown after installation)
|
|
171
|
+
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
|
|
172
|
+
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
173
|
+
|
|
174
|
+
# Verify
|
|
175
|
+
brew --version
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Install Node.js + npm
|
|
179
|
+
|
|
180
|
+
#### Option 1: Via Homebrew (Recommended)
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Install Node.js (includes npm)
|
|
184
|
+
brew install node
|
|
185
|
+
|
|
186
|
+
# Verify installation
|
|
187
|
+
node --version
|
|
188
|
+
npm --version
|
|
189
|
+
|
|
190
|
+
# Configure npm global directory (optional but recommended)
|
|
191
|
+
mkdir -p ~/.npm-global
|
|
192
|
+
npm config set prefix '~/.npm-global'
|
|
193
|
+
|
|
194
|
+
# Add to PATH
|
|
195
|
+
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
|
|
196
|
+
source ~/.zshrc
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### Option 2: Via Official Installer
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
# Download from: https://nodejs.org/
|
|
203
|
+
# Install the LTS version
|
|
204
|
+
# Verify installation
|
|
205
|
+
node --version
|
|
206
|
+
npm --version
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
#### Option 3: Via nvm (Node Version Manager)
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Install nvm
|
|
213
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
|
|
214
|
+
|
|
215
|
+
# Restart terminal or source profile
|
|
216
|
+
source ~/.zshrc
|
|
217
|
+
|
|
218
|
+
# Install Node.js LTS
|
|
219
|
+
nvm install --lts
|
|
220
|
+
|
|
221
|
+
# Verify
|
|
222
|
+
node --version
|
|
223
|
+
npm --version
|
|
224
|
+
|
|
225
|
+
# Set default
|
|
226
|
+
nvm alias default node
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Install Go
|
|
230
|
+
|
|
231
|
+
#### Option 1: Via Homebrew (Recommended)
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Install Go
|
|
235
|
+
brew install go
|
|
236
|
+
|
|
237
|
+
# Verify installation
|
|
238
|
+
go version
|
|
239
|
+
|
|
240
|
+
# Configure GOPATH (optional)
|
|
241
|
+
echo 'export GOPATH="$HOME/go"' >> ~/.zshrc
|
|
242
|
+
echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.zshrc
|
|
243
|
+
source ~/.zshrc
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
#### Option 2: Via Official Installer
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# Download from: https://go.dev/dl/
|
|
250
|
+
# macOS: Download .pkg installer
|
|
251
|
+
# Linux: Download .tar.gz
|
|
252
|
+
|
|
253
|
+
# macOS: Run .pkg installer
|
|
254
|
+
|
|
255
|
+
# Linux: Extract and install
|
|
256
|
+
sudo rm -rf /usr/local/go
|
|
257
|
+
sudo tar -C /usr/local -xzf go1.21.x.linux-amd64.tar.gz
|
|
258
|
+
|
|
259
|
+
# Add to PATH
|
|
260
|
+
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
|
|
261
|
+
source ~/.bashrc
|
|
262
|
+
|
|
263
|
+
# Verify
|
|
264
|
+
go version
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Verification
|
|
270
|
+
|
|
271
|
+
### Complete Verification Script
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
#!/bin/bash
|
|
275
|
+
# Comprehensive prerequisite verification
|
|
276
|
+
|
|
277
|
+
echo "================================"
|
|
278
|
+
echo "Nexus Prerequisites Verification"
|
|
279
|
+
echo "================================"
|
|
280
|
+
echo ""
|
|
281
|
+
|
|
282
|
+
ERRORS=0
|
|
283
|
+
|
|
284
|
+
# Check Homebrew
|
|
285
|
+
echo "1. Homebrew (brew)"
|
|
286
|
+
if which brew > /dev/null 2>&1; then
|
|
287
|
+
VERSION=$(brew --version | head -1)
|
|
288
|
+
echo " ✅ $VERSION"
|
|
289
|
+
|
|
290
|
+
# Check brew health
|
|
291
|
+
echo " Running brew doctor..."
|
|
292
|
+
brew doctor > /tmp/brew-doctor.txt 2>&1
|
|
293
|
+
if [ $? -eq 0 ]; then
|
|
294
|
+
echo " ✅ Homebrew is healthy"
|
|
295
|
+
else
|
|
296
|
+
echo " ⚠️ Homebrew has warnings (see /tmp/brew-doctor.txt)"
|
|
297
|
+
fi
|
|
298
|
+
else
|
|
299
|
+
echo " ❌ NOT INSTALLED"
|
|
300
|
+
ERRORS=$((ERRORS + 1))
|
|
301
|
+
fi
|
|
302
|
+
echo ""
|
|
303
|
+
|
|
304
|
+
# Check Node.js
|
|
305
|
+
echo "2. Node.js"
|
|
306
|
+
if which node > /dev/null 2>&1; then
|
|
307
|
+
VERSION=$(node --version)
|
|
308
|
+
echo " ✅ $VERSION"
|
|
309
|
+
|
|
310
|
+
# Check if version is recent (v16+)
|
|
311
|
+
MAJOR=$(node --version | sed 's/v\([0-9]*\).*/\1/')
|
|
312
|
+
if [ "$MAJOR" -ge 16 ]; then
|
|
313
|
+
echo " ✅ Version is current"
|
|
314
|
+
else
|
|
315
|
+
echo " ⚠️ Version is old (recommend v18 LTS or newer)"
|
|
316
|
+
fi
|
|
317
|
+
else
|
|
318
|
+
echo " ❌ NOT INSTALLED"
|
|
319
|
+
ERRORS=$((ERRORS + 1))
|
|
320
|
+
fi
|
|
321
|
+
echo ""
|
|
322
|
+
|
|
323
|
+
# Check npm
|
|
324
|
+
echo "3. npm"
|
|
325
|
+
if which npm > /dev/null 2>&1; then
|
|
326
|
+
VERSION=$(npm --version)
|
|
327
|
+
echo " ✅ $VERSION"
|
|
328
|
+
|
|
329
|
+
# Check global bin directory is in PATH
|
|
330
|
+
NPM_BIN=$(npm config get prefix)/bin
|
|
331
|
+
if echo $PATH | grep -q "$NPM_BIN"; then
|
|
332
|
+
echo " ✅ npm global bin in PATH"
|
|
333
|
+
else
|
|
334
|
+
echo " ⚠️ npm global bin NOT in PATH: $NPM_BIN"
|
|
335
|
+
echo " Add to PATH: export PATH=\"$NPM_BIN:\$PATH\""
|
|
336
|
+
fi
|
|
337
|
+
else
|
|
338
|
+
echo " ❌ NOT INSTALLED"
|
|
339
|
+
ERRORS=$((ERRORS + 1))
|
|
340
|
+
fi
|
|
341
|
+
echo ""
|
|
342
|
+
|
|
343
|
+
# Check Go
|
|
344
|
+
echo "4. Go"
|
|
345
|
+
if which go > /dev/null 2>&1; then
|
|
346
|
+
VERSION=$(go version | awk '{print $3}')
|
|
347
|
+
echo " ✅ $VERSION"
|
|
348
|
+
|
|
349
|
+
# Check GOPATH
|
|
350
|
+
if [ -n "$GOPATH" ]; then
|
|
351
|
+
echo " ✅ GOPATH set: $GOPATH"
|
|
352
|
+
else
|
|
353
|
+
echo " ⚠️ GOPATH not set (will use default: ~/go)"
|
|
354
|
+
fi
|
|
355
|
+
|
|
356
|
+
# Check GOPATH/bin in PATH
|
|
357
|
+
GOBIN="${GOPATH:-$HOME/go}/bin"
|
|
358
|
+
if echo $PATH | grep -q "$GOBIN"; then
|
|
359
|
+
echo " ✅ GOPATH/bin in PATH"
|
|
360
|
+
else
|
|
361
|
+
echo " ⚠️ GOPATH/bin NOT in PATH: $GOBIN"
|
|
362
|
+
echo " Add to PATH: export PATH=\"$GOBIN:\$PATH\""
|
|
363
|
+
fi
|
|
364
|
+
else
|
|
365
|
+
echo " ℹ️ NOT INSTALLED (optional - Homebrew can substitute)"
|
|
366
|
+
fi
|
|
367
|
+
echo ""
|
|
368
|
+
|
|
369
|
+
# Summary
|
|
370
|
+
echo "================================"
|
|
371
|
+
echo "Summary"
|
|
372
|
+
echo "================================"
|
|
373
|
+
if [ $ERRORS -eq 0 ]; then
|
|
374
|
+
echo "✅ All critical prerequisites installed!"
|
|
375
|
+
echo ""
|
|
376
|
+
echo "You're ready to install Nexus skills."
|
|
377
|
+
else
|
|
378
|
+
echo "❌ $ERRORS critical prerequisite(s) missing"
|
|
379
|
+
echo ""
|
|
380
|
+
echo "Install missing prerequisites:"
|
|
381
|
+
which brew > /dev/null || echo " - Homebrew: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""
|
|
382
|
+
which node > /dev/null || echo " - Node.js: brew install node"
|
|
383
|
+
which npm > /dev/null || echo " - npm: Included with Node.js"
|
|
384
|
+
fi
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Common Failure Points
|
|
390
|
+
|
|
391
|
+
### Failure: "brew: command not found"
|
|
392
|
+
|
|
393
|
+
**Symptom**: Shell can't find `brew` command
|
|
394
|
+
|
|
395
|
+
**Cause**: Homebrew not in PATH
|
|
396
|
+
|
|
397
|
+
**Recovery**:
|
|
398
|
+
```bash
|
|
399
|
+
# For Apple Silicon (M1/M2/M3):
|
|
400
|
+
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
|
|
401
|
+
source ~/.zprofile
|
|
402
|
+
|
|
403
|
+
# For Intel Macs:
|
|
404
|
+
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
|
|
405
|
+
source ~/.zprofile
|
|
406
|
+
|
|
407
|
+
# For Linux:
|
|
408
|
+
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
|
|
409
|
+
source ~/.bashrc
|
|
410
|
+
|
|
411
|
+
# Verify
|
|
412
|
+
brew --version
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**Prevention**: Follow Homebrew installation instructions completely
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
### Failure: "npm: command not found" (but node exists)
|
|
420
|
+
|
|
421
|
+
**Symptom**: Node works but npm doesn't
|
|
422
|
+
|
|
423
|
+
**Cause**: npm not installed or not in PATH
|
|
424
|
+
|
|
425
|
+
**Recovery**:
|
|
426
|
+
```bash
|
|
427
|
+
# Check if npm is actually installed
|
|
428
|
+
ls /usr/local/lib/node_modules/npm
|
|
429
|
+
ls /opt/homebrew/lib/node_modules/npm
|
|
430
|
+
|
|
431
|
+
# If missing, reinstall Node
|
|
432
|
+
brew reinstall node
|
|
433
|
+
|
|
434
|
+
# Or install npm separately
|
|
435
|
+
curl -L https://www.npmjs.com/install.sh | sh
|
|
436
|
+
|
|
437
|
+
# Verify
|
|
438
|
+
npm --version
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**Prevention**: Install Node via Homebrew (includes npm)
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
### Failure: "Permission denied" when installing global npm packages
|
|
446
|
+
|
|
447
|
+
**Symptom**: `npm install -g` fails with EACCES error
|
|
448
|
+
|
|
449
|
+
**Cause**: npm trying to write to system directory without permissions
|
|
450
|
+
|
|
451
|
+
**Recovery**:
|
|
452
|
+
```bash
|
|
453
|
+
# Option 1: Configure npm to use user directory (recommended)
|
|
454
|
+
mkdir -p ~/.npm-global
|
|
455
|
+
npm config set prefix '~/.npm-global'
|
|
456
|
+
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
|
|
457
|
+
source ~/.zshrc
|
|
458
|
+
|
|
459
|
+
# Option 2: Fix permissions (not recommended)
|
|
460
|
+
sudo chown -R $(whoami) /usr/local/lib/node_modules
|
|
461
|
+
sudo chown -R $(whoami) /usr/local/bin
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
**Prevention**: Configure npm global directory before installing packages
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
### Failure: "go: command not found"
|
|
469
|
+
|
|
470
|
+
**Symptom**: Shell can't find `go` command
|
|
471
|
+
|
|
472
|
+
**Cause**: Go not installed or not in PATH
|
|
473
|
+
|
|
474
|
+
**Recovery**:
|
|
475
|
+
```bash
|
|
476
|
+
# Check if Go is actually installed
|
|
477
|
+
ls /usr/local/go/bin/go # Official installer location
|
|
478
|
+
which go # If in Homebrew
|
|
479
|
+
|
|
480
|
+
# If missing, install
|
|
481
|
+
brew install go
|
|
482
|
+
|
|
483
|
+
# Or add to PATH if installed but not in PATH
|
|
484
|
+
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
|
|
485
|
+
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.zshrc
|
|
486
|
+
source ~/.zshrc
|
|
487
|
+
|
|
488
|
+
# Verify
|
|
489
|
+
go version
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
**Prevention**: Follow Go installation instructions, add to PATH
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
### Failure: "go install" downloads but binary not found
|
|
497
|
+
|
|
498
|
+
**Symptom**: `go install` succeeds but can't run the binary
|
|
499
|
+
|
|
500
|
+
**Cause**: GOPATH/bin not in PATH
|
|
501
|
+
|
|
502
|
+
**Recovery**:
|
|
503
|
+
```bash
|
|
504
|
+
# Check where Go installed the binary
|
|
505
|
+
ls ~/go/bin/
|
|
506
|
+
|
|
507
|
+
# Add GOPATH/bin to PATH
|
|
508
|
+
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc
|
|
509
|
+
source ~/.zshrc
|
|
510
|
+
|
|
511
|
+
# Or if using custom GOPATH
|
|
512
|
+
echo 'export GOPATH="$HOME/your-custom-path"' >> ~/.zshrc
|
|
513
|
+
echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.zshrc
|
|
514
|
+
source ~/.zshrc
|
|
515
|
+
|
|
516
|
+
# Verify
|
|
517
|
+
which <binary-name>
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
**Prevention**: Add GOPATH/bin to PATH before using `go install`
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
## Automation Script: Install All Prerequisites
|
|
525
|
+
|
|
526
|
+
```bash
|
|
527
|
+
#!/bin/bash
|
|
528
|
+
# Complete prerequisite installation script for macOS
|
|
529
|
+
|
|
530
|
+
set -e
|
|
531
|
+
|
|
532
|
+
echo "Installing Nexus Prerequisites..."
|
|
533
|
+
echo ""
|
|
534
|
+
|
|
535
|
+
# Detect platform
|
|
536
|
+
OS=$(uname -s)
|
|
537
|
+
ARCH=$(uname -m)
|
|
538
|
+
|
|
539
|
+
echo "Platform: $OS $ARCH"
|
|
540
|
+
echo ""
|
|
541
|
+
|
|
542
|
+
# Install Homebrew if missing
|
|
543
|
+
if ! which brew > /dev/null 2>&1; then
|
|
544
|
+
echo "Installing Homebrew..."
|
|
545
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
546
|
+
|
|
547
|
+
# Add to PATH based on architecture
|
|
548
|
+
if [ "$ARCH" = "arm64" ]; then
|
|
549
|
+
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
|
|
550
|
+
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
551
|
+
else
|
|
552
|
+
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
|
|
553
|
+
eval "$(/usr/local/bin/brew shellenv)"
|
|
554
|
+
fi
|
|
555
|
+
else
|
|
556
|
+
echo "✅ Homebrew already installed"
|
|
557
|
+
fi
|
|
558
|
+
|
|
559
|
+
# Update Homebrew
|
|
560
|
+
echo "Updating Homebrew..."
|
|
561
|
+
brew update
|
|
562
|
+
|
|
563
|
+
# Install Node.js if missing
|
|
564
|
+
if ! which node > /dev/null 2>&1; then
|
|
565
|
+
echo "Installing Node.js..."
|
|
566
|
+
brew install node
|
|
567
|
+
|
|
568
|
+
# Configure npm global directory
|
|
569
|
+
mkdir -p ~/.npm-global
|
|
570
|
+
npm config set prefix '~/.npm-global'
|
|
571
|
+
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
|
|
572
|
+
else
|
|
573
|
+
echo "✅ Node.js already installed"
|
|
574
|
+
fi
|
|
575
|
+
|
|
576
|
+
# Install Go if missing
|
|
577
|
+
if ! which go > /dev/null 2>&1; then
|
|
578
|
+
echo "Installing Go..."
|
|
579
|
+
brew install go
|
|
580
|
+
|
|
581
|
+
# Configure GOPATH
|
|
582
|
+
echo 'export GOPATH="$HOME/go"' >> ~/.zshrc
|
|
583
|
+
echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.zshrc
|
|
584
|
+
else
|
|
585
|
+
echo "✅ Go already installed"
|
|
586
|
+
fi
|
|
587
|
+
|
|
588
|
+
echo ""
|
|
589
|
+
echo "✅ All prerequisites installed!"
|
|
590
|
+
echo ""
|
|
591
|
+
echo "Versions:"
|
|
592
|
+
brew --version | head -1
|
|
593
|
+
node --version
|
|
594
|
+
npm --version
|
|
595
|
+
go version
|
|
596
|
+
|
|
597
|
+
echo ""
|
|
598
|
+
echo "⚠️ IMPORTANT: Restart your terminal or run:"
|
|
599
|
+
echo " source ~/.zshrc"
|
|
600
|
+
echo ""
|
|
601
|
+
echo "Then verify with:"
|
|
602
|
+
echo " brew --version"
|
|
603
|
+
echo " node --version"
|
|
604
|
+
echo " npm --version"
|
|
605
|
+
echo " go version"
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
---
|
|
609
|
+
|
|
610
|
+
## Skills That Require Each Tool
|
|
611
|
+
|
|
612
|
+
### Homebrew Required
|
|
613
|
+
|
|
614
|
+
- **eve** - `brew install Napageneral/tap/eve`
|
|
615
|
+
- **wacli** - `brew install steipete/tap/wacli`
|
|
616
|
+
- **peekaboo** - `brew install steipete/tap/peekaboo`
|
|
617
|
+
- **1password-cli** - `brew install 1password-cli`
|
|
618
|
+
- **github** - `brew install gh`
|
|
619
|
+
- **comms** - `brew install Napageneral/tap/comms`
|
|
620
|
+
|
|
621
|
+
### Node.js Required
|
|
622
|
+
|
|
623
|
+
- **qmd** - `npm install -g https://github.com/tobi/qmd`
|
|
624
|
+
- **brave-search** - Uses `node` to run scripts
|
|
625
|
+
- **nexus-cloud** - Uses `wrangler` (Node-based)
|
|
626
|
+
|
|
627
|
+
### Go Optional (Homebrew Alternative Available)
|
|
628
|
+
|
|
629
|
+
- **eve** - `go install github.com/Napageneral/eve/cmd/eve@latest` OR `brew install`
|
|
630
|
+
- **comms** - `go install github.com/Napageneral/comms/cmd/comms@latest` OR `brew install`
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
|
|
634
|
+
## Best Practices
|
|
635
|
+
|
|
636
|
+
### PATH Management
|
|
637
|
+
|
|
638
|
+
```bash
|
|
639
|
+
# Recommended PATH order in ~/.zshrc:
|
|
640
|
+
export PATH="$HOME/.npm-global/bin:$PATH" # npm global
|
|
641
|
+
export PATH="$HOME/go/bin:$PATH" # Go binaries
|
|
642
|
+
export PATH="/opt/homebrew/bin:$PATH" # Homebrew (M1/M2/M3)
|
|
643
|
+
export PATH="/usr/local/bin:$PATH" # Homebrew (Intel)
|
|
644
|
+
|
|
645
|
+
# Then evaluate Homebrew environment
|
|
646
|
+
eval "$(brew shellenv)"
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
### Regular Maintenance
|
|
650
|
+
|
|
651
|
+
```bash
|
|
652
|
+
# Weekly maintenance routine
|
|
653
|
+
|
|
654
|
+
# Update Homebrew and all packages
|
|
655
|
+
brew update
|
|
656
|
+
brew upgrade
|
|
657
|
+
brew cleanup
|
|
658
|
+
|
|
659
|
+
# Update npm itself
|
|
660
|
+
npm install -g npm@latest
|
|
661
|
+
|
|
662
|
+
# Update Go (via Homebrew)
|
|
663
|
+
brew upgrade go
|
|
664
|
+
|
|
665
|
+
# Check for outdated global npm packages
|
|
666
|
+
npm outdated -g
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
### Security
|
|
670
|
+
|
|
671
|
+
```bash
|
|
672
|
+
# Verify Homebrew integrity
|
|
673
|
+
brew doctor
|
|
674
|
+
|
|
675
|
+
# Check npm packages for vulnerabilities
|
|
676
|
+
npm audit
|
|
677
|
+
|
|
678
|
+
# Keep everything updated
|
|
679
|
+
brew update && brew upgrade
|
|
680
|
+
npm update -g
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
---
|
|
684
|
+
|
|
685
|
+
## Testing Checklist
|
|
686
|
+
|
|
687
|
+
- [ ] Homebrew installed: `which brew`
|
|
688
|
+
- [ ] Homebrew healthy: `brew doctor`
|
|
689
|
+
- [ ] Homebrew in PATH: `echo $PATH | grep brew`
|
|
690
|
+
- [ ] Node.js installed: `which node`
|
|
691
|
+
- [ ] Node.js version current: `node --version` (v18+)
|
|
692
|
+
- [ ] npm installed: `which npm`
|
|
693
|
+
- [ ] npm global in PATH: `echo $PATH | grep npm-global`
|
|
694
|
+
- [ ] Go installed: `which go`
|
|
695
|
+
- [ ] Go version current: `go version` (1.20+)
|
|
696
|
+
- [ ] GOPATH/bin in PATH: `echo $PATH | grep go/bin`
|
|
697
|
+
- [ ] Can install via brew: `brew install --dry-run curl`
|
|
698
|
+
- [ ] Can install global npm: `npm install -g --dry-run cowsay`
|
|
699
|
+
- [ ] Can install via go: `go install --help`
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
## Notes for Onboarding Agent
|
|
704
|
+
|
|
705
|
+
- **Install order**: Always Homebrew first, then Node, then Go
|
|
706
|
+
- **Platform awareness**: Check OS before recommending (Homebrew is macOS/Linux only)
|
|
707
|
+
- **When to recommend**:
|
|
708
|
+
- User installing first skill that requires any of these
|
|
709
|
+
- During initial Nexus onboarding
|
|
710
|
+
- When installation fails due to missing prerequisite
|
|
711
|
+
- **When NOT to recommend**:
|
|
712
|
+
- User already has these installed (check first!)
|
|
713
|
+
- User is on Windows (different prerequisites)
|
|
714
|
+
- **Value proposition**: "Install once, unlock all Nexus skills"
|
|
715
|
+
- **Time estimate**: 10-15 minutes (longer if downloads are slow)
|
|
716
|
+
- **Restart required**: Always remind user to restart terminal after installation
|
|
717
|
+
- **Verification is key**: Always run verification script after installation
|
|
718
|
+
- **Troubleshooting**: Most issues are PATH-related (check PATH first)
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
## Platform-Specific Notes
|
|
723
|
+
|
|
724
|
+
### macOS
|
|
725
|
+
|
|
726
|
+
- **Apple Silicon (M1/M2/M3)**: Homebrew installs to `/opt/homebrew`
|
|
727
|
+
- **Intel**: Homebrew installs to `/usr/local`
|
|
728
|
+
- **Both**: Use `brew shellenv` to set PATH automatically
|
|
729
|
+
|
|
730
|
+
### Linux
|
|
731
|
+
|
|
732
|
+
- **Homebrew on Linux**: Installs to `/home/linuxbrew/.linuxbrew`
|
|
733
|
+
- **Alternative**: Can use apt/yum for some tools (but Homebrew preferred for consistency)
|
|
734
|
+
- **Permissions**: May need sudo for some operations
|
|
735
|
+
|
|
736
|
+
### Windows
|
|
737
|
+
|
|
738
|
+
- **Homebrew**: Not officially supported
|
|
739
|
+
- **Node.js**: Use official installer or nvm-windows
|
|
740
|
+
- **Go**: Use official installer
|
|
741
|
+
- **Alternative package manager**: Consider chocolatey or scoop
|
|
742
|
+
|
|
743
|
+
---
|
|
744
|
+
|
|
745
|
+
## Quick Reference Card
|
|
746
|
+
|
|
747
|
+
```bash
|
|
748
|
+
# Check what you have
|
|
749
|
+
brew --version # Homebrew
|
|
750
|
+
node --version # Node.js
|
|
751
|
+
npm --version # npm
|
|
752
|
+
go version # Go
|
|
753
|
+
|
|
754
|
+
# Install Homebrew (macOS/Linux)
|
|
755
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
756
|
+
|
|
757
|
+
# Install Node.js
|
|
758
|
+
brew install node
|
|
759
|
+
|
|
760
|
+
# Install Go
|
|
761
|
+
brew install go
|
|
762
|
+
|
|
763
|
+
# Add to PATH (add to ~/.zshrc)
|
|
764
|
+
eval "$(brew shellenv)"
|
|
765
|
+
export PATH="$HOME/.npm-global/bin:$PATH"
|
|
766
|
+
export PATH="$HOME/go/bin:$PATH"
|
|
767
|
+
|
|
768
|
+
# Verify all
|
|
769
|
+
brew doctor
|
|
770
|
+
node --version
|
|
771
|
+
npm --version
|
|
772
|
+
go version
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
---
|
|
776
|
+
|
|
777
|
+
## Changelog
|
|
778
|
+
|
|
779
|
+
| Date | Change |
|
|
780
|
+
|------|--------|
|
|
781
|
+
| 2026-01-12 | Initial prerequisite deep-dive created |
|
|
782
|
+
|
|
783
|
+
---
|
|
784
|
+
|
|
785
|
+
*Template version: 1.0*
|