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 @@
-
+