My Reps is intended to be small enough to understand in one sitting. The main rule is: keep behavior in the shared core, and keep CLI, API, and UI code as adapters over that core.
Use a current Node.js 22 runtime.
npm install
npm test
npm run buildRun the local Vite app:
npm run devRun the Cloudflare Pages-style preview:
npm run pages:previewRun the CLI during development:
npm run georep -- lookup --address "530 S King St, Honolulu, HI 96813" --mock
npm run georep -- source-status
npm run georep -- schemasrc/core: validation, envelope construction, source facades, schema, and source status.src/cli: terminal adapter oversrc/core.src/api: HTTP adapter oversrc/core.functions/api: Cloudflare Pages Function entrypoint.src/web: React UI that calls/api/lookup.tests/e2e: browser checks for the public demo path.scripts: smoke checks and deployment helpers.
Run:
npm test
npm run build
npm audit --omit=devIf your change touches the browser flow, also run:
npm run test:e2ePlaywright may need system browser dependencies:
npx playwright install --with-deps chromiumPrefer this sequence:
- Add or update a focused core test.
- Implement the core behavior.
- Update CLI/API/UI adapter tests only when their visible contract changes.
- Update docs if the command, envelope, runtime mode, or privacy behavior changes.
Do not add provider-specific logic to the UI or API adapter. Live data providers should implement the shared source interface and return the shared canonical representative model.
The app may receive an address in order to do a lookup, but it should not persist exact addresses or exact coordinates.
Tests should avoid asserting on raw private inputs in output. Error envelopes should include query.type, source, count, latency, and sanitized error codes, not submitted addresses or upstream response bodies.
- Add another validation edge case in
src/core/validation.test.ts. - Improve wording in
README.mdordocs/testing.md. - Add a new synthetic fixture field and update rendering tests.
- Add a focused test for a source failure mode.
- Add GitHub Actions for
npm test,npm run build, andnpm audit --omit=dev.