diff --git a/CLAUDE.md b/CLAUDE.md index 2ce4ec7..44d2dc0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,8 +2,49 @@ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. +## ⚠️ CRITICAL RULES - READ FIRST + +### Git Workflow - ABSOLUTELY MANDATORY +- **NEVER COMMIT DIRECTLY TO MAIN/MASTER BRANCH** +- **ALWAYS CREATE FEATURE BRANCHES FOR ANY CHANGES** +- **USE TEA CLI FOR GIT.DECO.SH REPOSITORY** + +### Required Git Workflow +```bash +# STEP 1: ALWAYS create a feature branch first +git checkout -b feature/brief-description + +# STEP 2: Make your changes and commit +git add . +git commit -m "Your commit message" + +# STEP 3: Push branch and create PR using tea cli +git push -u origin feature/brief-description +tea pr create +``` + +### Pre-Commit Checklist +- [ ] Confirm you are NOT on main/master branch: `git branch --show-current` +- [ ] Run tests: `npm test` +- [ ] Run linting: `npm run lint` +- [ ] Build succeeds: `npm run build` + +**VIOLATION OF THESE RULES IS UNACCEPTABLE** + ## Development Commands +### Quick Update Scripts + +For easier development and deployment updates: + +```bash +# Development update (pull, install, build, test) +./scripts/dev-update.sh + +# Production server update (requires sudo, handles service restart) +sudo ./scripts/server-update.sh +``` + ### Running the Application ```bash # Install dependencies diff --git a/package.json b/package.json index 8e67149..dba4058 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,11 @@ "watch-css": "sass src/scss/main.scss public/style.css --watch --style=expanded --source-map", "dev-with-css": "concurrently \"npm run watch-css\" \"npm run dev\"", "dev-with-css:ts": "concurrently \"npm run watch-css\" \"npm run dev:ts\"", - "build": "npm run build:ts && npm run build-css && npm run build:frontend && npm run copy-i18n", + "build": "npm run generate-version && npm run build:ts && npm run build-css && npm run build:frontend && npm run copy-i18n", "build:ts": "tsc", "copy-i18n": "mkdir -p dist/i18n/locales && cp -r src/i18n/locales/* dist/i18n/locales/", - "test": "jest --runInBand --forceExit", + "generate-version": "node scripts/generate-version.js", + "test": "jest --runInBand --forceExit --detectOpenHandles", "test:coverage": "jest --coverage", "lint": "eslint src/ tests/", "lint:fix": "eslint src/ tests/ --fix", diff --git a/public/admin.html b/public/admin.html index c281bfd..a59398b 100644 --- a/public/admin.html +++ b/public/admin.html @@ -188,8 +188,8 @@ - + diff --git a/public/app-mapbox.js b/public/app-mapbox.js index bea752e..25d50f6 100644 --- a/public/app-mapbox.js +++ b/public/app-mapbox.js @@ -1,5 +1,7 @@ document.addEventListener('DOMContentLoaded', async () => { - const map = L.map('map').setView([42.9634, -85.6681], 10); + const map = L.map('map', { + scrollWheelZoom: false + }).setView([42.9634, -85.6681], 10); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, diff --git a/public/i18n.js b/public/i18n.js index cb8f552..378a410 100644 --- a/public/i18n.js +++ b/public/i18n.js @@ -9,7 +9,6 @@ class I18nService { this.defaultLocale = 'en'; this.availableLocales = ['en', 'es-MX']; this.currentLocale = this.getStoredLocale() || this.detectBrowserLocale(); - this.loadTranslations(); } /** diff --git a/public/index.html b/public/index.html index 20bc4f0..49986b3 100644 --- a/public/index.html +++ b/public/index.html @@ -165,18 +165,17 @@ placeholder="Enter address, intersection (e.g., Main St & Second St, City), or l - - + +