Skip to content

Dev workflow: one-command run, env examples, CI - #4

Open
shrish-browserstack wants to merge 2 commits into
ShrishRajGupta:abhishekfrom
shrish-browserstack:chore/dev-workflow
Open

shrish-browserstack wants to merge 2 commits into
ShrishRajGupta:abhishekfrom
shrish-browserstack:chore/dev-workflow

Conversation

@shrish-browserstack

Copy link
Copy Markdown

What

Stacked on #3 (its commit shows in this diff until #3 merges). No behaviour changes to the app; this makes a clean clone runnable with one command and adds CI to keep it that way.

Change Why
Root package.json with install:all, dev, build, lint Three processes (client :3000, server :3001, socket :8900) previously needed three terminals and there was no documented way to start them all
server/.env.example, client/.env.example, socket/.env.example Seven required env vars were only listed in prose, and the README pointed the .env at the repo root while dotenv loads from server/
socket/index.js reads PORT / CLIENT_URL from env Port and CORS origin were hardcoded; defaults keep the old values
.github/workflows/ci.yml Install + lint + client build on Node 20. Replaces the npm-publish workflow in #2, which would npm ci a manifest that no longer exists and publish a private: true web app to a package registry
socket/package.json: add nodemon devDependency; server/package.json: move nodemon to devDependencies cd socket && npm ci && npm start failed on a clean machine; start scripts now run plain node, dev scripts use nodemon
.nvmrc, engines, .mailmap Pin Node 20 across an ESM/CJS mix; collapse six author identities to three for git shortlog
Root .gitignore rewritten It contained a wholesale paste of facebook/react's own ignore list
README rewritten, stock CRA client/README.md replaced Documents the three processes and ports, the CRA proxy coupling, and the correct .env locations; fixes broken ToC anchors and the branch-pinned self link
@babel/plugin-proposal-private-property-in-object devDependency Silences the CRA "may break at any time" warning on every build and lint

Verification

  • npm run lint passes: node --check over server and socket, client ESLint exits 0 (64 pre-existing warnings, to be cleared in the frontend foundation PR).
  • npm run build compiles the client.
  • Socket server boots from env: PORT=8999 CLIENT_URL=http://example.test node index.js logs the values.
  • .env files ignored in all three apps, .env.example tracked, client/build ignored.

CI runs the client build with CI=false until the ESLint warnings are cleared, then that env line goes away.

🤖 Generated with Claude Code

shrish-browserstack and others added 2 commits September 13, 2026 02:58
- Remove gui.py and mode.pt (a 14.5 MB PyTorch model) — leftover
  artifacts from an unrelated YOLOv5 project, unused here.
- Delete client/src/img/home.png (11 MB, 6000x4000) — not referenced
  anywhere in the client.
- Remove the junk root package.json / package-lock.json (no name, no
  scripts, unrelated deps); the real apps live in client/ and server/.
- Drop the server's placeholder dependencies http (0.0.1-security),
  path, and url. All three are Node built-ins that shadow these
  userland packages, and http@0.0.1-security is a security-hold stub
  that blocked npm install.

Removes ~25 MB from the working tree. Verified: server npm install now
succeeds and the client production build compiles.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Root package.json orchestrator: install:all, dev (client+server+socket via concurrently), build, lint
- .env.example for server, client and socket; socket reads PORT/CLIENT_URL from env
- GitHub Actions CI: install, lint, client build on Node 20
- .nvmrc, engines, .mailmap; plain Node .gitignore
- Fix socket missing nodemon dep, move server nodemon to devDependencies, plain `node` start scripts
- README rewritten around the three processes and correct .env locations; project-specific client README

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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