# Project Guidelines ## Version Management Update the integration version in `custom_components/immich_album_watcher/manifest.json` only when changes are made to the **integration content** (files inside `custom_components/immich_album_watcher/`). **IMPORTANT** ALWAYS ask for version bump before doing it. Do NOT bump version for: - Repository setup (hacs.json, root README.md, LICENSE, CLAUDE.md) - CI/CD configuration - Other repository-level changes Use semantic versioning: - **MAJOR** (x.0.0): Breaking changes - **MINOR** (0.x.0): New features, backward compatible - **PATCH** (0.0.x): Bug fixes, integration documentation updates ## Documentation Updates **IMPORTANT**: Always keep the README.md synchronized with integration changes. When modifying the integration interface, you MUST update the corresponding documentation: - **Service parameters**: Update parameter tables and examples in README.md - **New events**: Add event documentation with examples and field descriptions - **New entities**: Document entity types, attributes, and usage - **Configuration options**: Update configuration documentation - **Translation files**: Add translations for new parameters/entities in `en.json` and `ru.json` - **services.yaml**: Keep service definitions in sync with implementation The README is the primary user-facing documentation and must accurately reflect the current state of the integration. ## Development Servers **IMPORTANT**: When the user requests it OR when backend code changes are made (files in `packages/server/`), you MUST restart the standalone server: 1. Kill the existing process on port 8420 2. Reinstall: `cd packages/server && pip install -e .` 3. Start: `cd && IMMICH_WATCHER_DATA_DIR=./test-data IMMICH_WATCHER_SECRET_KEY=test-secret-key-minimum-32chars nohup python -m uvicorn immich_watcher_server.main:app --host 0.0.0.0 --port 8420 > /dev/null 2>&1 &` 4. Verify: `curl -s http://localhost:8420/api/health` **IMPORTANT**: When the user requests it, restart the frontend dev server: 1. Kill existing process on port 5173 2. Start: `cd frontend && npx vite dev --port 5173 --host &` 3. Verify: `curl -s -o /dev/null -w "%{http_code}" http://localhost:5173/`