PolyWood Price Builder

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_REGION or DEV_AWS_DEFAULT_REGION (defaults to us-east-1 if unset)

Products storage (src/lib/s3-products.ts):

  • PRODUCTS_S3_BUCKET (required)
  • PRODUCTS_S3_KEY (default products.csv)

Rulesets + widgets storage (src/lib/s3-rulesets.ts, src/lib/s3-widgets.ts):

  • RULESETS_S3_BUCKET (falls back to PRODUCTS_S3_BUCKET)
  • RULESETS_S3_PREFIX (default rulesets)

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.