Initial sync: memory, agents, commands, and gitignore

Syncs project memory, custom agents, and commands across machines.
Excludes secrets (settings.json), session state, and runtime files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Chris
2026-06-11 09:19:24 -05:00
commit 33cab10cef
47 changed files with 1229 additions and 0 deletions
@@ -0,0 +1,4 @@
- [MQTT HA Integration Plan](project_mqtt_ha_plan.md) — Plan to add MQTT discovery integration with Home Assistant; broker is Mosquitto on HA
- [Teach Mode + Photo-Tune Plan](project_calibration_plan.md) — Teach mode wizard UI + Claude Code photo-assisted calibration skill
- [Feature Branches Status](project_branches.md) — All feature branches on fork with implementation status and PR info
- [Flask Dev Port](feedback_port.md) — Run Flask dev server on port 8080, not default 80
@@ -0,0 +1,11 @@
---
name: Flask dev server port
description: User runs the Flask dev server on port 8080, not the default port 80
type: feedback
---
Run the Flask dev server on port 8080 for local testing.
**Why:** User preference — they've been using 8080 consistently.
**How to apply:** When starting the Flask app for testing, always use port 8080 instead of the default.
@@ -0,0 +1,25 @@
---
name: Feature branches and PRs status
description: All feature branches on csader/SplitFlapDisplay fork with implementation status and PR info
type: project
---
Fork: `github.com/csader/SplitFlapDisplay` (upstream: `adamgmakes/SplitFlapDisplay`)
Clone: `/Users/csader/Downloads/SplitFlapDisplay`
**Why:** Contributing features back to the original split-flap display project.
**Branches and status:**
| Branch | Status | PR |
|--------|--------|----|
| `feature/5-module-bus-bar` | Merged with wrong files | #6 merged, #7 fix open |
| `fix/5-module-bus-bar-files` | Correct FAB2 files | #7 open |
| `feature/mqtt-home-assistant` | Implemented, pushed | Not yet PR'd |
| `feature/teach-mode` | Implemented, pushed | Not yet PR'd |
| `feature/photo-tune` | Implemented, pushed | Not yet PR'd |
| `feature/expanded-sports` | Implemented, pushed | Not yet PR'd |
| `feature/simulator` | Implemented, pushed | Not yet PR'd |
| `feature/animated-preview` | Implemented, pushed | #8 open |
**How to apply:** Check branch status before working. User wants to test features before filing PRs for most branches.
@@ -0,0 +1,20 @@
---
name: Teach Mode + Photo-Tune Calibration Plan
description: Plan for teach mode calibration wizard in web UI and Claude Code photo-assisted tuning skill for the split-flap display
type: project
---
Plan to add two calibration features to the split-flap display.
**Why:** Calibrating 45 modules across 64 characters is tedious. Teach mode simplifies the web UI flow, and photo-tune lets Claude Code do the visual inspection automatically.
**How to apply:** When implementing, the full plan is at `.claude/plans/cached-beaming-twilight.md`. Three files involved:
- `SplitFlap-RPI-FRONTEND/frontend_code_apr24/templates/index.html` — teach mode modal (HTML/CSS/JS, ~250 lines)
- `SplitFlap-RPI-FRONTEND/frontend_code_apr24/app.py``GET /tuning_status` convenience endpoint (~25 lines)
- `.claude/commands/photo-tune.md` — new Claude Code slash command for photo-assisted tuning
**Key decisions:**
- Teach mode is a separate modal from existing auto-tune (don't modify auto-tune)
- Reuses existing `/auto_tune` API endpoints (home, goto_char, adjust, get_positions)
- Photo-tune skill accepts Pi hostname as parameter, documents the iterative photo→analyze→nudge workflow
- No new Python dependencies, no firmware changes
@@ -0,0 +1,22 @@
---
name: MQTT Home Assistant Integration Plan
description: Detailed plan for adding MQTT discovery-based Home Assistant integration to the split-flap display Flask app
type: project
---
Plan to add MQTT integration to the split-flap display so Home Assistant can control it natively.
**Why:** The display is currently only controllable via the Flask web UI. MQTT lets HA send text, switch apps/animations, and see current state via auto-discovered entities.
**How to apply:** When implementing, all changes go in `SplitFlap-RPI-FRONTEND/frontend_code_apr24/app.py`. The full plan is saved at `.claude/plans/cached-beaming-twilight.md`.
**Summary of approach:**
- Add `paho-mqtt` dependency
- MQTT settings added to `load_settings()` defaults: broker (homeassistant.local), port (1883), user, password, enabled flag
- 3 HA entities via MQTT Discovery: `text` (send display text), `select` (switch app/animation mode), `sensor` (current display string)
- All entities grouped under one device, shared LWT availability on `splitflap/availability`
- Command handlers reuse existing patterns: `send_to_display()`, `active_app`, `stop_event.set()`, `loop_delay` logic
- State published with `retain=True` from `send_to_display()` and route handlers so HA stays in sync
- Graceful fallback if MQTT unavailable (same pattern as serial fallback)
- Firmware and serial protocol unchanged
- Broker: Mosquitto add-on on Home Assistant