[PR #133] [MERGED] feat(web): preflight checks and auto-install for fresh installs #156

Closed
opened 2026-02-27 10:22:26 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mikeyobrien/ralph-orchestrator/pull/133
Author: @mikeyobrien
Created: 1/28/2026
Status: Merged
Merged: 1/29/2026
Merged by: @mikeyobrien

Base: mainHead: feat/web-fresh-install


📝 Commits (1)

  • fc0209f feat(web): add preflight checks and auto-install for fresh installs

📊 Changes

15 files changed (+8086 additions, -99 deletions)

View changed files

📝 .github/workflows/ci.yml (+14 -0)
📝 .gitignore (+0 -1)
.nvmrc (+1 -0)
📝 README.md (+29 -0)
📝 backend/ralph-web-server/package.json (+2 -2)
📝 backend/ralph-web-server/src/runner/ProcessSupervisor.test.ts (+5 -5)
📝 backend/ralph-web-server/src/runner/ProcessSupervisor.ts (+2 -2)
📝 backend/ralph-web-server/src/runner/RalphRunner.ts (+2 -1)
📝 crates/ralph-cli/src/web.rs (+121 -1)
📝 frontend/ralph-web/src/components/tasks/TaskDetailHeader.test.tsx (+5 -4)
📝 frontend/ralph-web/src/components/tasks/TaskInput.test.tsx (+9 -7)
📝 frontend/ralph-web/src/components/tasks/ThreadList.test.tsx (+52 -46)
📝 frontend/ralph-web/src/pages/TaskDetailPage.test.tsx (+26 -30)
package-lock.json (+7724 -0)
scripts/test-fresh-install.sh (+94 -0)

📄 Description

Summary

  • ralph web now validates Node.js >= 18 and npm on startup with clear error messages and install hints
  • Auto-installs dependencies with a spinner when node_modules is missing (prefers npm ci when lockfile present)
  • Adds .nvmrc, package-lock.json, CI web tests job, and a scripts/test-fresh-install.sh validation script
  • Documents web dashboard requirements in README

Test plan

  • rm -rf node_modules && ralph web — should auto-install then start both servers
  • Verify clear error when Node.js is missing or < 18
  • ./scripts/test-fresh-install.sh --local — full fresh-install validation
  • CI web-tests job passes (npm build + backend/frontend tests)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mikeyobrien/ralph-orchestrator/pull/133 **Author:** [@mikeyobrien](https://github.com/mikeyobrien) **Created:** 1/28/2026 **Status:** ✅ Merged **Merged:** 1/29/2026 **Merged by:** [@mikeyobrien](https://github.com/mikeyobrien) **Base:** `main` ← **Head:** `feat/web-fresh-install` --- ### 📝 Commits (1) - [`fc0209f`](https://github.com/mikeyobrien/ralph-orchestrator/commit/fc0209f5f665a9055fa90097ab9fdd35b357ccf9) feat(web): add preflight checks and auto-install for fresh installs ### 📊 Changes **15 files changed** (+8086 additions, -99 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+14 -0) 📝 `.gitignore` (+0 -1) ➕ `.nvmrc` (+1 -0) 📝 `README.md` (+29 -0) 📝 `backend/ralph-web-server/package.json` (+2 -2) 📝 `backend/ralph-web-server/src/runner/ProcessSupervisor.test.ts` (+5 -5) 📝 `backend/ralph-web-server/src/runner/ProcessSupervisor.ts` (+2 -2) 📝 `backend/ralph-web-server/src/runner/RalphRunner.ts` (+2 -1) 📝 `crates/ralph-cli/src/web.rs` (+121 -1) 📝 `frontend/ralph-web/src/components/tasks/TaskDetailHeader.test.tsx` (+5 -4) 📝 `frontend/ralph-web/src/components/tasks/TaskInput.test.tsx` (+9 -7) 📝 `frontend/ralph-web/src/components/tasks/ThreadList.test.tsx` (+52 -46) 📝 `frontend/ralph-web/src/pages/TaskDetailPage.test.tsx` (+26 -30) ➕ `package-lock.json` (+7724 -0) ➕ `scripts/test-fresh-install.sh` (+94 -0) </details> ### 📄 Description ## Summary - `ralph web` now validates Node.js >= 18 and npm on startup with clear error messages and install hints - Auto-installs dependencies with a spinner when `node_modules` is missing (prefers `npm ci` when lockfile present) - Adds `.nvmrc`, `package-lock.json`, CI web tests job, and a `scripts/test-fresh-install.sh` validation script - Documents web dashboard requirements in README ## Test plan - [ ] `rm -rf node_modules && ralph web` — should auto-install then start both servers - [ ] Verify clear error when Node.js is missing or < 18 - [ ] `./scripts/test-fresh-install.sh --local` — full fresh-install validation - [ ] CI `web-tests` job passes (npm build + backend/frontend tests) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 10:22:26 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ralph-orchestrator#156
No description provided.