Environment and Ops
Environment Variables by Component
Shared DEV AWS credentials and region (src/lib/dev-aws-env.ts):
DEV_AWS_ACCESS_KEY_ID(required)DEV_AWS_SECRET_ACCESS_KEY(required)DEV_AWS_SESSION_TOKEN(optional)DEV_AWS_REGIONorDEV_AWS_DEFAULT_REGION(defaults tous-east-1if unset)
Products storage (src/lib/s3-products.ts):
PRODUCTS_S3_BUCKET(required)PRODUCTS_S3_KEY(defaultproducts.csv)
Rulesets + widgets storage (src/lib/s3-rulesets.ts, src/lib/s3-widgets.ts):
RULESETS_S3_BUCKET(falls back toPRODUCTS_S3_BUCKET)RULESETS_S3_PREFIX(defaultrulesets)
Operational Notes
- Current S3 clients consistently use
DEV_AWS_*credential/region vars. - Routes are dynamic and bypass caching to reflect current S3 state.
- Automated tests are run with Vitest (
npm test).
Local Commands
- Dev:
npm run dev - Test:
npm test - Lint:
npm run lint(typically only for larger change sets) - Type check:
npx tsc --noEmit - Build:
npm run build(run only when explicitly requested)
Security Note
The project uses AWS credentials via env vars. Treat .env.local as sensitive and avoid committing secrets.