Skip to content

docs: add cloud dev environment instructions - #553

Open
RonenMars wants to merge 2 commits into
mainfrom
docs/cloud-dev-environment-18a1
Open

docs: add cloud dev environment instructions#553
RonenMars wants to merge 2 commits into
mainfrom
docs/cloud-dev-environment-18a1

Conversation

@RonenMars

@RonenMars RonenMars commented Aug 4, 2026

Copy link
Copy Markdown
Owner

What

Sets up and documents a working development environment for this repo on the cloud (headless Linux) VM, and records the durable, non-obvious startup/run caveats in AGENTS.md under a new cloud-VM instructions section.

No application code is changed — this PR only adds documentation. Environment setup itself (Node toolchain, dependency install) is handled by the VM startup update script (npm install) plus a one-time pinned-Node snippet in the agent's ~/.bashrc.

Environment set up & verified

The runnable surface on Linux is the JS toolchain + Expo Web (native iOS/Android builds and Maestro E2E need macOS/Xcode/simulators and are documented as not runnable here).

Task Command Result
Install deps npm ci (startup script uses npm install) ✅ 1268 packages, patch-package applied
Lint npm run lint ✅ 0 errors (5 warnings, allowed)
Typecheck npm run typecheck ✅ clean
Unit/integration/i18n tests npm run test:ci ✅ 153 suites, 1349 passed / 1 skipped
Script tests npm run test:scripts ✅ 8 suites, 71 passed
Run app (dev) npx expo start --web --port 8081 ✅ bundles (5719 modules), boots

Hello-world (core flow) verified end to end

Started the bundled mock streamer (e2e/mock-server.js) behind a small dev-only CORS proxy, then in the browser completed onboarding → added a server → the live session list populated from the mock streamer (my-project on main/feature/auth/fix/login, other-project on main, with running/waiting/idle statuses). Mock server logs confirm the client hit /api/profiles, /api/sessions, /api/conversations/count, and a session-detail /output fetch.

Expected web-parity limitations (documented in docs/expo-web-support.md, not env bugs): an expo-notifications dev red-box on load and a blank session-detail terminal.

Node

Pinned .nvmrc version (24.15.0) installed via nvm; a guarded snippet in ~/.bashrc makes login/interactive shells prefer it over the sandbox's shadowing node. Node 22.x also meets the repo's stated >= 22.13 minimum.

@RonenMars
RonenMars marked this pull request as ready for review August 4, 2026 15:25
@RonenMars
RonenMars force-pushed the docs/cloud-dev-environment-18a1 branch 4 times, most recently from 24b55ed to fba0e10 Compare August 4, 2026 15:34
The advisory `E2E jest` job has flaked twice on cold CI with the same
failure: `feedback-flow › shows all entry points` exceeding Jest's
default 5s per-test timeout. Local isolation passes, and a single CI
re-run goes green — documented in #542 with the instruction to raise the
timeout on recurrence rather than delete the job.

`test:e2e` now passes `--testTimeout=20000` so cold-start renders on CI
runners stop tipping the default.

- [x] `npm run test:e2e` — 7 suites / 60 tests pass locally with the new
timeout
- [x] `E2E jest` green on the previous run of this change without a
re-run (feedback-flow suite still ~18s on CI; 20s per-test margin holds)
- [ ] After merge, #542 can be closed if the next few PR runs stay green
@RonenMars
RonenMars force-pushed the docs/cloud-dev-environment-18a1 branch from fba0e10 to 4b5cc9e Compare August 4, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant