Some checks failed
Validate / Hassfest (push) Has been cancelled
- Fix i18n: remove $state rune (SSR incompatible in .ts files), use reactive localeVersion counter in layout to trigger re-render on locale change. Language switching now works immediately. - Fix dark theme: add global CSS rules for input/select/textarea to use theme colors, override browser autofill in dark mode, set color-scheme for native controls (scrollbars, checkboxes) - Collapsible sidebar: toggle button (▶/◀) with persistent state, icons-only mode when collapsed. Theme/language buttons moved to bottom above user info. - Loading skeletons: all pages show animated pulse placeholders while data loads, eliminating content flicker on tab switch - Edit support: Servers, Trackers, and Targets now have Edit buttons that open the form pre-filled with current values. Save calls PUT. Sensitive fields (API key, bot token) can be left empty to keep current value when editing. - CLAUDE.md: add dev server restart rules Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
# 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 <repo_root> && 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/`
|