diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..93b4718 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,67 @@ +# Bluetooth MCP Server +Allow LLMs to manage the Linux Bluetooth stack + +## E2E Testing with mcbluetooth-esp32 + +Full automated Bluetooth testing is available using the ESP32 test harness: + +**Repository:** `/home/rpm/claude/mcbluetooth-esp32` + +**Test Coverage:** +- All 4 SSP pairing modes: Just Works, Numeric Comparison, Passkey Entry, Legacy PIN +- BLE GATT: service/characteristic creation, read, write, notify +- HCI packet capture and analysis +- Device management: trust, block, alias +- HFP AG: SLC negotiation, incoming/outgoing calls, DTMF, volume, indicators + +**Running Tests:** +```bash +cd /tmp/bt-e2e-test + +# Full suite (may OOM on constrained systems) +PROMPT=$(cat test-prompt-v6.md) +claude -p "$PROMPT" \ + --mcp-config .mcp.json \ + --allowedTools "mcp__esp32__*,mcp__bluez__*" \ + --output-format json + +# Phased runner (recommended — avoids OOM) +./run-phases.sh +``` + +**Latest Results:** v6 — 86/86 PASS (100%) + +See `mcbluetooth-esp32/docs/automated-e2e-testing.md` for full setup guide. + +## Docs Site Deployment + +Starlight documentation site in `docs-site/` subdirectory. + +- **Production**: https://mcbluetooth.warehack.ing +- **Git**: `git@git.supported.systems:MCP/mcbluetooth.git` +- **Server**: `ssh -A warehack-ing@warehack.ing`, repo at `~/mcbluetooth` + +### Environment + +Copy `.env.example` to `.env` in `docs-site/`: + +```env +COMPOSE_PROJECT_NAME=mcbluetooth-docs +DOMAIN=mcbluetooth.warehack.ing +``` + +### Commands + +```bash +# From docs-site/ directory: +make up # Build and start production container +make down # Stop container +make logs # Tail container logs +make restart # Stop + start +``` + +### Deploy to Production + +```bash +ssh -A warehack-ing@warehack.ing "cd ~/mcbluetooth && git pull && cd docs-site && make up" +```