Merged
Conversation
- Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Hi @mabry1985, thank you for your interest in protoMaker! 🙏 We don't accept code contributions via pull requests. protoMaker uses an ideas-only contribution model — all implementation is handled by AI agents to maintain architectural consistency and code quality standards. What you can do instead:
You're welcome to fork the repository and use your changes privately — that's what MIT is for. We just can't merge external code back in. See CONTRIBUTING.md for the full explanation. Closing this PR automatically. |
5 tasks
mabry1985
added a commit
that referenced
this pull request
Mar 16, 2026
* fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix prettier formatting in 10 files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mabry1985
added a commit
that referenced
this pull request
Mar 16, 2026
* homeMaker-completion: rebrand, sensor DB, vendor UI, HA integration * fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix prettier formatting in 10 files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: update board view presentation for home project management Rename board columns to home-friendly terminology (To Do, In Review, On Hold), update empty state descriptions to remove dev jargon, add default home categories (Maintenance, Renovation, Purchase, Research, DIY, Organization) to the category autocomplete, update the new task dialog title/placeholders/button text to use home language, and hide dev-specific card content (git branch name, PR URL). Underlying data model unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mabry1985
added a commit
that referenced
this pull request
Mar 16, 2026
* test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * Phase 2: Clean Up Orphaned View Components (#67) (#68) * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * feat: remove orphaned dev platform view components Deletes analytics-view, designs-view, docs-view, file-editor-view, github-issues-view, and project-settings-view — all were unreachable after route removal in the previous phase. Cleans up the lazy import and issues tab from ProjectsView that referenced github-issues-view. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: home-friendly board view presentation (M2 Phase 2) (#69) * homeMaker-completion: rebrand, sensor DB, vendor UI, HA integration * fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix prettier formatting in 10 files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: update board view presentation for home project management Rename board columns to home-friendly terminology (To Do, In Review, On Hold), update empty state descriptions to remove dev jargon, add default home categories (Maintenance, Renovation, Purchase, Research, DIY, Organization) to the category autocomplete, update the new task dialog title/placeholders/button text to use home language, and hide dev-specific card content (git branch name, PR URL). Underlying data model unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: fill in product identity — spec goals, terminology, and home-focused UI strings - spec.md: filled in Product Goals, Target Users (2-4 users across 1-2 households, Tailscale-only), Key Workflows (AI research, maintenance, inventory, budget), and Constraints (self-hosted, SQLite, no public internet exposure) - use-navigation.ts: renamed 'Family Chat' label to 'Household' - welcome-view.tsx: replaced 'Your autonomous AI development studio' with 'Your self-hosted home management hub'; replaced 'AI-powered development' with 'AI-powered research and planning' on the new project card Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: remove auto-generated TODO preamble from spec.md now that all sections are filled in Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Claude Agent <agent@protolabsai.com>
mabry1985
added a commit
that referenced
this pull request
Mar 16, 2026
* test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * Phase 2: Clean Up Orphaned View Components (#67) (#68) * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * feat: remove orphaned dev platform view components Deletes analytics-view, designs-view, docs-view, file-editor-view, github-issues-view, and project-settings-view — all were unreachable after route removal in the previous phase. Cleans up the lazy import and issues tab from ProjectsView that referenced github-issues-view. --------- * feat: home-friendly board view presentation (M2 Phase 2) (#69) * homeMaker-completion: rebrand, sensor DB, vendor UI, HA integration * fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. --------- * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item --------- --------- * style: fix prettier formatting in 10 files --------- * feat: update board view presentation for home project management Rename board columns to home-friendly terminology (To Do, In Review, On Hold), update empty state descriptions to remove dev jargon, add default home categories (Maintenance, Renovation, Purchase, Research, DIY, Organization) to the category autocomplete, update the new task dialog title/placeholders/button text to use home language, and hide dev-specific card content (git branch name, PR URL). Underlying data model unchanged. --------- * feat: fill in product identity — spec goals, terminology, and home-focused UI strings - spec.md: filled in Product Goals, Target Users (2-4 users across 1-2 households, Tailscale-only), Key Workflows (AI research, maintenance, inventory, budget), and Constraints (self-hosted, SQLite, no public internet exposure) - use-navigation.ts: renamed 'Family Chat' label to 'Household' - welcome-view.tsx: replaced 'Your autonomous AI development studio' with 'Your self-hosted home management hub'; replaced 'AI-powered development' with 'AI-powered research and planning' on the new project card * chore: remove auto-generated TODO preamble from spec.md now that all sections are filled in --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Claude Agent <agent@protolabsai.com>
mabry1985
added a commit
that referenced
this pull request
Mar 16, 2026
…tity (#73) * fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix prettier formatting in 10 files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * Phase 2: Clean Up Orphaned View Components (#67) (#68) * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * feat: remove orphaned dev platform view components Deletes analytics-view, designs-view, docs-view, file-editor-view, github-issues-view, and project-settings-view — all were unreachable after route removal in the previous phase. Cleans up the lazy import and issues tab from ProjectsView that referenced github-issues-view. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: home-friendly board view presentation (M2 Phase 2) (#69) * homeMaker-completion: rebrand, sensor DB, vendor UI, HA integration * fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix prettier formatting in 10 files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: update board view presentation for home project management Rename board columns to home-friendly terminology (To Do, In Review, On Hold), update empty state descriptions to remove dev jargon, add default home categories (Maintenance, Renovation, Purchase, Research, DIY, Organization) to the category autocomplete, update the new task dialog title/placeholders/button text to use home language, and hide dev-specific card content (git branch name, PR URL). Underlying data model unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Phase 1: Spec and User-Facing Copy (#70) (#71) * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * Phase 2: Clean Up Orphaned View Components (#67) (#68) * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * refactor: Phase 1: Remove Dev Routes and Nav Items (#65) * feat: remove orphaned dev platform view components Deletes analytics-view, designs-view, docs-view, file-editor-view, github-issues-view, and project-settings-view — all were unreachable after route removal in the previous phase. Cleans up the lazy import and issues tab from ProjectsView that referenced github-issues-view. --------- * feat: home-friendly board view presentation (M2 Phase 2) (#69) * homeMaker-completion: rebrand, sensor DB, vendor UI, HA integration * fix: disable express-rate-limit IPv6 validation for custom keyGenerator The sensor rate limiter uses a custom keyGenerator that falls back to req.ip when no sensor ID is available. express-rate-limit v7+ flags this as a potential IPv6 bypass. Disable the validation since our fallback is intentional and the app runs on Tailscale (trusted network). * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors * docs: add calendar module docs and expand HA integration docs (#58) - Add docs/modules/calendar.md with full API reference, data model, event types, job scheduling details, and WebSocket events - Expand docs/modules/sensors.md HA section from a stub into a full setup guide covering WebSocket config, ha: namespace, initial state fetch, and auth failure behaviour - Restructure docs/integrations/home-assistant.md to document both the direct WebSocket integration (recommended) and the push-via-REST alternative, with connection behaviour notes * epic: M4 Home Assistant Integration Client (#60) * Build HA WebSocket client service (#55) * chore: clean old automaker data + scaffold homeMaker-completion project Remove 16 legacy automaker project plans and 27 memory files inherited from the protoLabs Studio fork. Create homeMaker-completion project with 4 milestones: rebrand, sensor DB wiring, vendor UI restore, HA client. * fix: remove close-external-prs workflow that blocks all PRs homeMaker is a GitHub fork of automaker, so head.repo.fork evaluates to true for ALL pull requests — not just external ones. This causes every PR created by auto-mode agents to be immediately closed. * refactor: Update all protoLabs Studio UI references to homeMaker (#47) * feat: wire DB into SensorRegistryService for persistent history (#48) (#49) - Add BetterSqlite3.Database parameter to SensorRegistryService constructor - Add private db property, SensorReadingRow/AggregatedRow types, DEFAULT_RETENTION_DAYS constant - Persist sensor readings to sensor_readings SQLite table in report() - Move homemakerDb instantiation before SensorRegistryService creation in services.ts - Remove duplicate homemakerDb declaration; getHomemakerDb() singleton is now shared earlier * feat: add HAClientService for Home Assistant WebSocket integration Connects to HA via WebSocket API, authenticates with long-lived access token, subscribes to state_changed events, and auto-registers discovered entities as homeMaker sensors. Includes exponential-backoff reconnect and REST endpoints for status, connect, disconnect, and entity listing. --------- * Add HA configuration UI (#56) * feat: restore vendor UI — route, nav item, CRUD view (#53) - Add /vendors route wired to VendorsView - Add Vendors nav item (Store icon) to sidebar - Create vendors-view with search, category filters, grid layout - Create vendor-card, vendor-detail-panel (edit/delete), add-vendor-dialog - Create use-vendors hook with full CRUD against /api/vendors * feat: add Home Assistant configuration section to settings UI - Add HomeAssistantConfig type to GlobalSettings for URL, access token, and per-entity sync state persistence - Add /api/ha/test and /api/ha/entities routes proxying the HA REST API for connection testing and entity discovery - Create HASection settings component with connection status indicator, URL/token form, test connection, and entity sync toggle table - Wire HASection into settings view with 'home-assistant' nav item --------- --------- * style: fix prettier formatting in 10 files --------- * feat: update board view presentation for home project management Rename board columns to home-friendly terminology (To Do, In Review, On Hold), update empty state descriptions to remove dev jargon, add default home categories (Maintenance, Renovation, Purchase, Research, DIY, Organization) to the category autocomplete, update the new task dialog title/placeholders/button text to use home language, and hide dev-specific card content (git branch name, PR URL). Underlying data model unchanged. --------- * feat: fill in product identity — spec goals, terminology, and home-focused UI strings - spec.md: filled in Product Goals, Target Users (2-4 users across 1-2 households, Tailscale-only), Key Workflows (AI research, maintenance, inventory, budget), and Constraints (self-hosted, SQLite, no public internet exposure) - use-navigation.ts: renamed 'Family Chat' label to 'Household' - welcome-view.tsx: replaced 'Your autonomous AI development studio' with 'Your self-hosted home management hub'; replaced 'AI-powered development' with 'AI-powered research and planning' on the new project card * chore: remove auto-generated TODO preamble from spec.md now that all sections are filled in --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Claude Agent <agent@protolabsai.com> * epic: M2 Home AI Agent Refinement * test: add E2E tests for critical homeMaker cross-service flows (#64) Adds Playwright E2E tests covering four critical integration flows: 1. Sensor lifecycle: register → report reading → query history 2. Maintenance completion: create task → complete → verify XP awarded 3. Inventory + sensor: add asset → link sensor → verify readings 4. Gamification milestone: complete task → achievement unlocked Tests use API-level requests (no UI interaction required) and support both AUTOMAKER_AUTO_LOGIN dev mode and API key auth for CI environments. All four tests pass against the live dev server. * feat: add home research mode agent and research-first board task UX - Add `createHomeResearchAgent()` to agent-definitions.ts with WebSearch/WebFetch tools; produces structured reports (overview, top options, pros/cons, price ranges, recommendation) and is explicitly bounded from writing code or modifying files - Add `getHomeResearcherPrompt()` in libs/prompts/src/agents/home-researcher.ts and export it from the agents barrel - Extend `featureType` union in libs/types/src/feature.ts to include 'research' alongside 'code' and 'content' - Update add-feature-dialog to default new tasks to 'research' type with a task type selector (Research vs Code) and research-specific description placeholder examples --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: correct maintenance API paths — remove extra /schedules segment Frontend was hitting /api/maintenance/schedules but server mounts at /api/maintenance. Removed the extra path segment from all hook calls. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Agent <agent@protolabsai.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
473 doc-relevant files changed recently.
Changed files requiring docs review:
Created automatically by Automaker