尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证frontend
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Production frontend for Kevin (kevin.co) — photos in, defensible
personal-property inventory out, exported to Xactimate/XactContents.
• src/ — the production app (Vite + React + TypeScript).
• design/ — the high-fidelity design prototype. Reference, not shippable code.
design/CLAUDE.md (domain rules), design/INTERACTIONS.md (wiring manifest),
design/SCHEMAS.md and design/ROUTES.md are the spec.
The backend is a separate service; kevin-backend/FRONTEND.md is the API contract.查看完整 README ↗Production frontend for Kevin (kevin.co) — photos in, defensible personal-property inventory out, exported to Xactimate/XactContents.
src/ — the production app (Vite + React + TypeScript).design/ — the high-fidelity design prototype. Reference, not shippable code.
design/CLAUDE.md (domain rules), design/INTERACTIONS.md (wiring manifest),
design/SCHEMAS.md and design/ROUTES.md are the spec.The backend is a separate service; kevin-backend/FRONTEND.md is the API contract.
npm install
cp .env.example .env.local # then fill in real values
npm run dev
| Variable | Purpose |
|---|---|
VITE_API_BASE_URL | Backend origin (the web service, not a worker) |
VITE_SUPABASE_URL | Supabase project URL — auth only |
VITE_SUPABASE_ANON_KEY | Publishable key. Never the service-role key |
Any localhost origin is CORS-allowed by the backend, so local dev needs no
backend change. A deployed origin must be added to CORS_ALLOWED_ORIGINS.
Vercel, zero-config Vite. vercel.json rewrites every path to index.html so
client-side routes resolve on a cold hit — without it, share links of the form
/p/<token> 404 at the CDN before React Router ever runs.
| Path | Notes |
|---|---|
/ | Scaffold placeholder |
/p/:token | Public client portal. No auth, no Supabase key required. A dead link answers 410, not 404 |