Weekly grocery and meal autopilot for a 2-person household.
Weekly grocery and meal autopilot for a 2-person household. Smithers all the way down -- no Zig, no external runtimes. Every workflow, agent, and state store is defined and orchestrated through smithers.
.smithers/
agents.ts — shared agent definitions (planner, tracker, shopper)
prompts/ — MDX prompt templates for each agent persona
components/ — reusable workflow building blocks (e.g. calorie math, pantry diff)
workflows/ — top-level workflow definitions (weekly plan, photo log, reorder)
state/ — SQLite databases (preferences, pantry, meal history, orders)
All orchestration lives inside .smithers/. Agents are composed declaratively in agents.ts, prompt templates live in prompts/ as MDX files, and reusable logic (calorie calculations, pantry diffing, substitution scoring) is factored into components/. Top-level user-facing flows are wired up in workflows/, and all persistent state is stored in SQLite databases under state/.
Controlled by the autonomy_mode field in household preferences (default: approve_checkout).
| Mode | Behavior |
|---|---|
suggest | Proposes plan and cart; user does everything manually |
approve_checkout | Builds cart and generates Instacart link automatically; user taps approve on iPhone app before link is shared |
autopilot | Generates and shares the shoppable link automatically as long as budget, dietary, and schedule guardrails are satisfied |
approve_checkout; switch to autopilot once preferences stabilizeautopilot, any guardrail violation (budget exceeded, allergen detected, preferred retailer unavailable) forces a fallback to approve_checkout for that cycle