feat(install): one-line installers for non-developers#75
Merged
Conversation
Two install scripts that download Node, install daemora globally, and create a desktop shortcut so non-technical users can get from "click this command" to a running dashboard with no follow-up steps. - scripts/install.sh — macOS + Linux. Detects Node 22+, installs via Homebrew (macOS) or apt/dnf/pacman (Linux) if missing. npm install -g daemora. Creates /Applications/Daemora.app on macOS, ~/.local/share/ applications/daemora.desktop on Linux. Launcher waits for the HTTP port before opening the browser. - scripts/install.ps1 — Windows. Same flow via winget. Creates Desktop + Start Menu .lnk shortcuts pointing at a launcher .bat that hides its console window. First run hits `daemora start`, which already runs the setup wizard if config isn't done. Subsequent runs detect the running port and just open the browser. Default port 8081, override with DAEMORA_PORT. README updated with the curl | bash and irm | iex one-liners under a new "One-line install (recommended for non-developers)" section above the existing npm path, which stays for developers.
This was referenced May 7, 2026
UmarFarooq75
added a commit
that referenced
this pull request
May 7, 2026
…ripts (#78) ## Summary Brings in proper native installers for macOS and Windows — replacing the curl-pipe scripts I added in #75. **macOS** (\`installer/macos/\`): - Pre-built \`Daemora.app\` template with a real 309 KB \`.icns\` icon - Companion \`Stop Daemora.app\` - \`build-pkg.sh\` produces a signed \`.pkg\` installer - \`preinstall\` / \`postinstall\` scripts handle the installation properly - Native \"open the .pkg, click Continue, done\" experience **Windows** (\`installer/windows/\`): - Inno Setup script (\`daemora.iss\`) - Pre-built \`DaemoraSetup.exe\` (2 MB) - \`launcher.ps1\` with the right launcher behavior - Real \`.ico\` icon **Tooling:** \`scripts/build-installer-icons.mjs\` programmatically generates platform icons from source — no manual icon babysitting. ## Why this over the curl-pipe scripts - Real native UX (no terminal commands, no \`curl | bash\`) - No sudo-in-non-TTY problems, no \`Daemora.app\` creation failing silently - Real signed installer bits → no Gatekeeper friction - Icon, code-signing, version metadata all baked in - Win10/11 native experience via Inno Setup ## Action item after merge Delete the now-redundant curl-pipe scripts on \`dev\`: - \`scripts/install.sh\` (added in PR #75 + my fixes \`1cf856f\` and \`f61032a\`) - \`scripts/install.ps1\` (added in PR #75) The installers branch was based on \`main\` (before #75 merged into dev), so those files won't conflict — they'll just remain after the merge. A follow-up commit deletes them. ## Test plan - [ ] macOS: open the generated \`.pkg\`, complete the wizard, confirm \`Daemora.app\` lands in /Applications with the icon, double-click launches the dashboard - [ ] Windows: run \`DaemoraSetup.exe\`, complete the wizard, confirm Start Menu + Desktop shortcuts with icon, double-click launches dashboard - [ ] Stop \`Daemora.app\` (macOS) cleanly stops the running agent - [ ] Uninstaller cleanly removes the app on both platforms
4 tasks
UmarFarooq75
added a commit
that referenced
this pull request
May 7, 2026
## Summary Promotes the installer + safety changes from \`dev\` to \`main\`. What lands: - **PR #78** \`feat(install): native installers (.pkg + .exe)\` — proper macOS \`.pkg\` builder + Windows Inno Setup \`.exe\` with real icons. Replaces the curl-pipe scripts as the recommended path for non-technical users. - **PR #77** \`feat(mcp): disable Playwright MCP by default\` — browser tools become opt-in. Main agent and browser-pilot crew don't see \`browser_*\` tools until the user enables Playwright in MCP settings. - **PR #75** + follow-up fixes \`1cf856f\` and \`f61032a\` — the original curl-pipe scripts plus the two patches I pushed during testing (osascript GUI password prompt for non-TTY sudo; Unicode ellipses replaced with ASCII so \`set -u\` doesn't choke). After merge, the README's \`raw.githubusercontent.com/.../main/scripts/install.sh\` URL resolves and the legacy curl-pipe path keeps working alongside the new native installers. Future cleanup (deleting the curl-pipe scripts since the native installers are the recommended path) can be a follow-up commit. ## Test plan - [ ] After merge, build the macOS \`.pkg\` from \`installer/macos/build-pkg.sh\`, run on a clean Mac, confirm app installs and dashboard opens - [ ] Run \`installer/windows/Output/DaemoraSetup.exe\` on a clean Windows box, confirm same - [ ] Confirm browser tools are absent from main agent's tool list on a fresh install (PR #77 default) - [ ] Verify \`https://raw.githubusercontent.com/CodeAndCanvasLabs/Daemora/main/scripts/install.sh\` resolves
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two install scripts so a non-technical user can go from copy-paste-a-command to a running Daemora dashboard with no follow-ups.
scripts/install.sh(macOS + Linux): detects Node 22+, installs via Homebrew (macOS) or apt/dnf/pacman (Linux) if missing, runsnpm install -g daemora, creates/Applications/Daemora.appon macOS or~/.local/share/applications/daemora.desktopon Linux, and launches the agent. Launcher waits for the HTTP port before opening the browser.scripts/install.ps1(Windows): same flow via winget. Creates Desktop + Start Menu shortcuts pointing at a launcher.batthat hides its console window.First run uses
daemora start, which already runs the existing setup wizard if config isn't done. Subsequent runs detect the running port and just open the browser. Default port8081, override withDAEMORA_PORT.README updated with the one-liners under a new One-line install (recommended for non-developers) section above the existing npm path. The npm path stays for developers.
How users run it
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/CodeAndCanvasLabs/Daemora/main/scripts/install.sh | bashWindows (PowerShell)
Test plan
bash -n scripts/install.sh— syntax cleancurl … | bash, confirm Homebrew + Node install, confirmDaemora.appappears in/Applications, confirm browser opens tolocalhost:8081, confirm second click on the app icon reuses the running server.desktopentry shows in app launcherirm … | iexfrom PowerShell, confirm winget installs Node, confirm Desktop + Start Menu shortcuts created, confirm browser opens