{"id":47809053,"url":"https://github.com/ev-dev-labs/teslasync","last_synced_at":"2026-05-23T03:11:02.955Z","repository":{"id":348981440,"uuid":"1188395432","full_name":"ev-dev-labs/teslasync","owner":"ev-dev-labs","description":"🚗 Self-hosted Tesla Fleet Intelligence Platform — real-time monitoring, analytics, remote commands, and 30+ interactive dashboards.    │ │ Built with Go, React, PostgreSQL, and Helm.","archived":false,"fork":false,"pushed_at":"2026-04-08T00:13:12.000Z","size":10860,"stargazers_count":1,"open_issues_count":20,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-08T02:32:16.077Z","etag":null,"topics":["data-logger","ev","fleet-api","go","helm","homelab","kubernetes","react","self-hosted","tesla","tesla-api"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ev-dev-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing/adding-features.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T02:32:23.000Z","updated_at":"2026-04-07T17:05:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ev-dev-labs/teslasync","commit_stats":null,"previous_names":["ev-dev-labs/teslasync"],"tags_count":239,"template":false,"template_full_name":null,"purl":"pkg:github/ev-dev-labs/teslasync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev-dev-labs%2Fteslasync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev-dev-labs%2Fteslasync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev-dev-labs%2Fteslasync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev-dev-labs%2Fteslasync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ev-dev-labs","download_url":"https://codeload.github.com/ev-dev-labs/teslasync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev-dev-labs%2Fteslasync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31820369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-logger","ev","fleet-api","go","helm","homelab","kubernetes","react","self-hosted","tesla","tesla-api"],"created_at":"2026-04-03T18:01:36.006Z","updated_at":"2026-05-23T03:11:02.945Z","avatar_url":"https://github.com/ev-dev-labs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"web/public/icons/icon-192.svg\" width=\"80\" height=\"80\" alt=\"TeslaSync\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTeslaSync\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eSelf-hosted Tesla fleet intelligence — with Helix AI built in.\u003c/strong\u003e\u003cbr\u003e\n  Telemetry, analytics, automation, remote control, and an opt-in AI assistant for one car or a fleet — all on infrastructure you control.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#what-it-does\"\u003eWhat it does\u003c/a\u003e •\n  \u003ca href=\"#helix-ai\"\u003eHelix AI\u003c/a\u003e •\n  \u003ca href=\"#remote-vehicle-control\"\u003eRemote control\u003c/a\u003e •\n  \u003ca href=\"#quick-start\"\u003eQuick start\u003c/a\u003e •\n  \u003ca href=\"#architecture\"\u003eArchitecture\u003c/a\u003e •\n  \u003ca href=\"#documentation\"\u003eDocumentation\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Go-1.25-00ADD8?logo=go\u0026logoColor=white\" alt=\"Go 1.25\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-18-61DAFB?logo=react\u0026logoColor=black\" alt=\"React 18\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TimescaleDB-PostgreSQL%2017-336791?logo=postgresql\u0026logoColor=white\" alt=\"TimescaleDB\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"License\" /\u003e\n\u003c/p\u003e\n\n---\n\n## What it does\n\nTeslaSync is a self-hosted platform that turns your Tesla data into a real\nproduct: ingestion, history, dashboards, alerts, automations, remote commands,\nand an optional AI assistant called **Helix**. Everything runs in Docker or\nKubernetes on hardware you control. Your telemetry never leaves your network\nunless you choose to send it somewhere.\n\n### At a glance\n\n| | |\n|---|---|\n| Backend | Go 1.25 · Chi v5 · pgx v5 · zerolog · Prometheus · OpenTelemetry |\n| Frontend | React 18 + TypeScript · Vite 5 · TanStack Query 5 · Tailwind · Framer Motion · i18next |\n| Storage | PostgreSQL 17 + TimescaleDB · pgvector · Redis 7 |\n| Streaming | Tesla Fleet Telemetry (gRPC) · MQTT · SSE · polling fallback |\n| Deployment | Docker Compose (13 services) · Helm chart |\n| Vehicle control | 65+ Tesla command endpoints via Fleet API or Vehicle Command Proxy |\n| AI | **Helix** — 54 opt-in user features powered by a pluggable provider chain |\n| Schema | 197 numbered SQL migrations · TimescaleDB hypertable for `signal_log` |\n| Frontend feature areas | 21 (admin, analytics, automations, battery, charging, dashboard, diagnostics, driving, exports, maps, notifications, onboarding, power-user, settings, sharing, system, telemetry, trips, vehicle-systems, vehicles, watch) |\n\n---\n\n## Helix AI\n\nHelix is TeslaSync's optional AI layer. The brand mark (`HelixMark`) appears\nanywhere AI is in play — sidebar nav, chatbot avatar, feature badges, AI\nsettings header.\n\n\u003e **Off by default, opt-in per feature.** There is no global \"AI on\" switch.\n\u003e Each Helix feature is individually enabled from **Settings → AI**. Disabled\n\u003e features are *invisible*: their HTTP routes return 404, their React routes\n\u003e mount no AI UI, their background jobs and push notifications never fire.\n\n### Surfaces\n\n| Surface | Route | What it is |\n|---|---|---|\n| **Helix Chat** | `/chatbot` | Conversational assistant with tool-use over your fleet data |\n| **AI Settings** | `/settings/ai` | Per-feature toggles, provider config, usage card, redaction controls |\n| **AI Usage Card** | `/settings/ai` | Per-call audit log + spend visualisation across providers |\n| **AI Restore Panel** | `/settings/ai` | Re-issue a past AI answer from the audit log |\n| **Inline AI components** | various pages | 55+ `AI*.tsx` widgets gated by `withAiFeature` |\n\n### The 54 features (grouped)\n\n**Narratives \u0026 summaries**\nWeekly digest narration · Year-in-review narration · Period-compare narration ·\nTCO narration · Cost-forecast narration · Battery-health forecast narrative ·\nCabin-temperature impact narrative · Vampire-drain explanation\n\n**Natural-language builders**\nNL alert rule builder · NL automation builder · NL dashboard composer ·\nNL Grafana panel builder · NL SQL playground · NL drive search \u0026 replay ·\nNL signal-explorer filter · NL search\n\n**Predictions \u0026 ML**\nRange prediction model · Predictive maintenance · Smart charge schedule ·\nPreheat / precool recommender · Charging-curve fingerprint clustering ·\nML charging-curve clustering · Learned per-vehicle anomaly baselines\n\n**Explainers \u0026 coaching**\nDrive coaching · Safety-setting explainer · Anomaly explanations ·\nMQTT / SSE inspector explanations · State-machine debugger narrator ·\nLog / trace summarization · Software-update changelog summarizer ·\nIncident timeline summarizer · Charging diagnosis · Speed-profile insights ·\nRoute-efficiency suggestions · Tire-pressure trend reasoning\n\n**Automation \u0026 operations**\nAlert-tuning suggestions · Cross-rule conflict detection · Quiet-hours\nsuggestion · Inbox auto-categorization · Feedback-queue triage ·\nData-repair suggestions · Geofence-aware automation suggestions ·\nSuggest new geofences · Auto-name unnamed locations · Auto trip naming\n\n**Multimodal \u0026 misc**\nVoice mode · Watch-face NL response · Trip planner LLM agent ·\nTrip postcard share-card image generation · Vehicle paint preview ·\nPII redaction for shared exports · RAG help · Lifetime stats Q\u0026A ·\nChatbot LLM\n\nPlus 3 ops-only features: AI Usage Card, AI Provider Health, AI Redaction\nBypass Report — also off by default.\n\n### How Helix stays trustworthy\n\n- **Single source of truth** — every feature lives in\n  `internal/ai/features/registry.go`. Adding a feature means adding an entry,\n  not touching the form. The frontend mirror `web/src/ai/features.ts` is\n  **generated** by `tools/aigen`; CI runs `go run ./tools/aigen --check` and\n  blocks merge if the two drift.\n- **Off-by-default contract** — verified by `tools/aivet` and a final-gate\n  test suite. Every surface (HTTP route, React route, background job, push\n  kind) is enumerated in the registry and walked in CI to assert that\n  `ai_mode='off'` produces 404s, no DOM nodes carrying `data-ai-feature`,\n  no job execution, and no push delivery.\n- **Per-call audit log** — every invocation is recorded with feature ID,\n  provider, latency, token counts, and redaction status. Visible in the\n  AI Usage Card.\n- **Outbound PII redaction** — every request passes through an F8 redact\n  decorator before leaving the network. Per-(feature, provider) bypass\n  events are surfaced in the Redaction Bypass Report.\n- **Pluggable provider chain** — adapters for OpenAI, Azure OpenAI,\n  Anthropic, and local Ollama; primary + fallback configurable per feature.\n- **Strict per-feature gate** — `g.Wrap(\"\u003cfeature-id\u003e\", handler)` wraps every\n  route; `withAiFeature(\"\u003cfeature-id\u003e\")` wraps every React component;\n  `aivet` refuses to build if either is missing.\n\nFull Helix documentation: [`docs/guide/helix-ai.md`](docs/guide/helix-ai.md).\n\n---\n\n## Remote vehicle control\n\nTeslaSync exposes **65 unique Tesla Fleet API command endpoints** organised by\ndomain. Commands that require Tesla's signed-command envelope (Model 3/Y from\n2021+, all Model S/X refresh, all Cybertruck) are routed automatically through\na [Vehicle Command Proxy](https://github.com/teslamotors/vehicle-command) when\none is configured; `wake_up` always goes direct to Fleet API.\n\n| Category | Endpoints | Examples |\n|---|---:|---|\n| Wake | 1 | `wake_up` |\n| Security \u0026 access | 10 | `door_lock`, `door_unlock`, `set_sentry_mode`, `speed_limit_activate/deactivate/set_limit/clear_pin/clear_pin_admin`, `guest_mode`, `erase_user_data` |\n| Valet \u0026 PIN-to-drive | 5 | `set_valet_mode`, `reset_valet_pin`, `set_pin_to_drive`, `reset_pin_to_drive_pin`, `clear_pin_to_drive_admin` |\n| Climate | 3 | `auto_conditioning_start/stop`, `set_temps` |\n| Seat \u0026 steering heat | 6 | `remote_seat_heater_request`, `remote_seat_cooler_request`, `remote_auto_seat_climate_request`, `remote_steering_wheel_heater_request`, `remote_steering_wheel_heat_level_request`, `remote_auto_steering_wheel_heat_climate_request` |\n| Climate protection | 7 | `set_bioweapon_mode`, `set_cabin_overheat_protection` (incl. fan-only), `set_cop_temp`, `set_climate_keeper_mode` (Off / Keep / Dog / Camp), `set_preconditioning_max` |\n| Charging | 8 | `charge_port_door_open/close`, `charge_start`, `charge_stop`, `set_charge_limit`, `set_charging_amps`, `charge_max_range`, `charge_standard` |\n| Trunk \u0026 frunk | 1 | `actuate_trunk` (`which_trunk=front` or `rear`) |\n| Alerts | 2 | `honk_horn`, `flash_lights` |\n| Boombox | 1 | `remote_boombox` (fart, ping, custom) |\n| Windows \u0026 sunroof | 2 | `window_control` (vent / close), `sun_roof_control` (vent / close / stop) |\n| HomeLink | 1 | `trigger_homelink` |\n| Remote start | 1 | `remote_start_drive` |\n| Media | 7 | `media_toggle_playback`, `media_next_track`, `media_prev_track`, `media_next_fav`, `media_prev_fav`, `media_volume_down`, `adjust_volume` |\n| Charge \u0026 precondition schedules | 6 | `add_charge_schedule`, `remove_charge_schedule`, `add_precondition_schedule`, `remove_precondition_schedule`, `set_scheduled_charging`, `set_scheduled_departure` |\n| Navigation | 3 | `navigation_request`, `navigation_gps_request`, `navigation_sc_request` |\n| Software updates | 2 | `schedule_software_update`, `cancel_software_update` |\n| Vehicle metadata | 1 | `set_vehicle_name` |\n\nFull per-command reference (friendly aliases, parameters, signing\nrequirements): [`docs/guide/remote-commands.md`](docs/guide/remote-commands.md)\nand source of truth `internal/tesla/client_commands.go`.\n\n---\n\n## Real-time telemetry\n\n- **Tesla Fleet Telemetry** — gRPC streaming. The vendored `vehicle_data.proto`\n  plus `go generate` keep the codec, signal metadata, and routing table in\n  lock-step with upstream.\n- **MQTT** — publish / subscribe to live signals; embedded Mosquitto in\n  Docker Compose, any external broker via Helm.\n- **SSE** — Server-Sent Events push live state to the browser. Singleton\n  connection per tab, automatic reconnect, instant vehicle + alert updates.\n- **Polling fallback** — `/api/1/vehicles/{id}/vehicle_data` on a schedule\n  when streaming is unavailable.\n- **Two-layer signal store**\n  - L1: in-process `signal.Store` (nanosecond reads, FSM / sessions hot path)\n  - L2: Redis `vehicle:{id}:signals` HSET + Pub/Sub (cross-pod, restart recovery)\n  - Durable history: `signal_log` TimescaleDB hypertable (every signal kept\n    forever for charts, replay, and point-in-time reconstruction)\n\n---\n\n## Features\n\n### Operations \u0026 fleet\nDashboard · Live map with 5 tile layers (CARTO Dark default, Azure Maps,\nGoogle Maps, Esri Satellite, OpenStreetMap, OpenTopoMap) · Vehicle detail ·\nCommand history · State-machine timeline · Command palette (Cmd/Ctrl+K) ·\nPWA installable · 5 dynamic themes × 4 display modes\n\n### Charging\nSessions · Charging curve · Cost analysis · Charging heatmap (7×24) ·\nTesla billing history · Charge limit \u0026 amp control · Schedules (legacy +\nfirmware 2024.26+) · Preconditioning\n\n### Energy \u0026 battery\nBattery health · Cell voltage spread (4×23 pack visualisation) ·\nPack voltage / current · BMS · Powershare · Vampire drain · Energy flow ·\nDegradation projection with linear regression\n\n### Driving\nDrive list · Drive detail · Drive Score (0–100 efficiency) · Speed profile ·\nMotor torque · G-forces · Pedal usage · Stator / inverter / heatsink temps ·\nTrip replay (animated) · Route efficiency comparison · Regen ratio\n\n### Analytics\nMonthly statistics · True cost of ownership (EV vs gas) · Sleep efficiency ·\nTemperature impact (efficiency vs ambient) · Weekly digest · Year-in-review ·\nProjected range under different conditions (highway, city, cold, hot, sentry) ·\nFleet comparison\n\n### Alerts \u0026 automation\n**Alert Studio** at `/alert-studio` — visual rule builder over the full Tesla\nsignal catalog (230 entries). **CEP rule engine** with recursive AND/OR/NOT\ncondition trees, 11 operators, `for_seconds` temporal sustain,\n`changed_to`/`changed_from` transition detection, per-rule cooldown,\nmulti-channel dispatch, server-side quiet hours, 50+ rule templates,\ntest-notification flow with signal-value interpolation\n(`{{BatteryLevel}}` etc.).\n\n### Diagnostics \u0026 developer tools\nLive signal monitor · Signal log viewer · Signal explorer (chart any signal) ·\nSignal diff · Signal gap detector · State-machine debugger · MQTT inspector ·\nDB health dashboard · 25+ Tesla API developer tools (VIN decoder, JWT decoder,\npartner registration, API playground, raw fleet-telemetry config / errors,\nsignal config modal, …)\n\n### Backup \u0026 restore\nScheduled automated backups (daily to every 30 days) · Full + incremental ·\nMulti-provider storage (Local, Amazon S3, Azure Blob, Google Cloud Storage) ·\nGzip + SHA-256 integrity verification · Configurable retention (last N,\nmax 100) · Download, verify, preview restore from UI · Complete run history ·\nOne-click manual quick backup\n\n### Maps \u0026 geocoding\nMulti-provider map tiles with auto-selection by API key · Layer switcher on\nall 5 map pages · Geocoding priority: geofence name → places cache →\nGoogle/Azure/Nominatim · Places cache (~90% API call reduction) ·\nReverse-geocoded drives and charging sessions\n\n### Observability\nPrometheus `/metrics` · 28 Grafana dashboards (deep analytics, CEP, SSE\nreal-time, infrastructure) · OpenTelemetry instrumentation (OTLP gRPC export) ·\nJaeger profile in Docker Compose · Structured zerolog JSON logs ·\nPer-repo DB spans with semantic conventions\n\n### Engineering invariants\n- **SI canonical** — every DB column, API field, and Go/TS type stores SI\n  units (m, m/s, °C, Pa, Wh). User display preference (mi/km, °F/°C, psi/bar)\n  is applied **only at the React render boundary** by `useUnits()` /\n  `useFormatting()`. No legacy unit converters downstream.\n- **100% Tesla Fleet Telemetry coverage** — vendored proto + `go generate`.\n- **Auto-generated AI feature mirror** — backend and frontend cannot drift\n  on the set of Helix feature IDs.\n\n---\n\n## Quick start\n\n```bash\ngit clone https://github.com/ev-dev-labs/teslasync.git\ncd teslasync\ncp .env.example .env\n# Edit .env with Tesla Developer credentials and your deployment URLs\ndocker compose up -d --build\n```\n\nWindows users: replace `cp .env.example .env` with `Copy-Item .env.example .env`.\n\nDefault ports:\n\n| Service | URL |\n|---|---|\n| Web UI | http://localhost:3000 |\n| API | http://localhost:8080 |\n| Grafana | http://localhost:3001 |\n| Prometheus | http://localhost:9099 |\n| Jaeger (optional, `--profile tracing`) | http://localhost:16686 |\n\n### What the quick start actually gives you\n\n`docker compose up -d --build` brings up the stack in **open mode** (no `FORWARD_AUTH_HEADER` set) — fine for a local trial on `localhost`, **not** safe to expose publicly. The Tesla OAuth flow needs all five scopes ticked on your Tesla Developer application (`openid offline_access vehicle_device_data vehicle_location vehicle_cmds vehicle_charging_cmds`); any missing scope produces a working-looking dashboard with empty vehicle pages. The compose file uses `timescale/timescaledb-ha:pg17` because migration 1 installs TimescaleDB + pgvector — upstream `postgres:17` will fail to start.\n\nFor Fleet Telemetry streaming or signed commands you also need:\n\n- A publicly-reachable HTTPS domain with valid TLS\n- A registered partner account with Tesla (one-time `POST /api/v1/devtools/register-partner` once the public domain is live)\n- The `commands` and/or `telemetry` Compose profiles enabled\n\nFull step-by-step setup including the auth model decision, partner-key flow, regional Fleet API bases, and Helix AI provider choices:\n[`docs/guide/getting-started.md`](docs/guide/getting-started.md) · [`docs/guide/tesla-fleet-api.md`](docs/guide/tesla-fleet-api.md).\n\n---\n\n## Architecture\n\n```\n                ┌──────────────────────┐\n                │      Browsers        │\n                │  React SPA + PWA     │\n                └─────────┬────────────┘\n                          │  HTTPS / SSE\n                          ▼\n┌────────────────────────────────────────────────────┐\n│              Go API (Chi v5)                       │\n│  ┌────────────────┐   ┌───────────────────────┐    │\n│  │ Vehicle ops    │   │ Helix AI router       │    │\n│  │ Telemetry      │   │  • feature gate       │    │\n│  │ Charging       │   │  • redact decorator   │    │\n│  │ Alerts / CEP   │   │  • provider chain     │    │\n│  │ Automations    │   │  • per-call audit     │    │\n│  │ Backups        │   │  • tool registry      │    │\n│  └────────────────┘   └───────────────────────┘    │\n└─────┬───────────────────┬────────────────────┬─────┘\n      │                   │                    │\n      ▼                   ▼                    ▼\n┌───────────┐      ┌─────────────┐       ┌──────────┐\n│ Postgres  │      │ Redis 7     │       │ MQTT     │\n│ Timescale │      │  • L2 store │       │ Mosquitto│\n│  + signal │      │  • cache    │       └──────────┘\n│   _log    │      │  • Pub/Sub  │\n└───────────┘      └─────────────┘\n      ▲                   ▲\n      │                   │\n┌─────┴───────────────────┴─────┐    ┌──────────────────────┐\n│   Tesla Fleet Telemetry       │    │ Vehicle Command      │\n│   gRPC subscriber + codec     │    │ Proxy (signs cmds)   │\n└──────────────────────────────┬┘    └──────────┬───────────┘\n                               │                │\n                               ▼                ▼\n                          ┌──────────────────────────┐\n                          │     Tesla Fleet API      │\n                          └──────────────────────────┘\n```\n\nDetail: [`docs/guide/architecture.md`](docs/guide/architecture.md).\n\n---\n\n## Documentation\n\n| | |\n|---|---|\n| 🚀 [Getting started](docs/guide/getting-started.md) | Install, configure, first run |\n| 🔑 [Tesla Fleet API setup](docs/guide/tesla-fleet-api.md) | Developer app, scopes, regions, partner registration |\n| 🧠 [Helix AI](docs/guide/helix-ai.md) | Features, providers, audit, redaction |\n| 🎮 [Remote commands](docs/guide/remote-commands.md) | All 65 Tesla commands |\n| 🏛 [Architecture](docs/guide/architecture.md) | Services, data flow, schema |\n| ⚙ [Configuration](docs/guide/configuration.md) | Environment variables |\n| 📡 [Fleet Telemetry](docs/guide/fleet-telemetry.md) | gRPC streaming setup |\n| 🗄 [Database](docs/guide/database.md) | Schema, hypertables, migrations |\n| 🔌 [API endpoints](docs/guide/api-endpoints.md) | REST + SSE reference |\n| 🐳 [Docker deployment](docs/deployment/docker.md) | Compose setup |\n| ☸ [Kubernetes](docs/deployment/kubernetes.md) | Helm chart |\n| 🛟 [Troubleshooting](docs/guide/troubleshooting.md) | Common issues |\n| ❓ [FAQ](docs/guide/faq.md) | |\n| 🛠 [Local development](docs/guide/local-development.md) | Dev loop |\n| 🤝 [Contributing](docs/contributing/code-structure.md) | |\n\n---\n\n## Repository layout\n\n```\n.\n├─ cmd/                       Go entry points (api, workers, tools)\n├─ internal/\n│  ├─ api/                    HTTP handlers (incl. 57 ai_*_handler.go files)\n│  ├─ ai/\n│  │  ├─ features/registry.go Source of truth for AI features\n│  │  ├─ strategies/          Per-feature strategy.go + goldens.yaml (53 strategies)\n│  │  └─ tools/               Tool registry the LLM can call (50+ tools)\n│  ├─ tesla/                  Fleet API client, 65 command endpoints, proxy router\n│  ├─ signal/                 L1 in-process store\n│  ├─ fsm/                    Vehicle state machine\n│  ├─ cep/                    Complex-event processing for alerts\n│  └─ ...\n├─ web/\n│  └─ src/\n│     ├─ ai/features.ts       Auto-generated from internal/ai/features\n│     ├─ components/\n│     │  ├─ ai/               55+ AI* components, gated by withAiFeature\n│     │  └─ branding/         HelixMark — the Helix brand icon\n│     ├─ features/            21 feature areas\n│     └─ ...\n├─ migrations/                197 numbered SQL migration files\n├─ docs/                      User \u0026 contributor documentation\n├─ helm/teslasync/            Production Helm chart\n├─ tools/\n│  ├─ aigen/                  Generates web/src/ai/features.ts from Go registry\n│  └─ aivet/                  CI vet for AI feature contract\n└─ docker-compose.yml         13 services\n```\n\n---\n\n## Contributing\n\nSee [`docs/contributing/code-structure.md`](docs/contributing/code-structure.md)\nand the topical instructions under [`.github/instructions/`](.github/instructions/)\n(Go backend, React frontend, Tesla pipeline, telemetry pipeline, observability,\ndata modeling, i18n, prompt engineering, Helm / Docker).\n\nBefore opening a PR:\n\n```bash\n# backend\ngo test ./... -race\ngo vet ./...\ngo run ./tools/aivet          # AI feature contract check\ngo run ./tools/aigen --check  # ensure web/src/ai/features.ts is in sync\n\n# frontend\ncd web\nnpm install\nnpm run lint                  # ESLint + 25+ custom audit scripts\nnpm run test                  # Vitest\n```\n\n---\n\n## License\n\nMIT — see [`LICENSE`](LICENSE).\n\n## Acknowledgements\n\nBuilt on Tesla's [Fleet API](https://developer.tesla.com/docs/fleet-api),\n[Fleet Telemetry](https://github.com/teslamotors/fleet-telemetry), and the\n[Vehicle Command Proxy](https://github.com/teslamotors/vehicle-command).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fev-dev-labs%2Fteslasync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fev-dev-labs%2Fteslasync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fev-dev-labs%2Fteslasync/lists"}