dev_agentandClaude Opus 5.5 875a0faaae
CI / ci (push) Successful in 6m59s
CI / ci (pull_request) Successful in 7m2s
Turn on push from onboarding step 3 and add a test-push endpoint (Feature 19)
Onboarding step 3's "Turn on notifications" now calls usePush().subscribePush
straight from that tap (the only place onboarding asks for permission) and
shows how it ended: on; blocked, with how to allow it in the browser's site
settings; not supported, with how to add MealQuest to the Home Screen on
iPhone; or a dismissed prompt that can be asked again. "Maybe later" still
finishes without asking. The interim notificationsUnavailable is gone.

POST /api/v1/settings/notifications/test-push queues "MealQuest test
notification" through the notification outbox as a plan_ready event with a
fresh plan_ready:test-<ULID> key, opening /plan, on the push channel only
(new notify.Service.EmitPush), never Google Chat. It answers 202
{event_key, subscriptions}, or 409 no_subscriptions / push_off rather than
reporting success when nothing would be sent.

Maestro task f89279b8-b92c-4d9f-a6c2-fd87fccda509.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:54:23 -04:00
2026-10-02 15:09:42 -04:00
2026-10-09 13:45:21 -04:00
2026-10-09 13:45:21 -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%