尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A FIRE financial independence calculator and tracker
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
UntilFire is a Next.js app for FIRE planning: a public calculator/wizard, SEO learning pages, and a logged-in dashboard for cashflow, assets, liabilities, and freedom-date planning.
Start with project memory, current direction,
and the decision log. This repo is the single maintained home
for public-safe project knowledge as well as code. Read why a choice was made
before changing it; update the relevant docs in the same PR.檢視完整 README ↗UntilFire is a Next.js app for FIRE planning: a public calculator/wizard, SEO learning pages, and a logged-in dashboard for cashflow, assets, liabilities, and freedom-date planning.
Live site: untilfire.com
Start with project memory, current direction, and the decision log. This repo is the single maintained home for public-safe project knowledge as well as code. Read why a choice was made before changing it; update the relevant docs in the same PR.
The old Obsidian vault is retained as historical source material. Both branches were reconciled in the migration record; normal work no longer requires a separate vault read or update.
app/api/categorise/route.ts for the current providerapp/api/email/ and lib/email-send.tsapp/ — Next.js App Router routes and route handlersapp/page.tsx — public landing page and calculator wizardapp/dashboard/ — authenticated dashboard tabs and dashboard componentsapp/components/landing/ — landing-page UI componentsapp/fire-number/[city-slug]/ — city SEO landing pagesapp/learn/ — public learning hub and article routesapp/calculators/ — standalone calculator hubapp/api/ — API routes for waitlist, Stripe, Plaid, feedback, AI categorisation (/api/categorise), and related server worklib/ — shared FIRE logic, Supabase helpers, Plaid helpers, journey/localStorage helpers, and positioning constantsscripts/ — repo validation utilitieslib/fire/index.ts — FIRE engine surface and recommendationslib/fire-data.ts — city data and tax/FIRE helperslib/fire/strategies/traditional.ts — core FIRE projection strategylib/supabase.ts — Supabase client helpers and subscription gatinglib/journey.ts — calculator prefill and localStorage helperslib/positioning.ts — reusable anchor marketing copy constantsapp/globals.css — global design tokens and component classes.env.example — required environment variable names, without secretsnpm install
cp .env.example .env.local
npm run dev
Development server:
http://localhost:3000
Copy .env.example to .env.local and fill values locally or in Vercel.
Current variable names:
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
STRIPE_SECRET_KEY
STRIPE_WEBHOOK_SECRET
NEXT_PUBLIC_POSTHOG_KEY
NEXT_PUBLIC_POSTHOG_HOST
ANTHROPIC_API_KEY
RESEND_API_KEY
FEEDBACK_TO_EMAIL
LOOPS_API_KEY
PLAID_CLIENT_ID
PLAID_SECRET
PLAID_ENV
NEXT_PUBLIC_EMAIL_SIGNIN # "on" adds email-code sign-in; needs Supabase SMTP + code template first (D-18)
Do not commit real secrets, tokens, passwords, API keys, webhook secrets, or connection strings.
npm run dev # start Next.js dev server
npm run build # production build
npm run start # start production server after build
npm run lint # eslint .
npm run typecheck # next build + tsc --noEmit
npm run test:seo # verify SEO config
npm run validate # typecheck + lint + build
Pushing to main deploys through Vercel.
Before pushing code changes:
origin/main.AGENTS.md for relevant verification; docs-only changes need reference
checks and git diff --check, while broad/risky code changes need npm run validate.Keep code, setup, agent instructions, current design/feature contracts, roadmap, changelog, and public-safe product direction and decision rationale here. Link historical material instead of maintaining competing current summaries.
Keep credentials, raw personal feedback, respondent portfolios, private contact lists and sensitive business data out of the public repo. The old vault has not been deleted, merged, or configured as read-only by this documentation change.