Back to Commands

Doordash Lunch

Commands doordash
Install Command
npx claude-code-templates@latest --command doordash/doordash-lunch
View on GitHub

Content

Team Lunch

Group order operation: $ARGUMENTS

Works with the doordash-group-orders skill (install it alongside — it defines the full flows; this command is the quick entrypoint). State: team-food.json (roster), .dd/round-<date>.json (active round), .dd/rounds.jsonl (history).

Current State

  • Roster: !cat team-food.json 2>/dev/null || cat ~/.claude/dd-cli/team-food.json 2>/dev/null || echo "(no roster yet)"
  • Active round: !ls .dd/round-*.json 2>/dev/null | tail -1 || echo "(none)"
  • Rounds history: !wc -l < .dd/rounds.jsonl 2>/dev/null || echo "0" rounds recorded

Task

Parse $ARGUMENTS:

`order` (default)

Run Flow 1 of the doordash-group-orders skill: roster check → constraint-aware restaurant shortlist via dd-cli search → per-member choices (favorites first, one question max per member) → build cart recording person → cart-item-id in the round ledger → show the cart grouped by person.

If the user pastes a thread of requests, parse it (Flow 2) instead of interviewing members.

`checkout`

  1. Show the grouped cart one final time (per-person subtotals).
  2. Emit the checkout URL — via bash .claude/skills/doordash-spend-guard/scripts/dd-guard.sh checkout <cart-uuid> when doordash-spend-guard is installed, otherwise dd-cli order checkout-url --cart-uuid <cart-uuid>.
  3. Print a share-ready split table (markdown, ready to paste into Slack): person, items, subtotal share.
  4. After the human confirms payment: pull order_uuid from dd-cli order history, ask who paid, append {date, order_uuid, payer, split} to .dd/rounds.jsonl, and offer the fee-proration fallback ("tell me the final total and I'll prorate the difference").

`whose-turn`

Read .dd/rounds.jsonl, compute per-member (consumed − paid) balances, name the next payer, show the balance table so the answer explains itself.

`roster`

Show/edit team-food.json interactively: add/remove members, update hard constraints, allergens (ask severity explicitly), favorites, dislikes. Confirm the final JSON before writing.

Rules

  • Never guess an order for a member with allergens.
  • cart-item-ids only from real cart show output — attribution depends on it.
  • Splits are pre-fee until the user reports the final total; say so in the split table footer.

Stack Builder

0 components

Your stack is empty

Browse components and click the + button to add them to your stack for easy installation.