尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Nuxt app for general-aviation aircraft valuations. Local development uses a Dockerized Supabase project — do not point .env at the hosted production database.
The Supabase CLI is a project devDependency. You do not need a global supabase install.
Add ANTHROPIC_API_KEY to .env. The Supabase URL and anon key in .env.example are the public local defaults.檢視完整 README ↗Nuxt app for general-aviation aircraft valuations. Local development uses a Dockerized Supabase project — do not point .env at the hosted production database.
The Supabase CLI is a project devDependency. You do not need a global supabase install.
npm install
cp .env.example .env
Add ANTHROPIC_API_KEY to .env. The Supabase URL and anon key in .env.example are the public local defaults.
Stripe env vars are required at process start (nuxt dev and the production server exit if they are missing). For local UI work, copy the placeholders from .env.test. Real Stripe test keys and Price IDs are only needed to click through hosted Checkout.
npm run db:start
npm run dev
App: http://localhost:3000
Studio: http://127.0.0.1:54323
Mailpit (local Auth emails / OTP): http://127.0.0.1:54324
Seeded N-numbers for lookup: 172SP, 22T, 182RG, 58P.
| Script | What it does |
|---|---|
npm run dev | Nuxt dev server |
npm run db:start | Start local Supabase |
npm run db:stop | Stop local Supabase |
npm run db:status | Print local URLs and keys |
npm run db:reset | Wipe the local DB, replay migrations, re-seed |
npm run db:push:staging | Apply supabase/migrations to hosted staging (wyggunstezdstrmblkhx). Requires npx supabase login as an account on that project. |
npm run db:push:prod | Apply migrations to hosted production (ogfaqdmhqwlysavooroo). Same login requirement. |
npm run db:config:sync | Merge config.shared.toml + config.local.toml → config.toml (Docker). |
npm run db:config:dump -- staging | Print the merged staging config (does not push). |
npm run db:config:push:staging | Merge shared + config.staging.toml and supabase config push to staging. Review the CLI diff. |
npm run db:config:push:prod | Same for production (config.prod.toml). |
npm run build | Production Nitro build (required before E2E) |
npm run start:e2e | node --env-file=.env.test .output/server/index.mjs on :3100 (used by Playwright) |
npm run test:e2e | Playwright against the built app (needs npm run build and npm run db:start) |
npm run test:e2e:snapshots | Visual + ARIA snapshot tests only |
npm run test:e2e:update-snapshots | Rewrite snapshot baselines after an intentional UI change |
npm run test:e2e:review-snapshots | Copy expected / actual / diff images into test-results/snapshot-review/ |
Snapshot tests lock the current HTML UI so a Nuxt rewrite can match it. Baselines live in tests/e2e/snapshots.spec.ts-snapshots/ and are generated on Linux Chromium — update them on Linux (or in CI) so they match GitHub Actions.
On a snapshot failure:
playwright-report/index.html (npx playwright show-report)npm run test:e2e:review-snapshots and compare the PNGs in test-results/snapshot-review/ (*-expected.png, *-actual.png, *-diff.png)SNAPSHOT_REVIEW=1 npm run test:e2e:snapshots -- --grep "marketing chrome" forces a known hero-text mismatch so you can see what a diff looks like.
db:start on a fresh machine pulls Docker images and can take a few minutes.
Hosted Auth settings are declared in git. See docs/supabase-config.md. FAA registry ingest (GitHub SUPABASE_PROJECTS) is in docs/faa-registry.md.