new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Multi-tenant SaaS that scores websites on AEO / GEO — how well AI answer engines
(ChatGPT, Perplexity, Google AI Overviews, …) can crawl, parse, and cite them.檢視完整 README ↗Multi-tenant SaaS that scores websites on AEO / GEO — how well AI answer engines (ChatGPT, Perplexity, Google AI Overviews, …) can crawl, parse, and cite them. Live at aiso-kappa.vercel.app.
A+ → F). Entry point: POST /api/scan.app/api/fix/).app/api/dashboard/clients/[clientId]/local-trust/, lib/localTrust/).app/api/pulse/, lib/pulse/). The producer route /api/cron/pulse drives
POST /api/pulse/run across configured platforms, and the dashboard's Monitor step
renders the results. Scheduling is via cloudflare/cron-worker/, not Vercel Cron (see
docs/runbooks/deploy-cron-worker.md).next-intl), billed through Stripe, deployed on Vercel.Stack: Next.js 16 (App Router) · TypeScript 5.9 · Neon Postgres + Neon Auth · Tailwind v4 · shadcn/ui · Vitest · Playwright.
Start with ARCHITECTURE.md for the system map, core-flow tests,
risks and next three engineering investments. Read CLAUDE.md before
writing code for detailed implementation rules.
Current project state (migrations, fences, scheduler) is in
docs/project-status.md.
engines in package.json)DATABASE_URL)npm ci
cp .env.example .env.local # then fill it in
npm run dev # http://localhost:3000
.env.example is the authoritative list. Each entry there says what breaks when it is
missing. The highlights:
| Variable | Notes |
|---|---|
DATABASE_URL | Neon connection string |
EXPECTED_NEON_PROJECT_ID | Required runtime DB binding expectation; also pin branch/role/database for the intended target |
NEON_AUTH_BASE_URL | Neon Auth issuer (runtime) |
NEON_AUTH_COOKIE_SECRET | ≥32 chars. Required when Neon Auth is used at runtime; auth is initialized lazily, so a successful build does not prove it is configured |
PUBLIC_SCAN_RATE_LIMIT_SECRET | ≥32 chars. Unset in production, every anonymous scan returns 503 — no local fallback is used there |
REPORT_SHARE_SECRET | ≥32 chars. Signs report share links and the scan-claim cookie |
STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET | without the webhook secret every Stripe event 400s and no subscription provisions |
STRIPE_PRICE_BASIC / STRIPE_PRICE_PRO / STRIPE_PRICE_ENTERPRISE | checkout guards these and 500s per plan; the webhook rejects unknown or ambiguous canonical prices with 400 |
OPENROUTER_API_KEY | LLM calls (lib/openrouter.ts) |
NEXT_PUBLIC_APP_URL | public origin; falls back to https://aiso-kappa.vercel.app (lib/app-origin.ts) |
N8N_SCAN_WEBHOOK_URL | n8n scan automation; unset = feature off |
Optional (have fallbacks): RESEND_FROM_EMAIL, WIKIPEDIA_USER_AGENT. More detail, including
cron secrets, E2E variables and dead variables:
docs/configuration.md.
npm run dev # dev server on localhost:3000
npm run build # production build
npm run start # serve the production build
npm run lint # ESLint
npm run test # unit + integration (see below)
npm run test:unit # unit only
npm run test:integration # default integration suite — requires neonctl
npm run typecheck # generated Next.js route types + TypeScript
npm run test:watch # Vitest watch mode
npm run e2e # Playwright E2E (needs a dev server, or START_DEV_SERVER=1)
npm run e2e:ui and npm run e2e:report are also available. CI is
.github/workflows/pr-gate.yml — a deterministic merge gate on every PR, running six job classes
(static, unit-contract, integration, e2e-accessibility, build, cloudflare-worker)
that a final pr-gate job aggregates. Still run build, lint, and test locally first;
the gate is the backstop, not the first signal.
neonctlThe integration suite provisions a real, disposable Neon branch per run, so it needs
neonctl on PATH and authenticated (npm i -g neonctl && neonctl auth, or NEON_API_KEY).
Without it, npm run test runs the unit suite and skips integration, printing a banner
that says so — twice, the second time after the run, so it cannot scroll out of view. A skip
is not a pass. Two cases never skip:
npm run test __tests__/integration/x.test.ts), andREQUIRE_INTEGRATION_TESTS=1 npm run test — this enforces execution of the default
integration suite. Run the exact-target wrapper below as well for CI-equivalent SQL coverage.SKIP_INTEGRATION_TESTS=1 opts out deliberately, with the same loud banner.
Database migrations live in supabase/migrations/ (the directory name is legacy — they are
applied against Neon). Apply them with npm run migrate (scripts/migrate.ts), which tracks
what has run in a schema_migrations ledger; --dry-run previews.
The default integration config excludes suites with dedicated target contracts. CI also
runs node scripts/ci/run-exact-target-suites.mjs to cover those on a disposable branch.
See docs/development.md for target requirements, fixture/browser
checks and the app/schema/Worker deployment sequence.
ARCHITECTURE.md — system boundaries, core-flow tests, risk map and investments
docs/development.md — runnable local checks and deployment procedure
CLAUDE.md — architecture, auth model, checks engine, DB notes, gotchas
docs/project-status.md — migration state, feature fences, scheduler
docs/configuration.md — environment variable details
docs/runbooks/public-scan-prerequisites.md —
migrations and secrets to apply before releasing public or authenticated scans
docs/runbooks/runtime-readiness.md — the manual
runtime readiness probe
docs/runbooks/schema-equivalence.md — the
schema-equivalence rehearsal
docs/runbooks/ — deploy, rotate, roll out and verify procedures
docs/ux/ — the UX rebuild, phase by phase, with evidence
docs/