dev_agentandClaude Opus 5.5 f1e7503f94
CI / ci (push) Successful in 6m3s
CI / ci (pull_request) Successful in 5m17s
Add VAPID config and the push subscription API
Require MEALQUEST_VAPID_PUBLIC_KEY, MEALQUEST_VAPID_PRIVATE_KEY_FILE and
MEALQUEST_VAPID_SUBJECT at boot. Both keys are unpadded base64url P-256
keys, the encoding webpush-go reads; boot derives the public point from the
private key and refuses a pair that does not match. The subject must be
mailto:<address> or an https:// URL.

internal/push stores subscriptions by endpoint: GET
/api/v1/push/vapid-public-key serves only the public key, POST
/api/v1/push/subscriptions upserts {endpoint, keys.p256dh, keys.auth,
user_agent}, and DELETE removes by endpoint, answering 204 whether or not
it was stored. cmd/vapidgen prints a new key pair. deploy/compose.yaml
mounts the vapid_private_key secret.

Maestro task e8a7b1f4-327a-478b-88c7-5d265afda153.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 08:03:59 -04:00
2026-10-02 15:09:42 -04:00
2026-10-05 15:22:37 -04:00
2026-10-05 15:22:37 -04:00

MealQuest

MealQuest is a mobile-first Progressive Web App for weekly dinner planning for one household. The household lists the dinners it makes regularly, an AI assistant suggests new dinners to try (swipe "Try it" or "Pass"), and the app builds a weekly plan, pushes it to Google Calendar, and generates a shopping list grouped by dinner, kept as a browsable weekly history. It ships as a single Go service with the React PWA embedded in the binary.

Status: this repository is the Feature 01 scaffold (Go service with /health, embedded PWA skeleton, Makefile, Dockerfile, CI). The planned application is described in docs/ARCHITECTURE.md.

Running it locally

The developer setup (prerequisites, Authentik and Google clients, the MEALQUEST_* environment, make dev and the optional SearXNG sidecar) is runbook information and lives in CTXD: project mealquest, file RUNBOOKS.MD, section "Local development". Configuration is read only from the environment, and the service refuses to start, naming every missing or invalid variable.

Common commands

Command What it does
make dev Go server plus Vite dev server.
make test gofmt check, go vet, go test -race, web typecheck and tests.
make build Build the PWA, embed it, build the static binary bin/mealquest.
make docker Build the container image from the root Dockerfile.
S
Description
No description provided
Readme
14 MiB
Languages
Go 49.1%
TypeScript 28.3%
HTML 16.8%
JavaScript 2.7%
CSS 2.4%
Other 0.5%