尚未检测到更新。GitHub 发布版本后会显示在这里。
正在加载完整 README。 以下为已保存的摘录。
Done For You Kitchen is a self-hosted household meal planner built around one idea:
This repository contains the working Phase 1 foundation, a prompt-free AI weekly planner, a focused custom recipe workshop, and the first Phase 2 kitchen-inventory slice. It is a React Router 8 framework-mode application with strict TypeScript, PostgreSQL, Drizzle ORM, Tailwind CSS, email magic-link authentication, direct Google Vertex AI Express generation, and household-scoped server access.查看完整 README ↗Done For You Kitchen is a self-hosted household meal planner built around one idea:
true weekly cost = what you buy - what has a real chance of carrying forward
This repository contains the working Phase 1 foundation, a prompt-free AI weekly planner, a focused custom recipe workshop, and the first Phase 2 kitchen-inventory slice. It is a React Router 8 framework-mode application with strict TypeScript, PostgreSQL, Drizzle ORM, Tailwind CSS, email magic-link authentication, direct Google Vertex AI Express generation, and household-scoped server access.
Implemented:
Deferred by the requested build order:
The PWA cache remains deferred because its durable offline contract needs a checkable shopping workflow plus the current week's recipes. The current generated list is derived after each saved count and can create a native Apple Notes checklist through a synced Shortcut, but does not claim in-app persisted checkoffs. The Groceries are home action is an explicit pantry update from a reviewed set of purchases, not a persisted shopping list, receipt, inventory lot, or automatic retailer reconciliation.
The project pins React Router 8.3.0, React 19.2.8, Vite 8.2.1, and all other direct dependencies to exact versions.
Install dependencies.
npm install
Create local environment configuration.
cp .env.example .env
Replace the database URLs, create a unique secret of at least 32 characters, configure the household member profile JSON, and add a Vertex AI Express API key as GOOGLE_VERTEX_API_KEY. Keep MAGIC_LINK_DELIVERY=console only for local development. AI_RECIPE_MODEL defaults to gemini-3.7-flash through the direct Google provider.
A linked Vercel project can instead use vercel env pull .env.local --environment=development. Standalone migration and Drizzle commands load .env.local first and then use .env for missing values. The seed also checks an ignored .env.seed.local first so real household profiles can stay separate from runtime configuration.
Apply the schema and seed the household plus ingredient reference data.
npm run db:migrate
npm run db:seed
The seed command is safe to run again. It updates the canonical manifest and default purchase formats without duplicating the household, users, members, or ingredients. Set HOUSEHOLD_SEED_DRY_RUN=true to execute the full seed transaction and roll it back intentionally before the first production apply.
HOUSEHOLD_MEMBER_PROFILES_JSON is the preferred member configuration. Each strict profile supplies seedKey, displayName, email, memberType, and appetiteMultiplier. Exactly two adult profiles must have distinct login emails. Keep every non-login member's seedKey stable: it is part of that member's deterministic database identity, so changing it creates a different member instead of renaming the existing one. HOUSEHOLD_ADULT_EMAILS remains available as the four-person legacy fallback when profile JSON is blank.
Start the development server.
npm run dev
Open http://localhost:5173. Request a link for one of the two seeded adult emails. In console delivery mode, the sign-in screen exposes a development-only preview link. The link opens a confirmation screen and is consumed only after confirmation.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗